Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   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)
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 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 28 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 62 of file X3DDisplayDevice.C.

X3DDisplayDevice::X3DDisplayDevice void   
 

Definition at line 72 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 753 of file X3DDisplayDevice.C.

References FileRenderer::outfile.

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

Definition at line 515 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 446 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 280 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 351 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 749 of file X3DDisplayDevice.C.

References mat.

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

concatenate transformation.

Reimplemented from FileRenderer.

Definition at line 745 of file X3DDisplayDevice.C.

References mat.

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

draw an unlit point.

Reimplemented from FileRenderer.

Definition at line 201 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 236 of file X3DDisplayDevice.C.

References FileRenderer::mat_ambient, num, FileRenderer::outfile, 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 401 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 77 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 182 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 84 of file X3DDisplayDevice.C.

References ResizeArray::append, ResizeArray::clear, FileRenderer::colorIndex, hersheyDrawInitLetter, hersheyDrawNextLine, FileRenderer::mat_ambient, FileRenderer::mat_diffuse, FileRenderer::matData, ResizeArray::num, FileRenderer::outfile, 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 565 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 594 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 628 of file X3DDisplayDevice.C.

References FileRenderer::colorIndex, FileRenderer::materialIndex, 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 685 of file X3DDisplayDevice.C.

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

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

Definition at line 826 of file X3DDisplayDevice.C.

References FileRenderer::matData, and write_colormaterial.

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

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

Definition at line 830 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 760 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 821 of file X3DDisplayDevice.C.

References FileRenderer::outfile.


The documentation for this class was generated from the following files:
Generated on Sat May 26 01:49:36 2012 for VMD (current) by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002