Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

X3DDisplayDevice Class Reference

FileRenderer subclass to export VMD scenes to X3D scene format. More...

#include <X3DDisplayDevice.h>

Inheritance diagram for X3DDisplayDevice:

FileRenderer DisplayDevice X3DOMDisplayDevice List of all members.

Public Methods

 X3DDisplayDevice (const char *public_name, const char *public_pretty_name, const char *default_file_name, const char *default_command_line)
 construct the renderer; set the 'visible' name for the renderer list. More...

 X3DDisplayDevice (void)
virtual void write_header (void)
 write the header info. This is an alias for prepare3D. More...

virtual void write_trailer (void)
 write any trailer info. This is called by update. More...


Protected Methods

virtual void write_cindexmaterial (int, int)
virtual void write_colormaterial (float *, int)
virtual void comment (const char *)
 Comment describing representation geometry. More...

virtual void cone (float *a, float *b, float rad, int)
 draw a single-radius cone (pointy top). More...

virtual void cylinder (float *a, float *b, float rad, int filled)
 draw a cylinder, with optional caps. More...

virtual void line (float *xyz1, float *xyz2)
 draw a line from a to b. More...

virtual void line_array (int num, float thickness, float *points)
 draw a set of lines with the same color and thickness. More...

virtual void point (float *xyz)
 draw an unlit point. More...

virtual void point_array (int num, float size, float *xyz, float *colors)
 draw an unlighted point array. More...

virtual void polyline_array (int num, float thickness, float *points)
 draw a set of connected lines with the same color and thickness. More...

virtual void sphere (float *xyzr)
 draw a sphere. More...

virtual void text (float *pos, float size, float thickness, const char *str)
 draw text at specified location. More...

virtual void triangle (const float *, const float *, const float *, const float *, const float *, const float *)
 single color triangle with interpolated surface normals. More...

virtual void tricolor (const float *xyz1, const float *xyz2, const float *xyz3, const float *n1, const float *n2, const float *n3, const float *c1, const float *c2, const float *c3)
 triangle with interpolated surface normals and vertex colors. More...

virtual void trimesh_c4n3v3 (int numverts, float *cnv, int numfacets, int *facets)
 triangle mesh built from a vertex array and facet vertex index arrays. More...

virtual void trimesh_c4u_n3b_v3f (unsigned char *c, signed char *n, float *v, int numfacets)
 triangle mesh built from a vertex array. More...

virtual void tristrip (int numverts, const float *cnv, int numstrips, const int *vertsperstrip, const int *facets)
 triangle strips built from a vertex array and vertex index arrays. More...

virtual void load (const Matrix4 &mat)
 load transofrmation matrix. More...

virtual void multmatrix (const Matrix4 &mat)
 concatenate transformation. More...

virtual void set_color (int color_index)
 set the colorID. More...


Detailed Description

FileRenderer subclass to export VMD scenes to X3D scene format.

Definition at line 40 of file X3DDisplayDevice.h.


Constructor & Destructor Documentation

X3DDisplayDevice::X3DDisplayDevice const char *    public_name,
const char *    public_pretty_name,
const char *    default_file_name,
const char *    default_command_line
 

construct the renderer; set the 'visible' name for the renderer list.

Definition at line 61 of file X3DDisplayDevice.C.

X3DDisplayDevice::X3DDisplayDevice void   
 

Definition at line 71 of file X3DDisplayDevice.C.


Member Function Documentation

void X3DDisplayDevice::comment const char *    s [protected, virtual]
 

Comment describing representation geometry.

Reimplemented from FileRenderer.

Definition at line 821 of file X3DDisplayDevice.C.

References FileRenderer::outfile.

void X3DDisplayDevice::cone float *    a,
float *    b,
float    r,
int   
[protected, virtual]
 

draw a single-radius cone (pointy top).

Reimplemented from FileRenderer.

Definition at line 512 of file X3DDisplayDevice.C.

References FileRenderer::colorIndex, cross_prod, distance, dot_prod, FileRenderer::materialIndex, FileRenderer::outfile, FileRenderer::scale_radius, Stack< Matrix4 >::top, FileRenderer::transMat, vec_normalize, vec_sub, and write_cindexmaterial.

void X3DDisplayDevice::cylinder float *    a,
float *    b,
float    rad,
int    filled
[protected, virtual]
 

draw a cylinder, with optional caps.

Reimplemented from FileRenderer.

Definition at line 443 of file X3DDisplayDevice.C.

References FileRenderer::scale_radius, Stack< Matrix4 >::top, and FileRenderer::transMat.

void X3DDisplayDevice::line float *    xyz1,
float *    xyz2
[protected, virtual]
 

draw a line from a to b.

Reimplemented from FileRenderer.

Definition at line 277 of file X3DDisplayDevice.C.

References FileRenderer::colorIndex, DASH_LENGTH, FileRenderer::lineStyle, FileRenderer::matData, FileRenderer::materialIndex, FileRenderer::outfile, Stack< Matrix4 >::top, FileRenderer::transMat, vec_copy, vec_normalize, vec_sub, and write_cindexmaterial.

void X3DDisplayDevice::line_array int    num,
float    thickness,
float *    points
[protected, virtual]
 

draw a set of lines with the same color and thickness.

Reimplemented from FileRenderer.

Reimplemented in X3DOMDisplayDevice.

Definition at line 348 of file X3DDisplayDevice.C.

References FileRenderer::colorIndex, FileRenderer::mat_ambient, FileRenderer::mat_diffuse, FileRenderer::matData, num, FileRenderer::outfile, Stack< Matrix4 >::top, and FileRenderer::transMat.

void X3DDisplayDevice::load const Matrix4   mat [protected, virtual]
 

load transofrmation matrix.

Reimplemented from FileRenderer.

Definition at line 817 of file X3DDisplayDevice.C.

References mat.

void X3DDisplayDevice::multmatrix const Matrix4   mat [protected, virtual]
 

concatenate transformation.

Reimplemented from FileRenderer.

Definition at line 813 of file X3DDisplayDevice.C.

References mat.

void X3DDisplayDevice::point float *    xyz [protected, virtual]
 

draw an unlit point.

Reimplemented from FileRenderer.

Definition at line 198 of file X3DDisplayDevice.C.

References FileRenderer::colorIndex, FileRenderer::mat_ambient, FileRenderer::mat_diffuse, FileRenderer::matData, FileRenderer::outfile, Stack< Matrix4 >::top, FileRenderer::transMat, and vec_copy.

void X3DDisplayDevice::point_array int    num,
float    size,
float *    xyz,
float *    colors
[protected, virtual]
 

draw an unlighted point array.

Reimplemented from FileRenderer.

Definition at line 233 of file X3DDisplayDevice.C.

References FileRenderer::mat_ambient, num, FileRenderer::outfile, size, Stack< Matrix4 >::top, and FileRenderer::transMat.

void X3DDisplayDevice::polyline_array int    num,
float    thickness,
float *    points
[protected, virtual]
 

draw a set of connected lines with the same color and thickness.

Reimplemented from FileRenderer.

Reimplemented in X3DOMDisplayDevice.

Definition at line 398 of file X3DDisplayDevice.C.

References FileRenderer::colorIndex, FileRenderer::mat_ambient, FileRenderer::mat_diffuse, FileRenderer::matData, num, FileRenderer::outfile, Stack< Matrix4 >::top, and FileRenderer::transMat.

void X3DDisplayDevice::set_color int    color_index [protected, virtual]
 

set the colorID.

Reimplemented from FileRenderer.

Definition at line 76 of file X3DDisplayDevice.C.

References FileRenderer::materialIndex, and write_cindexmaterial.

void X3DDisplayDevice::sphere float *    xyzr [protected, virtual]
 

draw a sphere.

Reimplemented from FileRenderer.

Definition at line 179 of file X3DDisplayDevice.C.

References FileRenderer::colorIndex, FileRenderer::materialIndex, FileRenderer::outfile, FileRenderer::scale_radius, Stack< Matrix4 >::top, FileRenderer::transMat, and write_cindexmaterial.

void X3DDisplayDevice::text float *    pos,
float    size,
float    thickness,
const char *    str
[protected, virtual]
 

draw text at specified location.

Reimplemented from FileRenderer.

Reimplemented in X3DOMDisplayDevice.

Definition at line 83 of file X3DDisplayDevice.C.

References ResizeArray::append, ResizeArray::append3, ResizeArray::clear, FileRenderer::colorIndex, hersheyDrawInitLetter, hersheyDrawNextLine, FileRenderer::mat_ambient, FileRenderer::mat_diffuse, FileRenderer::matData, ResizeArray::num, FileRenderer::outfile, size, Stack< Matrix4 >::top, FileRenderer::transMat, DisplayDevice::x, and DisplayDevice::y.

void X3DDisplayDevice::triangle const float *    a,
const float *    b,
const float *    c,
const float *    n1,
const float *    n2,
const float *    n3
[protected, virtual]
 

single color triangle with interpolated surface normals.

Reimplemented from FileRenderer.

Definition at line 562 of file X3DDisplayDevice.C.

References FileRenderer::colorIndex, FileRenderer::materialIndex, FileRenderer::outfile, Stack< Matrix4 >::top, FileRenderer::transMat, and write_cindexmaterial.

void X3DDisplayDevice::tricolor const float *    a,
const float *    b,
const float *    c,
const float *    n1,
const float *    n2,
const float *    n3,
const float *    c1,
const float *    c2,
const float *    c3
[protected, virtual]
 

triangle with interpolated surface normals and vertex colors.

Reimplemented from FileRenderer.

Definition at line 591 of file X3DDisplayDevice.C.

References FileRenderer::colorIndex, FileRenderer::materialIndex, FileRenderer::outfile, Stack< Matrix4 >::top, FileRenderer::transMat, and write_cindexmaterial.

void X3DDisplayDevice::trimesh_c4n3v3 int    numverts,
float *    cnv,
int    numfacets,
int *    facets
[protected, virtual]
 

triangle mesh built from a vertex array and facet vertex index arrays.

Reimplemented from FileRenderer.

Definition at line 625 of file X3DDisplayDevice.C.

References FileRenderer::colorIndex, FileRenderer::materialIndex, n, FileRenderer::outfile, Stack< Matrix4 >::top, FileRenderer::transMat, and write_cindexmaterial.

void X3DDisplayDevice::trimesh_c4u_n3b_v3f unsigned char *    c,
signed char *    n,
float *    v,
int    numfacets
[protected, virtual]
 

triangle mesh built from a vertex array.

Reimplemented from FileRenderer.

Definition at line 677 of file X3DDisplayDevice.C.

References FileRenderer::colorIndex, FileRenderer::materialIndex, n, FileRenderer::outfile, Stack< Matrix4 >::top, FileRenderer::transMat, and write_cindexmaterial.

void X3DDisplayDevice::tristrip int    numverts,
const float *    cnv,
int    numstrips,
const int *    vertsperstrip,
const int *    facets
[protected, virtual]
 

triangle strips built from a vertex array and vertex index arrays.

Reimplemented from FileRenderer.

Reimplemented in X3DOMDisplayDevice.

Definition at line 757 of file X3DDisplayDevice.C.

References FileRenderer::colorIndex, FileRenderer::materialIndex, n, FileRenderer::outfile, Stack< Matrix4 >::top, FileRenderer::transMat, and write_cindexmaterial.

void X3DDisplayDevice::write_cindexmaterial int   ,
int   
[protected, virtual]
 

Definition at line 894 of file X3DDisplayDevice.C.

References FileRenderer::matData, and write_colormaterial.

Referenced by cone, line, set_color, sphere, triangle, tricolor, trimesh_c4n3v3, trimesh_c4u_n3b_v3f, X3DOMDisplayDevice::tristrip, and tristrip.

void X3DDisplayDevice::write_colormaterial float *   ,
int   
[protected, virtual]
 

Definition at line 898 of file X3DDisplayDevice.C.

References FileRenderer::mat_ambient, FileRenderer::mat_diffuse, FileRenderer::mat_opacity, FileRenderer::mat_shininess, FileRenderer::mat_specular, and FileRenderer::outfile.

Referenced by write_cindexmaterial.

void X3DDisplayDevice::write_header void    [virtual]
 

write the header info. This is an alias for prepare3D.

Reimplemented from FileRenderer.

Definition at line 828 of file X3DDisplayDevice.C.

References DisplayDevice::Aspect, FileRenderer::backColor, FileRenderer::backgradientbotcolor, FileRenderer::backgradienttopcolor, DisplayDevice::backgroundmode, DisplayDevice::eyePos, FileRenderer::outfile, DisplayDevice::PERSPECTIVE, DisplayDevice::projection, VMD_PI, DisplayDevice::vSize, and DisplayDevice::zDist.

void X3DDisplayDevice::write_trailer void    [virtual]
 

write any trailer info. This is called by update.

Reimplemented from FileRenderer.

Definition at line 889 of file X3DDisplayDevice.C.

References FileRenderer::outfile.


The documentation for this class was generated from the following files:
Generated on Wed Apr 24 02:45:21 2024 for VMD (current) by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002