_Surface Class Reference

#include <_Surface.h>

Inheritance diagram for _Surface:

Polygon Leaf Geometry SceneGraphObject ESGObject ESGObject OSGPolygon List of all members.

Public Types

enum  edgeProjection { XY, YZ, XZ, NONE_PROJ }
typedef unsigned OID

Public Member Functions

 _Surface (Vector3 *, Vector3 *, Vector2 *, unsigned, const unsigned *, const unsigned *, const unsigned *, const Vector3 &, bool)
 _Surface (Vector3 *, Vector3 *, Vector2 *, unsigned, const unsigned *, const unsigned *, const unsigned *)
virtual ~_Surface ()
virtual void setSharedGeometry (AutoPtr< Geometry > *)
virtual void setPrivateGeometry (Geometry *)
virtual void setSharedEmittance (AutoPtr< Emittance > *)
virtual void setPrivateEmittance (Emittance *)
virtual void setSharedBRDF (AutoPtr< BRDF > *)
virtual void setPrivateBRDF (BRDF *)
virtual void setSharedTransformation (AutoPtr< Transform > *)
virtual void setPrivateTransformation (Transform *)
virtual void appendSharedMaterial (AutoPtr< Material > *)
virtual void appendPrivateMaterial (Material *)
virtual void appendSharedAttribute (AutoPtr< SGAttribute > *)
virtual void appendPrivateAttribute (SGAttribute *)
virtual Geometrygeometry (void)
virtual Emittanceemittance (void)
virtual BRDFbrdf (void)
virtual Transformtransformation (void)
virtual Texturetexture (void)
virtual const Geometrygeometry (void) const
virtual const Emittanceemittance (void) const
virtual const BRDFbrdf (void) const
virtual const Transformtransformation (void) const
virtual const Texturetexture (void) const
virtual SceneGraphObjectclone (void) const
virtual Geometryclone (const Matrix4 *) const
virtual void dump (const char *, const char *)
virtual Vector3 getVertex (unsigned) const
virtual Vector3 getVertNormal (unsigned) const
virtual Vector2 getVertUVCoord (unsigned) const
virtual bool haveVertNormals (void) const
virtual bool haveVertUVCoords (void) const
virtual void __debug (void)
virtual void rayIntersection (PointEnv *pPE, int mask, const Vector3 &origin, const Vector3 &direction, float maxD=MAXFLOAT)
virtual bool mapToUV (const Vector3 &v, Vector2 &uv)
virtual void randomSample (int mask, PointEnv &pe, double *pdf)
virtual bool randomDirection (const Vector3 &pov, Vector3 &dir, double *pdf)
virtual Interval extent (const Vector3 &direction) const
Interval extent (float x, float y, float z) const
virtual Vector3 centroid (void) const
virtual double radius (const Vector3 &centroid) const
virtual double radius (void) const
virtual bool separation (Geometry &geom, Vector3 *pDir)
virtual double distance (const Geometry &geom, Vector3 *pDir)
bool pointInsidePolygon (const Vector3 &p, Vector3 *n, Vector2 *u)
virtual Vector3 getFacetNormal (void) const
virtual bool haveFixedNormal (void) const
virtual unsigned numVertices (void) const
virtual double getFXYZ (void) const
virtual edgeProjection getEdgeProjection (void) const
bool setVertices (const Vector3 *va, unsigned n)
bool setNormals (const Vector3 *na)
bool setUVCoords (const Vector2 *uva)
void setFacetNormal (const Vector3 &norm, bool fixedn)
void insideOut (bool b)
Meshmesh (int density=0) const
virtual bool hasSubnodes (void) const
virtual IteratorSDStraverseSubnodes (void) const
void setOID (OID oid=0)
OID getOID () const
void setName (const char *name="")
const char * getName (void) const
virtual void setSharedDiffuseBRDF (AutoPtr< DiffuseBRDF > *)
virtual void setPrivateDiffuseBRDF (DiffuseBRDF *)
virtual void setSharedSpecularBRDF (AutoPtr< SpecularBRDF > *)
virtual void setPrivateSpecularBRDF (SpecularBRDF *)
virtual void setSharedTexture (AutoPtr< Texture > *)
virtual void setPrivateTexture (Texture *)
virtual DiffuseBRDFdiffuseBRDF (void)
virtual const DiffuseBRDFdiffuseBRDF (void) const
virtual SpecularBRDFspecularBRDF (void)
virtual const SpecularBRDFspecularBRDF (void) const
void inspectMaterials (Visitor &)
void inspectAttributes (Visitor &)
virtual bool supportsEnergy (void)
virtual AutoPtr< EnergyCoat > * getEnergyState (void)
virtual void setEnergyState (AutoPtr< EnergyCoat > *e)
virtual bool tangible (void) const

Static Public Attributes

static const float EPS = 1e-03
 epsilon variation (tolerance) of zero

Protected Member Functions

virtual Mesh_mesh (int) const
virtual void _duplicate_attributes (const SceneGraphObject &)
virtual void _duplicate_attributes (const Geometry &)
virtual Vector3 _get_vertex (unsigned) const
virtual Vector3 _get_vert_normal (unsigned) const
virtual Vector2 _get_vert_uv_coord (unsigned) const
virtual void _rotateX (float)
virtual void _rotateY (float)
virtual void _rotateZ (float)
virtual void _rotate (float, const Vector3 &)
virtual void _rotate (const Matrix3 &)
virtual void _translate (float, float, float)
virtual void _transform (const Matrix4 &)
virtual void _scale (float)
 _Surface ()
virtual Vector3 _get_facet_normal (void) const
void _translate (const Vector3 &v)
void _set_edge_projection (void)
double * _precompute_proj (void))[6];bool_separation_by_plane(const Geometry &) const ;bool_separation_by_edges(Geometry &) const ;bool_point_inside_polygon(const Vector3 &, Vector3 *, Vector2 *
bool _coplanar_tri_collision (Polygon &, const Vector3 &v0, const Vector3 &v1, const Vector3 &v2, const Vector3 &u0, const Vector3 &u1, const Vector3 &u2)
int _triTriCollision (Polygon &)
bool _have_private_geometry (void) const
bool _have_shared_geometry (void) const
bool _have_geometry (void) const
bool _have_private_emittance (void) const
bool _have_shared_emittance (void) const
bool _have_emittance (void) const
bool _have_private_diff_brdf (void) const
bool _have_shared_diff_brdf (void) const
bool _have_private_spec_brdf (void) const
bool _have_shared_spec_brdf (void) const
bool _have_diff_brdf (void) const
bool _have_spec_brdf (void) const
bool _have_private_transformation (void) const
bool _have_shared_transformation (void) const
bool _have_transformation (void) const
bool _have_private_texture (void) const
bool _have_shared_texture (void) const
bool _have_texture (void) const

Protected Attributes

unsigned * _vindices
 Array of indices to (global) array of vertices.
unsigned * _nindices
 Array of indices to (global) array of normals.
unsigned * _uvindices
 Array of indices to (global) array of UV coords.
Vector3_vertices
 array of vertices
Vector3_normals
 vertex normals, can be NULL
Vector2_uvCoords
 UV coordinates (e.g. texture coords.).
unsigned _nVert
 number of polygon's vertices
Vector3 _normal
 facet normal, NEVER ACCESS DIRECTLY BUT THROUGH THE _get_facet_normal()
bool _normalFixed
 fixed/random orientation of facet normal
double _fxyz
edgeProjection _edgeProjection
 best projection plane
double _area
double(* _proj )[6]
 speed up of ray intersection calculations
bool _insideOut
OID _oid
 (unique) object identificator
char * _name
 object name
bool _tangible
 tangible object has geometry or is composed of at least one tangible object
AutoPtr< Geometry > * _pAutoGeometry
Geometry_pGeometry
AutoPtr< Emittance > * _pAutoEmittance
Emittance_pEmittance
AutoPtr< DiffuseBRDF > * _pAutoDiffuseBRDF
DiffuseBRDF_pDiffuseBRDF
AutoPtr< SpecularBRDF > * _pAutoSpecularBRDF
SpecularBRDF_pSpecularBRDF
AutoPtr< Transform > * _pAutoTransformation
Transform_pTransformation
AutoPtr< Texture > * _pAutoTexture
Texture_pTexture
List< Material_privateMaterials
List< AutoPtr< Material > > _sharedMaterials
List< SGAttribute_privateAttributes
List< AutoPtr< SGAttribute > > _sharedAttributes

Friends

class Surface

Detailed Description

Geometry adapter for polygonal shape. This is a 'private' class of 'Surface' geometry. DO NOT USE IT DIRECTLY!

The Surface geometry stores individual polygons in space subdivision structure. But the SDS class is able to store only shapes (not geometries). Therefore the _Surface class merges properties of both parrent classes together.

Definition at line 23 of file _Surface.h.


Member Typedef Documentation

typedef unsigned OID [inherited]
 

Definition at line 38 of file SceneGraphObject.h.


Member Enumeration Documentation

enum edgeProjection [inherited]
 

Enumerator:
XY 
YZ 
XZ 
NONE_PROJ 

Definition at line 16 of file Polygon.h.


Constructor & Destructor Documentation

_Surface  )  [protected]
 

Definition at line 156 of file _Surface.cc.

References _Surface::_nindices, _Surface::_uvindices, and _Surface::_vindices.

Referenced by _Surface::clone().

_Surface Vector3 ,
Vector3 ,
Vector2 ,
unsigned  ,
const unsigned *  ,
const unsigned *  ,
const unsigned *  ,
const Vector3 ,
bool 
 

Definition at line 166 of file _Surface.cc.

References Polygon::_fxyz, _Surface::_nindices, Polygon::_normal, Polygon::_normalFixed, Polygon::_proj, _Surface::_uvindices, Polygon::_vertices, _Surface::_vindices, and _Surface::getVertex().

_Surface Vector3 ,
Vector3 ,
Vector2 ,
unsigned  ,
const unsigned *  ,
const unsigned *  ,
const unsigned * 
 

Definition at line 204 of file _Surface.cc.

References Polygon::_fxyz, Polygon::_get_facet_normal(), _Surface::_nindices, Polygon::_normal, Polygon::_normalFixed, Polygon::_proj, _Surface::_uvindices, Polygon::_vertices, _Surface::_vindices, and _Surface::getVertex().

~_Surface  )  [virtual]
 

Definition at line 242 of file _Surface.cc.

References _Surface::_nindices, _Surface::_uvindices, and _Surface::_vindices.


Member Function Documentation

void __debug void   )  [virtual]
 

for debugging purposes.

Reimplemented from Polygon.

Definition at line 322 of file _Surface.cc.

References _Surface::_get_vertex().

bool _coplanar_tri_collision Polygon ,
const Vector3 v0,
const Vector3 v1,
const Vector3 v2,
const Vector3 u0,
const Vector3 u1,
const Vector3 u2
[protected, inherited]
 

Definition at line 302 of file Polygon.cc.

References ESG_EDGE_AGAINST_TRI_EDGES.

void _duplicate_attributes const Geometry  )  [protected, virtual]
 

Reimplemented from Polygon.

Reimplemented in OSGPolygon.

Definition at line 16 of file _Surface.cc.

References Geometry::_duplicate_attributes(), Polygon::_edgeProjection, Polygon::_fxyz, _Surface::_nindices, Polygon::_normal, Polygon::_normalFixed, Polygon::_normals, Polygon::_nVert, Polygon::_vertices, and _Surface::_vindices.

void _duplicate_attributes const SceneGraphObject  )  [protected, virtual]
 

Definition at line 11 of file _Surface.cc.

Referenced by _Surface::clone().

Vector3 _get_facet_normal void   )  const [protected, virtual, inherited]
 

Definition at line 80 of file Polygon.cc.

References Polygon::_get_vertex(), and Polygon::_nVert.

Referenced by _Surface::_Surface(), OSGPolygon::OSGPolygon(), Rectangle::Rectangle(), and Polygon::setVertices().

Vertex3 _get_vert_normal unsigned   )  const [protected, virtual]
 

Reimplemented from Polygon.

Reimplemented in OSGPolygon.

Definition at line 75 of file _Surface.cc.

References _Surface::_nindices.

Referenced by _Surface::getVertNormal().

Vertex2 _get_vert_uv_coord unsigned   )  const [protected, virtual]
 

Reimplemented from Polygon.

Definition at line 80 of file _Surface.cc.

References _Surface::_uvindices.

Referenced by _Surface::getVertUVCoord().

Vertex3 _get_vertex unsigned   )  const [protected, virtual]
 

Reimplemented from Polygon.

Reimplemented in OSGPolygon.

Definition at line 70 of file _Surface.cc.

References Polygon::_vertices, and _Surface::_vindices.

Referenced by _Surface::__debug(), and _Surface::getVertex().

bool _have_diff_brdf void   )  const [inline, protected, inherited]
 

Definition at line 55 of file SceneGraphObject.cc.

References SceneGraphObject::_pAutoDiffuseBRDF, and SceneGraphObject::_pDiffuseBRDF.

bool _have_emittance void   )  const [inline, protected, inherited]
 

Definition at line 30 of file SceneGraphObject.cc.

References SceneGraphObject::_pAutoEmittance, and SceneGraphObject::_pEmittance.

bool _have_geometry void   )  const [inline, protected, inherited]
 

Definition at line 15 of file SceneGraphObject.cc.

References SceneGraphObject::_pAutoGeometry, and SceneGraphObject::_pGeometry.

bool _have_private_diff_brdf void   )  const [inline, protected, inherited]
 

Definition at line 35 of file SceneGraphObject.cc.

References SceneGraphObject::_pAutoDiffuseBRDF, and SceneGraphObject::_pDiffuseBRDF.

Referenced by SceneGraphObject::setPrivateDiffuseBRDF(), SceneGraphObject::setSharedDiffuseBRDF(), and SceneGraphObject::~SceneGraphObject().

bool _have_private_emittance void   )  const [inline, protected, inherited]
 

Definition at line 20 of file SceneGraphObject.cc.

References SceneGraphObject::_pAutoEmittance, and SceneGraphObject::_pEmittance.

Referenced by SceneGraphObject::setPrivateEmittance(), SceneGraphObject::setSharedEmittance(), and SceneGraphObject::~SceneGraphObject().

bool _have_private_geometry void   )  const [inline, protected, inherited]
 

Definition at line 5 of file SceneGraphObject.cc.

References SceneGraphObject::_pAutoGeometry, and SceneGraphObject::_pGeometry.

Referenced by SceneGraphObject::setPrivateGeometry(), SceneGraphObject::setSharedGeometry(), and SceneGraphObject::~SceneGraphObject().

bool _have_private_spec_brdf void   )  const [inline, protected, inherited]
 

Definition at line 45 of file SceneGraphObject.cc.

References SceneGraphObject::_pAutoSpecularBRDF, and SceneGraphObject::_pSpecularBRDF.

Referenced by SceneGraphObject::setPrivateSpecularBRDF(), SceneGraphObject::setSharedSpecularBRDF(), and SceneGraphObject::~SceneGraphObject().

bool _have_private_texture void   )  const [inline, protected, inherited]
 

Definition at line 80 of file SceneGraphObject.cc.

References SceneGraphObject::_pAutoTexture, and SceneGraphObject::_pTexture.

Referenced by SceneGraphObject::setPrivateTexture(), SceneGraphObject::setSharedTexture(), and SceneGraphObject::~SceneGraphObject().

bool _have_private_transformation void   )  const [inline, protected, inherited]
 

Definition at line 65 of file SceneGraphObject.cc.

References SceneGraphObject::_pAutoTransformation, and SceneGraphObject::_pTransformation.

Referenced by SceneGraphObject::setPrivateTransformation(), SceneGraphObject::setSharedTransformation(), and SceneGraphObject::~SceneGraphObject().

bool _have_shared_diff_brdf void   )  const [inline, protected, inherited]
 

Definition at line 40 of file SceneGraphObject.cc.

References SceneGraphObject::_pAutoDiffuseBRDF, and SceneGraphObject::_pDiffuseBRDF.

Referenced by SceneGraphObject::setPrivateDiffuseBRDF(), SceneGraphObject::setSharedDiffuseBRDF(), and SceneGraphObject::~SceneGraphObject().

bool _have_shared_emittance void   )  const [inline, protected, inherited]
 

Definition at line 25 of file SceneGraphObject.cc.

References SceneGraphObject::_pAutoEmittance, and SceneGraphObject::_pEmittance.

Referenced by SceneGraphObject::setPrivateEmittance(), SceneGraphObject::setSharedEmittance(), and SceneGraphObject::~SceneGraphObject().

bool _have_shared_geometry void   )  const [inline, protected, inherited]
 

Definition at line 10 of file SceneGraphObject.cc.

References SceneGraphObject::_pAutoGeometry, and SceneGraphObject::_pGeometry.

Referenced by SceneGraphObject::setPrivateGeometry(), SceneGraphObject::setSharedGeometry(), and SceneGraphObject::~SceneGraphObject().

bool _have_shared_spec_brdf void   )  const [inline, protected, inherited]
 

Definition at line 50 of file SceneGraphObject.cc.

References SceneGraphObject::_pAutoSpecularBRDF, and SceneGraphObject::_pSpecularBRDF.

Referenced by SceneGraphObject::setPrivateSpecularBRDF(), SceneGraphObject::setSharedSpecularBRDF(), and SceneGraphObject::~SceneGraphObject().

bool _have_shared_texture void   )  const [inline, protected, inherited]
 

Definition at line 85 of file SceneGraphObject.cc.

References SceneGraphObject::_pAutoTexture, and SceneGraphObject::_pTexture.

Referenced by SceneGraphObject::setPrivateTexture(), SceneGraphObject::setSharedTexture(), and SceneGraphObject::~SceneGraphObject().

bool _have_shared_transformation void   )  const [inline, protected, inherited]
 

Definition at line 70 of file SceneGraphObject.cc.

References SceneGraphObject::_pAutoTransformation, and SceneGraphObject::_pTransformation.

Referenced by SceneGraphObject::setPrivateTransformation(), SceneGraphObject::setSharedTransformation(), and SceneGraphObject::~SceneGraphObject().

bool _have_spec_brdf void   )  const [inline, protected, inherited]
 

Definition at line 60 of file SceneGraphObject.cc.

References SceneGraphObject::_pAutoSpecularBRDF, and SceneGraphObject::_pSpecularBRDF.

bool _have_texture void   )  const [inline, protected, inherited]
 

Definition at line 90 of file SceneGraphObject.cc.

References SceneGraphObject::_pAutoTexture, and SceneGraphObject::_pTexture.

bool _have_transformation void   )  const [inline, protected, inherited]
 

Definition at line 75 of file SceneGraphObject.cc.

References SceneGraphObject::_pAutoTransformation, and SceneGraphObject::_pTransformation.

Mesh * _mesh int   )  const [protected, virtual]
 

Reimplemented from Polygon.

Definition at line 6 of file _Surface.cc.

double * _precompute_proj void   )  const [protected, inherited]
 

Referenced by Rectangle::_scale().

void _rotate const Matrix3  )  [protected, virtual]
 

Reimplemented from Polygon.

Definition at line 127 of file _Surface.cc.

References Polygon::_fxyz, Polygon::_normal, Polygon::_proj, Polygon::_set_edge_projection(), and _Surface::getVertex().

void _rotate float  ,
const Vector3
[protected, virtual]
 

Reimplemented from Polygon.

Definition at line 115 of file _Surface.cc.

References Polygon::_fxyz, Polygon::_normal, Polygon::_proj, Polygon::_set_edge_projection(), and _Surface::getVertex().

Referenced by Surface::_rotate(), Surface::_rotateX(), Surface::_rotateY(), and Surface::_rotateZ().

void _rotateX float   )  [protected, virtual]
 

Reimplemented from Polygon.

Definition at line 85 of file _Surface.cc.

References Polygon::_fxyz, Polygon::_normal, Polygon::_proj, Polygon::_set_edge_projection(), and _Surface::getVertex().

void _rotateY float   )  [protected, virtual]
 

Reimplemented from Polygon.

Definition at line 95 of file _Surface.cc.

References Polygon::_fxyz, Polygon::_normal, Polygon::_proj, Polygon::_set_edge_projection(), and _Surface::getVertex().

void _rotateZ float   )  [protected, virtual]
 

Reimplemented from Polygon.

Definition at line 105 of file _Surface.cc.

References Polygon::_fxyz, Polygon::_normal, Polygon::_proj, Polygon::_set_edge_projection(), and _Surface::getVertex().

void _scale float   )  [protected, virtual]
 

Reimplemented from Polygon.

Definition at line 150 of file _Surface.cc.

References Polygon::_fxyz, and Polygon::_proj.

Referenced by Surface::_scale().

void _set_edge_projection void   )  [protected, inherited]
 

Definition at line 104 of file Polygon.cc.

References Polygon::_edgeProjection, Polygon::_normal, Polygon::XY, Polygon::XZ, and Polygon::YZ.

Referenced by _Surface::_rotate(), _Surface::_rotateX(), _Surface::_rotateY(), _Surface::_rotateZ(), _Surface::_transform(), OSGPolygon::OSGPolygon(), Rectangle::Rectangle(), Polygon::setFacetNormal(), and Polygon::setVertices().

void _transform const Matrix4  )  [protected, virtual]
 

Reimplemented from Polygon.

Definition at line 140 of file _Surface.cc.

References Polygon::_fxyz, Polygon::_normal, Polygon::_proj, Polygon::_set_edge_projection(), and _Surface::getVertex().

Referenced by Surface::_rotate(), OSGPolygon::clone(), and _Surface::clone().

void _translate const Vector3 v  )  [inline, protected, inherited]
 

Definition at line 38 of file Geometry.h.

void _translate float  ,
float  ,
float 
[protected, virtual]
 

Reimplemented from Polygon.

Definition at line 135 of file _Surface.cc.

References Polygon::_fxyz, Polygon::_normal, and _Surface::getVertex().

int _triTriCollision Polygon  )  [protected, inherited]
 

Triangle-triangle intersection test.

Reference: Tomas Moller, 1997. "A Fast Triangle-Triangle Intersection Test", Journal of Graphics Tools, 2(2), 1997

Although the input parametters are polygons, collision works with only triangles. That is, only the first three coordinates of both polygons are used!

Returns: -1 = detection failed (not triangles?) 0 = separation 1 = collision

Definition at line 351 of file Polygon.cc.

References Polygon::_fxyz, Polygon::_get_vertex(), Polygon::_normal, Geometry::EPS, ESG_COMPUTE_INTERVALS, ESG_SORT, and Polygon::numVertices().

Referenced by Polygon::separation().

virtual void appendPrivateAttribute SGAttribute  )  [inline, virtual]
 

Reimplemented from SceneGraphObject.

Definition at line 89 of file _Surface.h.

virtual void appendPrivateMaterial Material  )  [inline, virtual]
 

Reimplemented from SceneGraphObject.

Definition at line 87 of file _Surface.h.

virtual void appendSharedAttribute AutoPtr< SGAttribute > *   )  [inline, virtual]
 

Reimplemented from SceneGraphObject.

Definition at line 88 of file _Surface.h.

virtual void appendSharedMaterial AutoPtr< Material > *   )  [inline, virtual]
 

Reimplemented from SceneGraphObject.

Definition at line 86 of file _Surface.h.

virtual const BRDF* brdf void   )  const [inline, virtual]
 

Definition at line 99 of file _Surface.h.

virtual BRDF* brdf void   )  [inline, virtual]
 

Definition at line 93 of file _Surface.h.

Vertex3 centroid void   )  const [virtual, inherited]
 

Returns:
centroid (point of gravity) of the geometry

Implements Geometry.

Definition at line 795 of file Polygon.cc.

References Polygon::_get_vertex().

Referenced by SurfaceMesh::getActPlaneCentroid().

Geometry * clone const Matrix4  )  const [virtual]
 

Duplicates and transforms geometry

Parameters:
pTrMat transformation matrix of the clone or NULL
Returns:
duplicate (clone)

Reimplemented from Polygon.

Reimplemented in OSGPolygon.

Definition at line 256 of file _Surface.cc.

References _Surface::_duplicate_attributes(), _Surface::_Surface(), and _Surface::_transform().

SceneGraphObject * clone void   )  const [virtual]
 

Duplicates geometry

Returns:
duplicate (clone)

Reimplemented from Geometry.

Reimplemented in OSGPolygon.

Definition at line 249 of file _Surface.cc.

References _Surface::_duplicate_attributes(), and _Surface::_Surface().

Referenced by Surface::_duplicate_attributes().

virtual const DiffuseBRDF* diffuseBRDF void   )  const [inline, virtual, inherited]
 

Definition at line 146 of file SceneGraphObject.h.

virtual DiffuseBRDF* diffuseBRDF void   )  [inline, virtual, inherited]
 

Definition at line 139 of file SceneGraphObject.h.

double distance const Geometry geom,
Vector3 pDir
[virtual, inherited]
 

Computes approximate distance between this and given geometries (lower bound of distance)

Parameters:
geom geometry to check
pDir if presented then is set to normalized measured direction (vector of minimal distance)
Returns:
lower bound of distance, negative value indicates penetration, positive value indicates separation, zero indicates touch

Implements Geometry.

Definition at line 841 of file Polygon.cc.

References MINDOUBLE.

void dump const char *  ,
const char * 
[virtual]
 

Writes information about this geometry to std. out.

Parameters:
intent free space before each line
tab free space added to intent inside description of this class

Reimplemented from Polygon.

Definition at line 264 of file _Surface.cc.

References _Surface::_nindices, Polygon::_normal, Polygon::_normalFixed, _Surface::_uvindices, _Surface::_vindices, _Surface::haveVertNormals(), and _Surface::haveVertUVCoords().

virtual const Emittance* emittance void   )  const [inline, virtual]
 

Reimplemented from SceneGraphObject.

Definition at line 98 of file _Surface.h.

virtual Emittance* emittance void   )  [inline, virtual]
 

Reimplemented from SceneGraphObject.

Definition at line 92 of file _Surface.h.

Interval extent float  x,
float  y,
float  z
const [inline, inherited]
 

Returns extent occupied by the geometry in given direction

Parameters:
x direction direction of extent - x coordinate
y direction direction of extent - y coordinate
z direction direction of extent - z coordinate
Returns:
extent of occupied space

Definition at line 124 of file Geometry.h.

Interval extent const Vector3 direction  )  const [virtual, inherited]
 

Returns extent occupied by the geometry in given direction

Parameters:
direction direction of extent
Returns:
extent of occupied space

Implements Geometry.

Definition at line 769 of file Polygon.cc.

References Polygon::_get_vertex(), Interval::max, MAXFLOAT, and Interval::min.

virtual const Geometry* geometry void   )  const [inline, virtual]
 

Reimplemented from SceneGraphObject.

Definition at line 97 of file _Surface.h.

virtual Geometry* geometry void   )  [inline, virtual]
 

Reimplemented from SceneGraphObject.

Definition at line 91 of file _Surface.h.

esg::Polygon::edgeProjection getEdgeProjection void   )  const [virtual, inherited]
 

Returns:
the best projection plane for the polygon

Definition at line 922 of file Polygon.cc.

virtual AutoPtr<EnergyCoat>* getEnergyState void   )  [inline, virtual, inherited]
 

Returns:
actual energy coat.

Reimplemented in Shape.

Definition at line 168 of file SceneGraphObject.h.

Vector3 getFacetNormal void   )  const [virtual, inherited]
 

Returns:
facet normal

Definition at line 873 of file Polygon.cc.

References Polygon::_normal.

Referenced by Surface::_mesh(), SurfaceMesh::getActPlane(), and SurfaceMesh::getActPlaneNormal().

double getFXYZ void   )  const [virtual, inherited]
 

Returns:
$ N*V_0 $, where $N$ is facet normal and $V_0$ is first vertex of the polygon

Definition at line 917 of file Polygon.cc.

References Polygon::_fxyz.

Referenced by SurfaceMesh::getActPlane().

const char* getName void   )  const [inline, inherited]
 

Definition at line 107 of file SceneGraphObject.h.

Referenced by NodesByNameExpl::_explore().

OID getOID void   )  const [inline, inherited]
 

Definition at line 97 of file SceneGraphObject.h.

Referenced by LightsExplorer::_process_leaf().

Vertex3 getVertex unsigned   )  const [virtual]
 

Parameters:
index index of required vertex
Returns:
indexed vertex or (0,0,0)

Reimplemented from Polygon.

Reimplemented in OSGPolygon.

Definition at line 288 of file _Surface.cc.

References _Surface::_get_vertex(), Polygon::_vertices, and _Surface::_vindices.

Referenced by _Surface::_rotate(), _Surface::_rotateX(), _Surface::_rotateY(), _Surface::_rotateZ(), _Surface::_Surface(), _Surface::_transform(), _Surface::_translate(), SurfaceMesh::getActVert1(), and SurfaceMesh::getActVert2().

Vertex3 getVertNormal unsigned   )  const [virtual]
 

Parameters:
index index of required vertex
Returns:
indexed normal or (0,0,0)

Reimplemented from Polygon.

Reimplemented in OSGPolygon.

Definition at line 295 of file _Surface.cc.

References _Surface::_get_vert_normal(), and _Surface::_nindices.

Referenced by Surface::_mesh(), SurfaceMesh::getActVertNormal(), SurfaceMesh::getActVertNormal1(), and SurfaceMesh::getActVertNormal2().

Vertex2 getVertUVCoord unsigned   )  const [virtual]
 

Parameters:
index index of required vertex
Returns:
UV coordinates of index vertex or (0,0)

Reimplemented from Polygon.

Reimplemented in OSGPolygon.

Definition at line 302 of file _Surface.cc.

References _Surface::_get_vert_uv_coord(), and _Surface::_uvindices.

virtual bool hasSubnodes void   )  const [inline, virtual, inherited]
 

Determines whether the node has children

Returns:
always false

Implements SceneGraphObject.

Definition at line 36 of file Leaf.h.

bool haveFixedNormal void   )  const [virtual, inherited]
 

Returns:
true if the facet normal has fixed direction, false otherwise

Definition at line 878 of file Polygon.cc.

References Polygon::_normalFixed.

Referenced by Surface::_mesh().

bool haveVertNormals void   )  const [virtual]
 

Returns:
true if the polygon has vertex normals, false otherwise

Reimplemented from Polygon.

Reimplemented in OSGPolygon.

Definition at line 309 of file _Surface.cc.

References _Surface::_nindices.

Referenced by Surface::_mesh(), and _Surface::dump().

bool haveVertUVCoords void   )  const [virtual]
 

Returns:
true if the polygon has UV coordinates set, false otherwise

Reimplemented from Polygon.

Reimplemented in OSGPolygon.

Definition at line 314 of file _Surface.cc.

References _Surface::_uvindices.

Referenced by _Surface::dump().

void insideOut bool  b  )  [inline, inherited]
 

Inverts facet normals (turns the object inside-out)

Parameters:
b determines wehether to turn the geometry inside-out

Definition at line 56 of file Geometry.h.

void inspectAttributes Visitor  )  [inherited]
 

Definition at line 389 of file SceneGraphObject.cc.

References SceneGraphObject::_privateAttributes, SceneGraphObject::_sharedAttributes, List::firstItem(), and List::nextItem().

void inspectMaterials Visitor  )  [inherited]
 

Definition at line 378 of file SceneGraphObject.cc.

References SceneGraphObject::_privateMaterials, SceneGraphObject::_sharedMaterials, List::firstItem(), and List::nextItem().

Referenced by POVRayExporter::_process_leaf().

bool mapToUV const Vector3 v,
Vector2 uv
[virtual, inherited]
 

Maps 3D point from surface to the UV surface representation

Parameters:
v 3D point in the world coordinates
uv UV coordinates (relative to the surface)
Returns:
true on success, false otherwise (mainly if the 3D point does not lie on the surface)

Implements Geometry.

Definition at line 687 of file Polygon.cc.

Mesh * mesh int  density = 0  )  const [inherited]
 

Returns polygonal mesh computed from this geometry

Parameters:
density mesh density
Returns:
polygonal mesh

Definition at line 24 of file Geometry.cc.

References Geometry::_insideOut, Geometry::_mesh(), and Mesh::turnInsideOut().

Referenced by BVH::__get_edges(), BVH::__get_meshes(), NurbsSurface::_mesh(), and POVRayExporter::_process_leaf().

unsigned numVertices void   )  const [virtual, inherited]
 

Returns:
umber of polygon's vertices

Definition at line 912 of file Polygon.cc.

Referenced by Surface::_mesh(), Polygon::_triTriCollision(), SurfaceMesh::getActVert2(), SurfaceMesh::getActVertNormal2(), SurfaceMesh::goToNextEdge(), and Surface::numEdges().

bool pointInsidePolygon const Vector3 p,
Vector3 n,
Vector2 u
[inline, inherited]
 

Parameters:
p (in) 3D surface point
n (out) interpolated normal
u (out) local UV coordinate of p
Returns:
true point lies in the area of the polygon, false otherwise

Definition at line 156 of file Polygon.h.

virtual double radius void   )  const [inline, virtual, inherited]
 

Returns radius of minimal packing sphere with center in the ceontroid of the geometry

Parameters:
centroid center of packing sphere
Returns:
minimal packing radius

Reimplemented in Cylinder, NurbsSurface, Point3D, Sphere, and Surface.

Definition at line 148 of file Geometry.h.

double radius const Vector3 centroid  )  const [virtual, inherited]
 

Returns radius of minimal packing sphere having given center

Parameters:
centroid center of packing sphere
Returns:
minimal packing radius

Implements Geometry.

Definition at line 806 of file Polygon.cc.

References Polygon::_get_vertex(), and MAXDOUBLE.

bool randomDirection const Vector3 pov,
Vector3 dir,
double *  pdf
[virtual, inherited]
 

Computes random direction towards the surface in accord to the point of view.

Parameters:
pov point of view
dir computed random direction
pdf if present then it is set to the value of the Probability Density Function of the random point

Implements Geometry.

Definition at line 762 of file Polygon.cc.

References Polygon::_fxyz, Polygon::_normal, and Polygon::_normalFixed.

Referenced by Surface::randomDirection().

void randomSample int  mask,
PointEnv pe,
double *  pdf
[virtual, inherited]
 

Computes random point on the surface

Parameters:
mask bitmask determining what to compute, see PointEnv.h
pe information about the computed random point on surface
pdf if present then it is set to the value of the Probability Density Function of the random point

Implements Geometry.

Reimplemented in Rectangle, and Triangle.

Definition at line 692 of file Polygon.cc.

References Polygon::_get_vertex(), Polygon::_normal, ENV_HAVE_NOTHING, ENV_WANT_NORMAL, ENV_WANT_SURFACE_POINT, ENV_WANT_UV_COORD, PointEnv::mask, Interval::max, and Interval::min.

Referenced by Surface::randomSample().

void rayIntersection PointEnv pPE,
int  mask,
const Vector3 origin,
const Vector3 direction,
float  maxD = MAXFLOAT
[virtual, inherited]
 

Computes point of intersection of ray with this geometry

Parameters:
pPE structure in which the information about intersection point is stored; must be defined (not NULL)
mask bitmask determining what to compute, see PointEnv.h
origin ray's origin
direction normalized ray's direction
maxD maximal interesting distance; if the point of intersection can't be closer than this distance then the computation stops (object is too far away)

Implements Geometry.

Definition at line 624 of file Polygon.cc.

References Polygon::_fxyz, Polygon::_normal, Polygon::_normalFixed, PointEnv::distance, ENV_HAVE_DISTANCE, ENV_HAVE_INTERFERENCE, ENV_HAVE_INTERSECTION, ENV_HAVE_N_DOT_D, ENV_HAVE_N_DOT_O, ENV_HAVE_NORMAL, ENV_HAVE_NOTHING, ENV_HAVE_UV_COORD, ENV_WANT_NORMAL, ENV_WANT_UV_COORD, Geometry::EPS, Polygon::haveVertNormals(), Polygon::haveVertUVCoords(), PointEnv::intersection, PointEnv::mask, PointEnv::nd, PointEnv::no, PointEnv::normal, PointEnv::normalOrientation, PointEnv::OUTWARDS_NORMAL, PointEnv::RANDOM_NORMAL, and PointEnv::uvCoord.

bool separation Geometry geom,
Vector3 pDir
[virtual, inherited]
 

Checks if there is separation between this and given geometries

Parameters:
geom geometry to check
pDir if presented then is set to normalized direction to found separation (gap)
Returns:
true if thre is separation (gap), false otherwise

Implements Geometry.

Definition at line 820 of file Polygon.cc.

References Polygon::_normal, and Polygon::_triTriCollision().

virtual void setEnergyState AutoPtr< EnergyCoat > *  e  )  [inline, virtual, inherited]
 

Sets energy state (replaces energy coat).

Parameters:
e new energy coat

Reimplemented in LightSource, and Shape.

Definition at line 175 of file SceneGraphObject.h.

void setFacetNormal const Vector3 norm,
bool  fixedn
[inherited]
 

Sets facet normal.

Parameters:
norm normalized facet normal
fixedn whether the facet normal has fixed orientation

Definition at line 1000 of file Polygon.cc.

References Polygon::_fxyz, Polygon::_get_vertex(), Polygon::_normal, Polygon::_normalFixed, and Polygon::_set_edge_projection().

Referenced by Polygon::Polygon().

void setName const char *  name = ""  )  [inline, inherited]
 

Definition at line 99 of file SceneGraphObject.h.

bool setNormals const Vector3 na  )  [inherited]
 

Sets normals of polygon's vertices. Old normals are deleted, if any.

Parameters:
na array of new normal, size is supposed to be the same as the array of vertices
Returns:
true on success, false otherwise

Definition at line 960 of file Polygon.cc.

References Polygon::_normals.

Referenced by Polygon::Polygon().

void setOID OID  oid = 0  )  [inline, inherited]
 

Definition at line 96 of file SceneGraphObject.h.

virtual void setPrivateBRDF BRDF  )  [inline, virtual]
 

Definition at line 82 of file _Surface.h.

void setPrivateDiffuseBRDF DiffuseBRDF  )  [virtual, inherited]
 

Definition at line 259 of file SceneGraphObject.cc.

References SceneGraphObject::_have_private_diff_brdf(), SceneGraphObject::_have_shared_diff_brdf(), SceneGraphObject::_pAutoDiffuseBRDF, and SceneGraphObject::_pDiffuseBRDF.

virtual void setPrivateEmittance Emittance  )  [inline, virtual]
 

Reimplemented from SceneGraphObject.

Definition at line 80 of file _Surface.h.

virtual void setPrivateGeometry Geometry  )  [inline, virtual]
 

Reimplemented from SceneGraphObject.

Definition at line 78 of file _Surface.h.

void setPrivateSpecularBRDF SpecularBRDF  )  [virtual, inherited]
 

Definition at line 286 of file SceneGraphObject.cc.

References SceneGraphObject::_have_private_spec_brdf(), SceneGraphObject::_have_shared_spec_brdf(), SceneGraphObject::_pAutoSpecularBRDF, and SceneGraphObject::_pSpecularBRDF.

void setPrivateTexture Texture  )  [virtual, inherited]
 

Definition at line 342 of file SceneGraphObject.cc.

References SceneGraphObject::_have_private_texture(), SceneGraphObject::_have_shared_texture(), SceneGraphObject::_pAutoTexture, and SceneGraphObject::_pTexture.

virtual void setPrivateTransformation Transform  )  [inline, virtual]
 

Reimplemented from SceneGraphObject.

Definition at line 84 of file _Surface.h.

virtual void setSharedBRDF AutoPtr< BRDF > *   )  [inline, virtual]
 

Definition at line 81 of file _Surface.h.

void setSharedDiffuseBRDF AutoPtr< DiffuseBRDF > *   )  [virtual, inherited]
 

Definition at line 242 of file SceneGraphObject.cc.

References SceneGraphObject::_have_private_diff_brdf(), SceneGraphObject::_have_shared_diff_brdf(), SceneGraphObject::_pAutoDiffuseBRDF, SceneGraphObject::_pDiffuseBRDF, AutoPtr::origObject(), and AutoPtr::registerReferer().

virtual void setSharedEmittance AutoPtr< Emittance > *   )  [inline, virtual]
 

Reimplemented from SceneGraphObject.

Definition at line 79 of file _Surface.h.

virtual void setSharedGeometry AutoPtr< Geometry > *   )  [inline, virtual]
 

Reimplemented from SceneGraphObject.

Definition at line 77 of file _Surface.h.

void setSharedSpecularBRDF AutoPtr< SpecularBRDF > *   )  [virtual, inherited]
 

Definition at line 269 of file SceneGraphObject.cc.

References SceneGraphObject::_have_private_spec_brdf(), SceneGraphObject::_have_shared_spec_brdf(), SceneGraphObject::_pAutoSpecularBRDF, SceneGraphObject::_pSpecularBRDF, AutoPtr::origObject(), and AutoPtr::registerReferer().

void setSharedTexture AutoPtr< Texture > *   )  [virtual, inherited]
 

Definition at line 325 of file SceneGraphObject.cc.

References SceneGraphObject::_have_private_texture(), SceneGraphObject::_have_shared_texture(), SceneGraphObject::_pAutoTexture, SceneGraphObject::_pTexture, AutoPtr::origObject(), and AutoPtr::registerReferer().

virtual void setSharedTransformation AutoPtr< Transform > *   )  [inline, virtual]
 

Reimplemented from SceneGraphObject.

Definition at line 83 of file _Surface.h.

bool setUVCoords const Vector2 uva  )  [inherited]
 

Sets UV coordinates of polygon's vertices. Old coords are deleted, if any.

Parameters:
uva array of new UV coords, size is supposed to be the same as the array of vertices
Returns:
true on success, false otherwise

Definition at line 980 of file Polygon.cc.

References Polygon::_uvCoords.

Referenced by Polygon::Polygon().

bool setVertices const Vector3 va,
unsigned  n
[inherited]
 

Sets polygon's vertices. Old vertices, their normals and UV coordinates are deleted. Facet normal is computed from vertices.

Parameters:
va array of new vertices
n number of vertices
Returns:
true on success, false otherwise

Definition at line 927 of file Polygon.cc.

References Polygon::_area, Polygon::_fxyz, Polygon::_get_facet_normal(), Polygon::_get_vertex(), Polygon::_normal, Polygon::_normalFixed, Polygon::_normals, Polygon::_proj, Polygon::_set_edge_projection(), Polygon::_uvCoords, and Polygon::_vertices.

Referenced by Polygon::Polygon().

virtual const SpecularBRDF* specularBRDF void   )  const [inline, virtual, inherited]
 

Definition at line 147 of file SceneGraphObject.h.

virtual SpecularBRDF* specularBRDF void   )  [inline, virtual, inherited]
 

Definition at line 140 of file SceneGraphObject.h.

virtual bool supportsEnergy void   )  [inline, virtual, inherited]
 

Determines whether this SG node supports energy coats

Returns:
true if energy is supported by the node, false otherwise

Reimplemented in LightSource, and Shape.

Definition at line 163 of file SceneGraphObject.h.

virtual bool tangible void   )  const [inline, virtual, inherited]
 

Determines whether the SG node is tangible (usefull mainly for Spatial Data Structures - SDS)

Returns:
true if tangible, false otherwise

Definition at line 197 of file SceneGraphObject.h.

Referenced by OctTree::append(), Heap::append(), and BVH::append().

virtual const Texture* texture void   )  const [inline, virtual]
 

Reimplemented from SceneGraphObject.

Definition at line 101 of file _Surface.h.

virtual Texture* texture void   )  [inline, virtual]
 

Reimplemented from SceneGraphObject.

Definition at line 95 of file _Surface.h.

virtual const Transform* transformation void   )  const [inline, virtual]
 

Reimplemented from SceneGraphObject.

Definition at line 100 of file _Surface.h.

virtual Transform* transformation void   )  [inline, virtual]
 

Reimplemented from SceneGraphObject.

Definition at line 94 of file _Surface.h.

virtual IteratorSDS* traverseSubnodes void   )  const [inline, virtual, inherited]
 

Method that allows to inspect subnodes

Returns:
always NULL

Implements SceneGraphObject.

Definition at line 43 of file Leaf.h.


Friends And Related Function Documentation

friend class Surface [friend]
 

Definition at line 24 of file _Surface.h.


Member Data Documentation

double _area [protected, inherited]
 

Definition at line 27 of file Polygon.h.

Referenced by Polygon::Polygon(), Triangle::randomSample(), and Polygon::setVertices().

edgeProjection _edgeProjection [protected, inherited]
 

best projection plane

Definition at line 26 of file Polygon.h.

Referenced by OSGPolygon::_duplicate_attributes(), _Surface::_duplicate_attributes(), and Polygon::_set_edge_projection().

double _fxyz [protected, inherited]
 

Definition at line 25 of file Polygon.h.

Referenced by OSGPolygon::_duplicate_attributes(), _Surface::_duplicate_attributes(), Polygon::_mesh(), _Surface::_rotate(), _Surface::_rotateX(), _Surface::_rotateY(), _Surface::_rotateZ(), Rectangle::_scale(), _Surface::_scale(), _Surface::_Surface(), _Surface::_transform(), _Surface::_translate(), Polygon::_triTriCollision(), Polygon::getFXYZ(), OSGPolygon::OSGPolygon(), Polygon::Polygon(), Polygon::randomDirection(), Polygon::rayIntersection(), Rectangle::Rectangle(), Polygon::setFacetNormal(), and Polygon::setVertices().

bool _insideOut [protected, inherited]
 

Definition at line 23 of file Geometry.h.

Referenced by Geometry::_duplicate_attributes(), and Geometry::mesh().

char* _name [protected, inherited]
 

object name

Definition at line 42 of file SceneGraphObject.h.

Referenced by SceneGraphObject::SceneGraphObject(), and SceneGraphObject::~SceneGraphObject().

unsigned* _nindices [protected]
 

Array of indices to (global) array of normals.

Definition at line 28 of file _Surface.h.

Referenced by OSGPolygon::_duplicate_attributes(), _Surface::_duplicate_attributes(), _Surface::_get_vert_normal(), _Surface::_Surface(), _Surface::dump(), _Surface::getVertNormal(), _Surface::haveVertNormals(), OSGPolygon::OSGPolygon(), and _Surface::~_Surface().

Vector3 _normal [protected, inherited]
 

facet normal, NEVER ACCESS DIRECTLY BUT THROUGH THE _get_facet_normal()

Definition at line 23 of file Polygon.h.

Referenced by Polygon::__debug(), OSGPolygon::_duplicate_attributes(), _Surface::_duplicate_attributes(), Polygon::_mesh(), _Surface::_rotate(), _Surface::_rotateX(), _Surface::_rotateY(), _Surface::_rotateZ(), Polygon::_set_edge_projection(), _Surface::_Surface(), _Surface::_transform(), _Surface::_translate(), Polygon::_triTriCollision(), Polygon::dump(), _Surface::dump(), Polygon::getFacetNormal(), OSGPolygon::OSGPolygon(), Polygon::randomDirection(), Triangle::randomSample(), Rectangle::randomSample(), Polygon::randomSample(), Polygon::rayIntersection(), Rectangle::Rectangle(), Polygon::separation(), Polygon::setFacetNormal(), and Polygon::setVertices().

bool _normalFixed [protected, inherited]
 

fixed/random orientation of facet normal

Definition at line 24 of file Polygon.h.

Referenced by OSGPolygon::_duplicate_attributes(), _Surface::_duplicate_attributes(), _Surface::_Surface(), Polygon::dump(), _Surface::dump(), Polygon::haveFixedNormal(), OSGPolygon::OSGPolygon(), Polygon::randomDirection(), Triangle::randomSample(), Rectangle::randomSample(), Polygon::rayIntersection(), Rectangle::Rectangle(), Polygon::setFacetNormal(), and Polygon::setVertices().

Vector3* _normals [protected, inherited]
 

vertex normals, can be NULL

Definition at line 20 of file Polygon.h.

Referenced by Polygon::_duplicate_attributes(), OSGPolygon::_duplicate_attributes(), _Surface::_duplicate_attributes(), Polygon::_get_vert_normal(), Polygon::_mesh(), Rectangle::_rotate(), Polygon::_rotate(), Rectangle::_rotateX(), Polygon::_rotateX(), Rectangle::_rotateY(), Polygon::_rotateY(), Rectangle::_rotateZ(), Polygon::_rotateZ(), Rectangle::_transform(), Polygon::_transform(), Polygon::dump(), Polygon::haveVertNormals(), OSGPolygon::OSGPolygon(), Polygon::Polygon(), Triangle::randomSample(), Rectangle::Rectangle(), Polygon::setNormals(), Polygon::setVertices(), and Polygon::~Polygon().

unsigned _nVert [protected, inherited]
 

number of polygon's vertices

Definition at line 22 of file Polygon.h.

Referenced by Polygon::_duplicate_attributes(), OSGPolygon::_duplicate_attributes(), _Surface::_duplicate_attributes(), Polygon::_get_facet_normal(), Polygon::_mesh(), Rectangle::_rotate(), Rectangle::_rotateX(), Rectangle::_rotateY(), Rectangle::_rotateZ(), Rectangle::_scale(), Rectangle::_transform(), Rectangle::_translate(), OSGPolygon::OSGPolygon(), and Rectangle::Rectangle().

OID _oid [protected, inherited]
 

(unique) object identificator

Definition at line 41 of file SceneGraphObject.h.

AutoPtr<DiffuseBRDF>* _pAutoDiffuseBRDF [protected, inherited]
 

Definition at line 49 of file SceneGraphObject.h.

Referenced by SceneGraphObject::_have_diff_brdf(), SceneGraphObject::_have_private_diff_brdf(), SceneGraphObject::_have_shared_diff_brdf(), SceneGraphObject::setPrivateDiffuseBRDF(), SceneGraphObject::setSharedDiffuseBRDF(), and SceneGraphObject::~SceneGraphObject().

AutoPtr<Emittance>* _pAutoEmittance [protected, inherited]
 

Definition at line 47 of file SceneGraphObject.h.

Referenced by SceneGraphObject::_have_emittance(), SceneGraphObject::_have_private_emittance(), SceneGraphObject::_have_shared_emittance(), LightSource::LightSource(), SceneGraphObject::setPrivateEmittance(), SceneGraphObject::setSharedEmittance(), and SceneGraphObject::~SceneGraphObject().

AutoPtr<Geometry>* _pAutoGeometry [protected, inherited]
 

Definition at line 45 of file SceneGraphObject.h.

Referenced by SceneGraphObject::_have_geometry(), SceneGraphObject::_have_private_geometry(), SceneGraphObject::_have_shared_geometry(), SceneGraphObject::setPrivateGeometry(), SceneGraphObject::setSharedGeometry(), and SceneGraphObject::~SceneGraphObject().

AutoPtr<SpecularBRDF>* _pAutoSpecularBRDF [protected, inherited]
 

Definition at line 51 of file SceneGraphObject.h.

Referenced by SceneGraphObject::_have_private_spec_brdf(), SceneGraphObject::_have_shared_spec_brdf(), SceneGraphObject::_have_spec_brdf(), SceneGraphObject::setPrivateSpecularBRDF(), SceneGraphObject::setSharedSpecularBRDF(), and SceneGraphObject::~SceneGraphObject().

AutoPtr<Texture>* _pAutoTexture [protected, inherited]
 

Definition at line 55 of file SceneGraphObject.h.

Referenced by SceneGraphObject::_have_private_texture(), SceneGraphObject::_have_shared_texture(), SceneGraphObject::_have_texture(), SceneGraphObject::setPrivateTexture(), SceneGraphObject::setSharedTexture(), and SceneGraphObject::~SceneGraphObject().

AutoPtr<Transform>* _pAutoTransformation [protected, inherited]
 

Definition at line 53 of file SceneGraphObject.h.

Referenced by SceneGraphObject::_have_private_transformation(), SceneGraphObject::_have_shared_transformation(), SceneGraphObject::_have_transformation(), SceneGraphObject::setPrivateTransformation(), SceneGraphObject::setSharedTransformation(), and SceneGraphObject::~SceneGraphObject().

DiffuseBRDF* _pDiffuseBRDF [protected, inherited]
 

Definition at line 50 of file SceneGraphObject.h.

Referenced by SceneGraphObject::_have_diff_brdf(), SceneGraphObject::_have_private_diff_brdf(), SceneGraphObject::_have_shared_diff_brdf(), SceneGraphObject::setPrivateDiffuseBRDF(), SceneGraphObject::setSharedDiffuseBRDF(), and SceneGraphObject::~SceneGraphObject().

Emittance* _pEmittance [protected, inherited]
 

Definition at line 48 of file SceneGraphObject.h.

Referenced by SceneGraphObject::_have_emittance(), SceneGraphObject::_have_private_emittance(), SceneGraphObject::_have_shared_emittance(), LightSource::LightSource(), SceneGraphObject::setPrivateEmittance(), SceneGraphObject::setSharedEmittance(), and SceneGraphObject::~SceneGraphObject().

Geometry* _pGeometry [protected, inherited]
 

Definition at line 46 of file SceneGraphObject.h.

Referenced by SceneGraphObject::_have_geometry(), SceneGraphObject::_have_private_geometry(), SceneGraphObject::_have_shared_geometry(), SceneGraphObject::setPrivateGeometry(), SceneGraphObject::setSharedGeometry(), and SceneGraphObject::~SceneGraphObject().

List<SGAttribute> _privateAttributes [protected, inherited]
 

Definition at line 59 of file SceneGraphObject.h.

Referenced by SceneGraphObject::appendPrivateAttribute(), SceneGraphObject::inspectAttributes(), and SceneGraphObject::~SceneGraphObject().

List<Material> _privateMaterials [protected, inherited]
 

Definition at line 57 of file SceneGraphObject.h.

Referenced by SceneGraphObject::appendPrivateMaterial(), SceneGraphObject::inspectMaterials(), and SceneGraphObject::~SceneGraphObject().

double(* _proj)[6] [protected, inherited]
 

speed up of ray intersection calculations

Definition at line 29 of file Polygon.h.

Referenced by OSGPolygon::_duplicate_attributes(), _Surface::_rotate(), _Surface::_rotateX(), _Surface::_rotateY(), _Surface::_rotateZ(), Polygon::_scale(), _Surface::_scale(), _Surface::_Surface(), _Surface::_transform(), Polygon::Polygon(), Rectangle::Rectangle(), Polygon::setVertices(), and Polygon::~Polygon().

SpecularBRDF* _pSpecularBRDF [protected, inherited]
 

Definition at line 52 of file SceneGraphObject.h.

Referenced by SceneGraphObject::_have_private_spec_brdf(), SceneGraphObject::_have_shared_spec_brdf(), SceneGraphObject::_have_spec_brdf(), SceneGraphObject::setPrivateSpecularBRDF(), SceneGraphObject::setSharedSpecularBRDF(), and SceneGraphObject::~SceneGraphObject().

Texture* _pTexture [protected, inherited]
 

Definition at line 56 of file SceneGraphObject.h.

Referenced by SceneGraphObject::_have_private_texture(), SceneGraphObject::_have_shared_texture(), SceneGraphObject::_have_texture(), SceneGraphObject::setPrivateTexture(), SceneGraphObject::setSharedTexture(), and SceneGraphObject::~SceneGraphObject().

Transform* _pTransformation [protected, inherited]
 

Definition at line 54 of file SceneGraphObject.h.

Referenced by SceneGraphObject::_have_private_transformation(), SceneGraphObject::_have_shared_transformation(), SceneGraphObject::_have_transformation(), SceneGraphObject::setPrivateTransformation(), SceneGraphObject::setSharedTransformation(), and SceneGraphObject::~SceneGraphObject().

List<AutoPtr<SGAttribute> > _sharedAttributes [protected, inherited]
 

Definition at line 60 of file SceneGraphObject.h.

Referenced by SceneGraphObject::appendSharedAttribute(), SceneGraphObject::inspectAttributes(), and SceneGraphObject::~SceneGraphObject().

List<AutoPtr<Material> > _sharedMaterials [protected, inherited]
 

Definition at line 58 of file SceneGraphObject.h.

Referenced by SceneGraphObject::appendSharedMaterial(), SceneGraphObject::inspectMaterials(), and SceneGraphObject::~SceneGraphObject().

bool _tangible [protected, inherited]
 

tangible object has geometry or is composed of at least one tangible object

Definition at line 43 of file SceneGraphObject.h.

Referenced by OSGPolygon::_duplicate_attributes(), OSGPolygon::OSGPolygon(), LightSource::setEnergyState(), SceneGraphObject::setPrivateGeometry(), SceneGraphObject::setSharedGeometry(), and LightSource::supportsEnergy().

Vector2* _uvCoords [protected, inherited]
 

UV coordinates (e.g. texture coords.).

Definition at line 21 of file Polygon.h.

Referenced by Polygon::_duplicate_attributes(), Polygon::_get_vert_uv_coord(), Polygon::dump(), Polygon::haveVertUVCoords(), Polygon::Polygon(), Triangle::randomSample(), Rectangle::Rectangle(), Polygon::setUVCoords(), Polygon::setVertices(), and Polygon::~Polygon().

unsigned* _uvindices [protected]
 

Array of indices to (global) array of UV coords.

Definition at line 29 of file _Surface.h.

Referenced by _Surface::_get_vert_uv_coord(), _Surface::_Surface(), _Surface::dump(), _Surface::getVertUVCoord(), _Surface::haveVertUVCoords(), and _Surface::~_Surface().

Vector3* _vertices [protected, inherited]
 

array of vertices

Definition at line 19 of file Polygon.h.

Referenced by Polygon::_duplicate_attributes(), OSGPolygon::_duplicate_attributes(), _Surface::_duplicate_attributes(), Polygon::_get_vertex(), _Surface::_get_vertex(), Polygon::_mesh(), Rectangle::_rotate(), Polygon::_rotate(), Rectangle::_rotateX(), Polygon::_rotateX(), Rectangle::_rotateY(), Polygon::_rotateY(), Rectangle::_rotateZ(), Polygon::_rotateZ(), Rectangle::_scale(), Polygon::_scale(), _Surface::_Surface(), Rectangle::_transform(), Polygon::_transform(), Rectangle::_translate(), Polygon::_translate(), Polygon::dump(), _Surface::getVertex(), OSGPolygon::OSGPolygon(), Polygon::Polygon(), Rectangle::Rectangle(), Polygon::setVertices(), and Polygon::~Polygon().

unsigned* _vindices [protected]
 

Array of indices to (global) array of vertices.

Definition at line 27 of file _Surface.h.

Referenced by OSGPolygon::_duplicate_attributes(), _Surface::_duplicate_attributes(), _Surface::_get_vertex(), Surface::_mesh(), _Surface::_Surface(), _Surface::dump(), _Surface::getVertex(), OSGPolygon::OSGPolygon(), and _Surface::~_Surface().

const float EPS = 1e-03 [static, inherited]
 

epsilon variation (tolerance) of zero

Definition at line 20 of file Geometry.h.

Referenced by FDH::_cut_line(), Sphere::_duplicate_attributes(), FDH::_get_corners(), FDH::_mesh(), Sphere::_scale(), Polygon::_triTriCollision(), Sphere::rayIntersection(), Polygon::rayIntersection(), Point3D::rayIntersection(), Hemisphere::rayIntersection(), Sphere::setRadius(), and Sphere::Sphere().


The documentation for this class was generated from the following files:
Generated on Wed Jun 28 12:24:33 2006 for esg by  doxygen 1.4.6