Home | Download | Screen shots | Discussion | Documentation |
---|
Map the scene graph to the underlying graphics library. More...
#include <openvrml/viewer.h>
Public Types | |
enum | rendering_mode { draw_mode, pick_mode } |
The rendering mode. More... |
Public Member Functions | |
virtual | ~viewer ()=0 throw () |
Destroy. | |
rendering_mode | mode () |
Get the rendering mode. | |
double | frame_rate () |
Get the frame rate. | |
void | reset_user_navigation () |
Return view to the last bound Viewpoint. | |
void | begin_object (const char *id, bool retain=false) |
Begin a display list. | |
void | end_object () |
End a display list. | |
void | insert_background (const background_node &n) |
Insert a background into a display list. | |
void | insert_box (const geometry_node &n, const vec3f &size) |
Insert a box into a display list. | |
void | insert_cone (const geometry_node &n, float height, float radius, bool bottom, bool side) |
Insert a cone into a display list. | |
void | insert_cylinder (const geometry_node &n, float height, float radius, bool bottom, bool side, bool top) |
Insert a cylinder into a display list. | |
void | insert_elevation_grid (const geometry_node &n, unsigned int mask, const std::vector< float > &height, int32 x_dimension, int32 z_dimension, float x_spacing, float z_spacing, const std::vector< color > &color, const std::vector< vec3f > &normal, const std::vector< vec2f > &tex_coord) |
Insert an elevation grid into a display list. | |
void | insert_extrusion (const geometry_node &n, unsigned int mask, const std::vector< vec3f > &spine, const std::vector< vec2f > &cross_section, const std::vector< rotation > &orientation, const std::vector< vec2f > &scale) |
Insert an extrusion into a display list. | |
void | insert_line_set (const geometry_node &n, const std::vector< vec3f > &coord, const std::vector< int32 > &coord_index, bool color_per_vertex, const std::vector< color > &color, const std::vector< int32 > &color_index) |
Insert a line set into a display list. | |
void | insert_point_set (const geometry_node &n, const std::vector< vec3f > &coord, const std::vector< color > &color) |
Insert a point set into a display list. | |
void | insert_shell (const geometry_node &n, unsigned int mask, const std::vector< vec3f > &coord, const std::vector< int32 > &coord_index, const std::vector< color > &color, const std::vector< int32 > &color_index, const std::vector< vec3f > &normal, const std::vector< int32 > &normal_index, const std::vector< vec2f > &tex_coord, const std::vector< int32 > &tex_coord_index) |
Insert a shell into a display list. | |
void | insert_sphere (const geometry_node &n, float radius) |
Insert a sphere into a display list. | |
void | insert_dir_light (float ambient_intensity, float intensity, const color &color, const vec3f &direction) |
Insert a directional light into a display list. | |
void | insert_point_light (float ambient_intensity, const vec3f &attenuation, const color &color, float intensity, const vec3f &location, float radius) |
Insert a point light into a display list. | |
void | insert_spot_light (float ambient_intensity, const vec3f &attenuation, float beam_width, const color &color, float cut_off_angle, const vec3f &direction, float intensity, const vec3f &location, float radius) |
Insert a point light into a display list. | |
void | remove_object (const node &n) |
Remove an object from the display list. | |
void | enable_lighting (bool val) |
Enable/disable lighting. | |
void | set_fog (const color &color, float visibility_range, const char *type) |
Set the fog. | |
void | set_color (const color &rgb, float a=1.0) |
Set the color. | |
void | set_material (float ambient_intensity, const color &diffuse_color, const color &emissive_color, float shininess, const color &specular_color, float transparency) |
Set the material. | |
void | set_material_mode (size_t tex_components, bool geometry_color) |
Set the material mode. | |
void | set_sensitive (node *object) |
Indicate that a node should be sensitive to the pointing device. | |
void | insert_texture (const texture_node &n, bool retainHint=false) |
Create a texture object. | |
void | remove_texture_object (const texture_node &n) |
Remove a texture from the display list. | |
void | set_texture_transform (const vec2f ¢er, float rotation, const vec2f &scale, const vec2f &translation) |
Set the texture transform. | |
void | set_frustum (float field_of_view, float avatar_size, float visibility_limit) |
Set the frustum. | |
void | set_viewpoint (const vec3f &position, const rotation &orientation, float avatar_size, float visibility_limit) |
Set the viewpoint. | |
void | transform (const mat4f &mat) |
Transform the modelview. | |
void | transform_points (size_t nPoints, vec3f *point) const |
Transform points by the current modelview matrix. | |
const openvrml::frustum & | frustum () const |
The frustum. | |
void | frustum (const openvrml::frustum &f) |
Set the frustum. | |
bounding_volume::intersection | intersect_view_volume (const bounding_volume &bvolume) const |
Intersect the given bounding volume with the view volume. | |
void | draw_bounding_sphere (const bounding_sphere &bs, bounding_volume::intersection intersection) |
Draw a bounding sphere. |
Protected Member Functions | |
viewer () throw () | |
Construct. | |
virtual bounding_volume::intersection | do_intersect_view_volume (const bounding_volume &bvolume) const |
Intersect the given bounding volume with the view volume. | |
virtual const openvrml::frustum & | do_frustum () const |
virtual void | do_frustum (const openvrml::frustum &f) |
Set the frustum. |
Protected Attributes | |
openvrml::frustum | frustum_ |
The frustum. |
Private Member Functions | |
virtual rendering_mode | do_mode ()=0 |
Get the rendering mode. | |
virtual double | do_frame_rate ()=0 |
Get the frame rate. | |
virtual void | do_reset_user_navigation ()=0 |
Return view to the last bound Viewpoint. | |
virtual void | do_begin_object (const char *id, bool retain=false)=0 |
Begin a display list. | |
virtual void | do_end_object ()=0 |
End a display list. | |
virtual void | do_insert_background (const background_node &n)=0 |
Insert a background into a display list. | |
virtual void | do_insert_box (const geometry_node &n, const vec3f &size)=0 |
Insert a box into a display list. | |
virtual void | do_insert_cone (const geometry_node &n, float height, float radius, bool bottom, bool side)=0 |
Insert a cone into a display list. | |
virtual void | do_insert_cylinder (const geometry_node &n, float height, float radius, bool bottom, bool side, bool top)=0 |
Insert a cylinder into a display list. | |
virtual void | do_insert_elevation_grid (const geometry_node &n, unsigned int mask, const std::vector< float > &height, int32 x_dimension, int32 z_dimension, float x_spacing, float z_spacing, const std::vector< color > &color, const std::vector< vec3f > &normal, const std::vector< vec2f > &tex_coord)=0 |
Insert an elevation grid into a display list. | |
virtual void | do_insert_extrusion (const geometry_node &n, unsigned int mask, const std::vector< vec3f > &spine, const std::vector< vec2f > &cross_section, const std::vector< rotation > &orientation, const std::vector< vec2f > &scale)=0 |
Insert an extrusion into a display list. | |
virtual void | do_insert_line_set (const geometry_node &n, const std::vector< vec3f > &coord, const std::vector< int32 > &coord_index, bool color_per_vertex, const std::vector< color > &color, const std::vector< int32 > &color_index)=0 |
Insert a line set into a display list. | |
virtual void | do_insert_point_set (const geometry_node &n, const std::vector< vec3f > &coord, const std::vector< color > &color)=0 |
Insert a point set into a display list. | |
virtual void | do_insert_shell (const geometry_node &n, unsigned int mask, const std::vector< vec3f > &coord, const std::vector< int32 > &coord_index, const std::vector< color > &color, const std::vector< int32 > &color_index, const std::vector< vec3f > &normal, const std::vector< int32 > &normal_index, const std::vector< vec2f > &tex_coord, const std::vector< int32 > &tex_coord_index)=0 |
Insert a shell into a display list. | |
virtual void | do_insert_sphere (const geometry_node &n, float radius)=0 |
Insert a sphere into a display list. | |
virtual void | do_insert_dir_light (float ambient_intensity, float intensity, const color &color, const vec3f &direction)=0 |
Insert a directional light into a display list. | |
virtual void | do_insert_point_light (float ambient_intensity, const vec3f &attenuation, const color &color, float intensity, const vec3f &location, float radius)=0 |
Insert a point light into a display list. | |
virtual void | do_insert_spot_light (float ambient_intensity, const vec3f &attenuation, float beam_width, const color &color, float cut_off_angle, const vec3f &direction, float intensity, const vec3f &location, float radius)=0 |
Insert a point light into a display list. | |
virtual void | do_remove_object (const node &ref)=0 |
Remove an object from the display list. | |
virtual void | do_enable_lighting (bool val)=0 |
Enable/disable lighting. | |
virtual void | do_set_fog (const color &color, float visibility_range, const char *type)=0 |
Set the fog. | |
virtual void | do_set_color (const color &rgb, float a=1.0)=0 |
Set the color. | |
virtual void | do_set_material (float ambient_intensity, const color &diffuse_color, const color &emissive_color, float shininess, const color &specular_color, float transparency)=0 |
Set the material. | |
virtual void | do_set_material_mode (size_t tex_components, bool geometry_color)=0 |
Set the material mode. | |
virtual void | do_set_sensitive (node *object)=0 |
Indicate that a node should be sensitive to the pointing device. | |
virtual void | do_insert_texture (const texture_node &n, bool retainHint)=0 |
Create a texture object. | |
virtual void | do_remove_texture_object (const texture_node &ref)=0 |
Remove a texture from the display list. | |
virtual void | do_set_texture_transform (const vec2f ¢er, float rotation, const vec2f &scale, const vec2f &translation)=0 |
Set the texture transform. | |
virtual void | do_set_frustum (float field_of_view, float avatar_size, float visibility_limit)=0 |
Set the frustum. | |
virtual void | do_set_viewpoint (const vec3f &position, const rotation &orientation, float avatar_size, float visibility_limit)=0 |
Set the viewpoint. | |
virtual void | do_transform (const mat4f &mat)=0 |
Transform the modelview. | |
virtual void | do_transform_points (size_t nPoints, vec3f *point) const =0 |
Transform points by the current modelview matrix. | |
virtual void | do_draw_bounding_sphere (const bounding_sphere &bs, bounding_volume::intersection intersection)=0 |
Draw a bounding sphere. |
Private Attributes | |
openvrml::browser * | browser_ |
A pointer to the browser with which the viewer is currently associated. |
Map the scene graph to the underlying graphics library.
|
pure virtual |
Destroy.
Implemented in openvrml::gl::viewer.
|
protected |
Construct.
Reimplemented in openvrml::gl::viewer.
openvrml::viewer::rendering_mode openvrml::viewer::mode | ( | ) |
double openvrml::viewer::frame_rate | ( | ) |
void openvrml::viewer::reset_user_navigation | ( | ) |
Return view to the last bound Viewpoint.
This function delegates to viewer::do_reset_user_navigation
.
void openvrml::viewer::begin_object | ( | const char * | id, |
bool | retain = false |
||
) |
Begin a display list.
[in] | id | object identifier. |
[in] | retain | whether the object should be retained for reuse. |
This function delegates to viewer::do_begin_object
.
void openvrml::viewer::end_object | ( | ) |
End a display list.
This function delegates to viewer::do_end_object
.
void openvrml::viewer::insert_background | ( | const background_node & | n | ) |
Insert a background into a display list.
This function delegates to viewer::do_insert_background
.
[in] | n | a background_node . |
void openvrml::viewer::insert_box | ( | const geometry_node & | n, |
const vec3f & | size | ||
) |
Insert a box into a display list.
This function delegates to viewer::do_insert_box
.
[in] | n | the geometry_node corresponding to the box. |
[in] | size | box dimensions. |
void openvrml::viewer::insert_cone | ( | const geometry_node & | n, |
float | height, | ||
float | radius, | ||
bool | bottom, | ||
bool | side | ||
) |
Insert a cone into a display list.
This function delegates to viewer::do_insert_cone
.
[in] | n | the geometry_node corresponding to the cone. |
[in] | height | height. |
[in] | radius | radius at base. |
[in] | bottom | show the bottom. |
[in] | side | show the side. |
void openvrml::viewer::insert_cylinder | ( | const geometry_node & | n, |
float | height, | ||
float | radius, | ||
bool | bottom, | ||
bool | side, | ||
bool | top | ||
) |
Insert a cylinder into a display list.
This function delegates to viewer::do_insert_cylinder
.
[in] | n | the geometry_node corresponding to the cylinder. |
[in] | height | height. |
[in] | radius | radius. |
[in] | bottom | show the bottom. |
[in] | side | show the side. |
[in] | top | show the top. |
void openvrml::viewer::insert_elevation_grid | ( | const geometry_node & | n, |
unsigned int | mask, | ||
const std::vector< float > & | height, | ||
int32 | x_dimension, | ||
int32 | z_dimension, | ||
float | x_spacing, | ||
float | z_spacing, | ||
const std::vector< color > & | color, | ||
const std::vector< vec3f > & | normal, | ||
const std::vector< vec2f > & | tex_coord | ||
) |
Insert an elevation grid into a display list.
This function delegates to viewer::do_insert_elevation_grid
.
[in] | n | the geometry_node corresponding to the elevation grid. |
[in] | mask | |
[in] | height | height field. |
[in] | x_dimension | vertices in the x direction. |
[in] | z_dimension | vertices in the z direction. |
[in] | x_spacing | distance between vertices in the x direction. |
[in] | z_spacing | distance between vertices in the z direction. |
[in] | color | colors. |
[in] | normal | normals. |
[in] | tex_coord | texture coordinates. |
void openvrml::viewer::insert_extrusion | ( | const geometry_node & | n, |
unsigned int | mask, | ||
const std::vector< vec3f > & | spine, | ||
const std::vector< vec2f > & | cross_section, | ||
const std::vector< rotation > & | orientation, | ||
const std::vector< vec2f > & | scale | ||
) |
Insert an extrusion into a display list.
This function delegates to viewer::do_insert_extrusion
.
[in] | n | the geometry_node corresponding to the extrusion. |
[in] | mask | |
[in] | spine | spine points. |
[in] | cross_section | cross-sections. |
[in] | orientation | cross-section orientations. |
[in] | scale | cross-section scales. |
void openvrml::viewer::insert_line_set | ( | const geometry_node & | n, |
const std::vector< vec3f > & | coord, | ||
const std::vector< int32 > & | coord_index, | ||
bool | color_per_vertex, | ||
const std::vector< color > & | color, | ||
const std::vector< int32 > & | color_index | ||
) |
Insert a line set into a display list.
This function delegates to viewer::do_insert_line_set
.
[in] | n | the geometry_node corresponding to the line set. |
[in] | coord | coordinates. |
[in] | coord_index | coordinate indices. |
[in] | color_per_vertex | whether colors are applied per-vertex or per-face. |
[in] | color | colors. |
[in] | color_index | color indices. |
void openvrml::viewer::insert_point_set | ( | const geometry_node & | n, |
const std::vector< vec3f > & | coord, | ||
const std::vector< color > & | color | ||
) |
Insert a point set into a display list.
This function delegates to viewer::insert_point_set
.
[in] | n | the geometry_node corresponding to the point set. |
[in] | coord | points. |
[in] | color | colors. |
void openvrml::viewer::insert_shell | ( | const geometry_node & | n, |
unsigned int | mask, | ||
const std::vector< vec3f > & | coord, | ||
const std::vector< int32 > & | coord_index, | ||
const std::vector< color > & | color, | ||
const std::vector< int32 > & | color_index, | ||
const std::vector< vec3f > & | normal, | ||
const std::vector< int32 > & | normal_index, | ||
const std::vector< vec2f > & | tex_coord, | ||
const std::vector< int32 > & | tex_coord_index | ||
) |
Insert a shell into a display list.
This function delegates to viewer::do_insert_shell
.
[in] | n | the geometry_node corresponding to the shell. |
[in] | mask | |
[in] | coord | coordinates. |
[in] | coord_index | coordinate indices. |
[in] | color | colors. |
[in] | color_index | color indices. |
[in] | normal | normals. |
[in] | normal_index | normal indices. |
[in] | tex_coord | texture coordinates. |
[in] | tex_coord_index | texture coordinate indices. |
void openvrml::viewer::insert_sphere | ( | const geometry_node & | n, |
float | radius | ||
) |
Insert a sphere into a display list.
This function delegates to viewer::do_insert_sphere
.
[in] | n | the geometry_node corresponding to the sphere. |
[in] | radius | sphere radius. |
void openvrml::viewer::insert_dir_light | ( | float | ambient_intensity, |
float | intensity, | ||
const color & | color, | ||
const vec3f & | direction | ||
) |
Insert a directional light into a display list.
This function delegates to viewer::do_insert_dir_light
.
[in] | ambient_intensity | ambient intensity. |
[in] | intensity | intensity. |
[in] | color | color. |
[in] | direction | direction. |
void openvrml::viewer::insert_point_light | ( | float | ambient_intensity, |
const vec3f & | attenuation, | ||
const color & | color, | ||
float | intensity, | ||
const vec3f & | location, | ||
float | radius | ||
) |
Insert a point light into a display list.
This function delegates to viewer::do_insert_point_light
.
[in] | ambient_intensity | ambient intensity. |
[in] | attenuation | attenuation. |
[in] | color | color. |
[in] | intensity | intensity. |
[in] | location | location. |
[in] | radius | radius. |
void openvrml::viewer::insert_spot_light | ( | float | ambient_intensity, |
const vec3f & | attenuation, | ||
float | beam_width, | ||
const color & | color, | ||
float | cut_off_angle, | ||
const vec3f & | direction, | ||
float | intensity, | ||
const vec3f & | location, | ||
float | radius | ||
) |
Insert a point light into a display list.
This function delegates to viewer::do_insert_spot_light
.
[in] | ambient_intensity | ambient intensity. |
[in] | attenuation | attenuation. |
[in] | beam_width | beam width. |
[in] | color | color. |
[in] | cut_off_angle | cut-off angle. |
[in] | direction | direction. |
[in] | intensity | intensity. |
[in] | location | location. |
[in] | radius | radius. |
void openvrml::viewer::remove_object | ( | const node & | ref | ) |
Remove an object from the display list.
This function delegates to viewer::do_remove_object
.
[in] | ref | object handle. |
void openvrml::viewer::enable_lighting | ( | bool | val | ) |
Enable/disable lighting.
This function delegates to viewer::do_enable_lighting
.
[in] | val | whether lighting should be enabled. |
void openvrml::viewer::set_fog | ( | const color & | color, |
float | visibility_range, | ||
const char * | type | ||
) |
Set the fog.
This function delegates to viewer::do_set_fog
.
[in] | color | fog color. |
[in] | visibility_range | the distance at which objects are fully obscured by fog. |
[in] | type | fog type. |
void openvrml::viewer::set_color | ( | const color & | rgb, |
float | a = 1.0 |
||
) |
Set the color.
This function delegates to viewer::do_set_color
.
[in] | rgb | red, green, and blue components. |
[in] | a | alpha (transparency) component. |
void openvrml::viewer::set_material | ( | float | ambient_intensity, |
const color & | diffuse_color, | ||
const color & | emissive_color, | ||
float | shininess, | ||
const color & | specular_color, | ||
float | transparency | ||
) |
Set the material.
This function delegates to viewer::do_set_material
.
[in] | ambient_intensity | ambient intensity. |
[in] | diffuse_color | diffuse color. |
[in] | emissive_color | emissive color. |
[in] | shininess | shininess. |
[in] | specular_color | specular color. |
[in] | transparency | transparency. |
void openvrml::viewer::set_material_mode | ( | size_t | tex_components, |
bool | geometry_color | ||
) |
Set the material mode.
This function delegates to viewer::do_set_material_mode
.
[in] | tex_components | texture components. |
[in] | geometry_color | geometry color. |
void openvrml::viewer::set_sensitive | ( | node * | object | ) |
Indicate that a node should be sensitive to the pointing device.
This function delegates to viewer::do_set_sensitive
.
[in] | object | a node. |
void openvrml::viewer::insert_texture | ( | const texture_node & | n, |
bool | retainHint = false |
||
) |
Create a texture object.
This function delegates to viewer::do_insert_texture
.
[in] | n | a texture_node . |
[in] | retainHint | whether the texture is likely to be reused. |
void openvrml::viewer::remove_texture_object | ( | const texture_node & | ref | ) |
Remove a texture from the display list.
This function delegates to viewer::do_remove_texture_object
.
[in] | ref | texture handle. |
void openvrml::viewer::set_texture_transform | ( | const vec2f & | center, |
float | rotation, | ||
const vec2f & | scale, | ||
const vec2f & | translation | ||
) |
Set the texture transform.
This function delegates to viewer::do_set_texture_transform
.
[in] | center | center. |
[in] | rotation | rotation. |
[in] | scale | scale. |
[in] | translation | translation. |
void openvrml::viewer::set_frustum | ( | float | field_of_view, |
float | avatar_size, | ||
float | visibility_limit | ||
) |
Set the frustum.
This function delegates to viewer::do_set_frustum
.
[in] | field_of_view | field of view. |
[in] | avatar_size | avatar size. |
[in] | visibility_limit | visibility limit. |
void openvrml::viewer::set_viewpoint | ( | const vec3f & | position, |
const rotation & | orientation, | ||
float | avatar_size, | ||
float | visibility_limit | ||
) |
Set the viewpoint.
This function delegates to viewer::do_set_viewpoint
.
[in] | position | position. |
[in] | orientation | orientation. |
[in] | avatar_size | avatar size. |
[in] | visibility_limit | visiblity limit. |
void openvrml::viewer::transform | ( | const mat4f & | mat | ) |
Transform the modelview.
Make the modelview matrix the result of multiplying mat
by the current modelview matrix.
This function delegates to viewer::do_transform
.
[in] | mat | transformation matrix. |
void openvrml::viewer::transform_points | ( | size_t | nPoints, |
vec3f * | point | ||
) | const |
Transform points
by the current modelview matrix.
This function delegates to viewer::do_transform_points
.
[in] | nPoints | number of points. |
[in] | point | pointer to the first point in an array. |
const openvrml::frustum & openvrml::viewer::frustum | ( | ) | const |
void openvrml::viewer::frustum | ( | const openvrml::frustum & | f | ) |
Set the frustum.
This function delegates to viewer::do_frustum(const openvrml::frustum &)
.
[in] | f | new frustum value. |
openvrml::bounding_volume::intersection openvrml::viewer::intersect_view_volume | ( | const bounding_volume & | bvolume | ) | const |
Intersect the given bounding volume with the view volume.
This function delegates to viewer::do_intersect_view_volume
.
[in] | bvolume | the bounding volume to intersect with the view volume. |
void openvrml::viewer::draw_bounding_sphere | ( | const bounding_sphere & | bs, |
bounding_volume::intersection | intersection | ||
) |
Draw a bounding sphere.
Used for debugging view culling. Probably should be draw_bounding_volume and handle axis_aligned_bounding_boxes as well.
This function delegates to viewer::do_draw_bounding_sphere
.
[in] | bs | a bounding sphere; if max, will not be drawn |
[in] | intersection | one of the bvolume intersection test constants, or 4 to draw in unique way. (useful for debugging) |
|
protectedvirtual |
Intersect the given bounding volume with the view volume.
This goes into the viewer to provide a hook for systems that use nonstandard view volumes. Most subclasses should be able to use the default implementation provided here. If your view volume is so strange that there's no way to cull to it, then reimplement to return bounding_volume::inside
always.
[in] | bvolume | the bounding volume to intersect with the view volume. |
|
protectedvirtual |
|
protectedvirtual |
Set the frustum.
[in] | f | new frustum value. |
|
privatepure virtual |
Get the rendering mode.
|
privatepure virtual |
Get the frame rate.
|
privatepure virtual |
Return view to the last bound Viewpoint.
|
privatepure virtual |
Begin a display list.
[in] | id | object identifier. |
[in] | retain | whether the object should be retained for reuse. |
|
privatepure virtual |
End a display list.
|
privatepure virtual |
Insert a background into a display list.
[in] | n | a background_node . |
|
privatepure virtual |
Insert a box into a display list.
[in] | n | the geometry_node corresponding to the box. |
[in] | size | box dimensions. |
|
privatepure virtual |
Insert a cone into a display list.
[in] | n | the geometry_node corresponding to the cone. |
[in] | height | height. |
[in] | radius | radius at base. |
[in] | bottom | show the bottom. |
[in] | side | show the side. |
|
privatepure virtual |
Insert a cylinder into a display list.
[in] | n | the geometry_node corresponding to the cylinder. |
[in] | height | height. |
[in] | radius | radius. |
[in] | bottom | show the bottom. |
[in] | side | show the side. |
[in] | top | show the top. |
|
privatepure virtual |
Insert an elevation grid into a display list.
[in] | n | the geometry_node corresponding to the elevation grid. |
[in] | mask | |
[in] | height | height field. |
[in] | x_dimension | vertices in the x direction. |
[in] | z_dimension | vertices in the z direction. |
[in] | x_spacing | distance between vertices in the x direction. |
[in] | z_spacing | distance between vertices in the z direction. |
[in] | color | colors. |
[in] | normal | normals. |
[in] | tex_coord | texture coordinates. |
|
privatepure virtual |
Insert an extrusion into a display list.
[in] | n | the geometry_node corresponding to the extrusion. |
[in] | mask | |
[in] | spine | spine points. |
[in] | cross_section | cross-sections. |
[in] | orientation | cross-section orientations. |
[in] | scale | cross-section scales. |
|
privatepure virtual |
Insert a line set into a display list.
[in] | n | the geometry_node corresponding to the line set. |
[in] | coord | coordinates. |
[in] | coord_index | coordinate indices. |
[in] | color_per_vertex | whether colors are applied per-vertex or per-face. |
[in] | color | colors. |
[in] | color_index | color indices. |
|
privatepure virtual |
Insert a point set into a display list.
[in] | n | the geometry_node corresponding to the point set. |
[in] | coord | points. |
[in] | color | colors. |
|
privatepure virtual |
Insert a shell into a display list.
[in] | n | the geometry_node corresponding to the shell. |
[in] | mask | |
[in] | coord | coordinates. |
[in] | coord_index | coordinate indices. |
[in] | color | colors. |
[in] | color_index | color indices. |
[in] | normal | normals. |
[in] | normal_index | normal indices. |
[in] | tex_coord | texture coordinates. |
[in] | tex_coord_index | texture coordinate indices. |
|
privatepure virtual |
Insert a sphere into a display list.
[in] | n | the geometry_node corresponding to the sphere. |
[in] | radius | sphere radius. |
|
privatepure virtual |
Insert a directional light into a display list.
[in] | ambient_intensity | ambient intensity. |
[in] | intensity | intensity. |
[in] | color | color. |
[in] | direction | direction. |
|
privatepure virtual |
Insert a point light into a display list.
[in] | ambient_intensity | ambient intensity. |
[in] | attenuation | attenuation. |
[in] | color | color. |
[in] | intensity | intensity. |
[in] | location | location. |
[in] | radius | radius. |
|
privatepure virtual |
Insert a point light into a display list.
[in] | ambient_intensity | ambient intensity. |
[in] | attenuation | attenuation. |
[in] | beam_width | beam width. |
[in] | color | color. |
[in] | cut_off_angle | cut-off angle. |
[in] | direction | direction. |
[in] | intensity | intensity. |
[in] | location | location. |
[in] | radius | radius. |
|
privatepure virtual |
Remove an object from the display list.
[in] | ref | object handle. |
|
privatepure virtual |
Enable/disable lighting.
[in] | val | whether lighting should be enabled. |
|
privatepure virtual |
Set the fog.
[in] | color | fog color. |
[in] | visibility_range | the distance at which objects are fully obscured by fog. |
[in] | type | fog type. |
|
privatepure virtual |
Set the color.
[in] | rgb | red, green, and blue components. |
[in] | a | alpha (transparency) component. |
|
privatepure virtual |
Set the material.
[in] | ambient_intensity | ambient intensity. |
[in] | diffuse_color | diffuse color. |
[in] | emissive_color | emissive color. |
[in] | shininess | shininess. |
[in] | specular_color | specular color. |
[in] | transparency | transparency. |
|
privatepure virtual |
Set the material mode.
[in] | tex_components | texture components. |
[in] | geometry_color | geometry color. |
|
privatepure virtual |
Indicate that a node should be sensitive to the pointing device.
[in] | object | a node. |
|
privatepure virtual |
Create a texture object.
[in] | n | a texture_node . |
[in] | retainHint | whether the texture is likely to be reused. |
|
privatepure virtual |
Remove a texture from the display list.
[in] | ref | a texture_node . |
|
privatepure virtual |
Set the texture transform.
[in] | center | center. |
[in] | rotation | rotation. |
[in] | scale | scale. |
[in] | translation | translation. |
|
privatepure virtual |
Set the frustum.
[in] | field_of_view | field of view. |
[in] | avatar_size | avatar size. |
[in] | visibility_limit | visibility limit. |
|
privatepure virtual |
Set the viewpoint.
[in] | position | position. |
[in] | orientation | orientation. |
[in] | avatar_size | avatar size. |
[in] | visibility_limit | visiblity limit. |
|
privatepure virtual |
Transform the modelview.
Make the modelview matrix the result of multiplying mat
by the current modelview matrix.
[in] | mat | transformation matrix. |
|
privatepure virtual |
Transform points
by the current modelview matrix.
[in] | nPoints | number of points. |
[in] | point | pointer to the first point in an array. |
|
privatepure virtual |
Draw a bounding sphere.
Used for debugging view culling. Probably should be draw_bounding_volume and handle axis_aligned_bounding_boxes as well.
[in] | bs | a bounding sphere; if max, will not be drawn |
[in] | intersection | one of the bvolume intersection test constants, or 4 to draw in unique way. (useful for debugging) |
|
private |
A pointer to the browser
with which the viewer
is currently associated.
|
protected |
The frustum.