#include <_Surface.h>
Inheritance diagram for _Surface:
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 Geometry * | geometry (void) |
virtual Emittance * | emittance (void) |
virtual BRDF * | brdf (void) |
virtual Transform * | transformation (void) |
virtual Texture * | texture (void) |
virtual const Geometry * | geometry (void) const |
virtual const Emittance * | emittance (void) const |
virtual const BRDF * | brdf (void) const |
virtual const Transform * | transformation (void) const |
virtual const Texture * | texture (void) const |
virtual SceneGraphObject * | clone (void) const |
virtual Geometry * | clone (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 ¢roid) 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) |
Mesh * | mesh (int density=0) const |
virtual bool | hasSubnodes (void) const |
virtual IteratorSDS * | traverseSubnodes (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 DiffuseBRDF * | diffuseBRDF (void) |
virtual const DiffuseBRDF * | diffuseBRDF (void) const |
virtual SpecularBRDF * | specularBRDF (void) |
virtual const SpecularBRDF * | specularBRDF (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 |
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.
|
Definition at line 38 of file SceneGraphObject.h. |
|
|
|
Definition at line 156 of file _Surface.cc. References _Surface::_nindices, _Surface::_uvindices, and _Surface::_vindices. Referenced by _Surface::clone(). |
|
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(). |
|
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(). |
|
Definition at line 242 of file _Surface.cc. References _Surface::_nindices, _Surface::_uvindices, and _Surface::_vindices. |
|
for debugging purposes. Reimplemented from Polygon. Definition at line 322 of file _Surface.cc. References _Surface::_get_vertex(). |
|
Definition at line 302 of file Polygon.cc. References ESG_EDGE_AGAINST_TRI_EDGES. |
|
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. |
|
Definition at line 11 of file _Surface.cc. Referenced by _Surface::clone(). |
|
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(). |
|
Reimplemented from Polygon. Reimplemented in OSGPolygon. Definition at line 75 of file _Surface.cc. References _Surface::_nindices. Referenced by _Surface::getVertNormal(). |
|
Reimplemented from Polygon. Definition at line 80 of file _Surface.cc. References _Surface::_uvindices. Referenced by _Surface::getVertUVCoord(). |
|
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(). |
|
Definition at line 55 of file SceneGraphObject.cc. References SceneGraphObject::_pAutoDiffuseBRDF, and SceneGraphObject::_pDiffuseBRDF. |
|
Definition at line 30 of file SceneGraphObject.cc. References SceneGraphObject::_pAutoEmittance, and SceneGraphObject::_pEmittance. |
|
Definition at line 15 of file SceneGraphObject.cc. References SceneGraphObject::_pAutoGeometry, and SceneGraphObject::_pGeometry. |
|
Definition at line 35 of file SceneGraphObject.cc. References SceneGraphObject::_pAutoDiffuseBRDF, and SceneGraphObject::_pDiffuseBRDF. Referenced by SceneGraphObject::setPrivateDiffuseBRDF(), SceneGraphObject::setSharedDiffuseBRDF(), and SceneGraphObject::~SceneGraphObject(). |
|
Definition at line 20 of file SceneGraphObject.cc. References SceneGraphObject::_pAutoEmittance, and SceneGraphObject::_pEmittance. Referenced by SceneGraphObject::setPrivateEmittance(), SceneGraphObject::setSharedEmittance(), and SceneGraphObject::~SceneGraphObject(). |
|
Definition at line 5 of file SceneGraphObject.cc. References SceneGraphObject::_pAutoGeometry, and SceneGraphObject::_pGeometry. Referenced by SceneGraphObject::setPrivateGeometry(), SceneGraphObject::setSharedGeometry(), and SceneGraphObject::~SceneGraphObject(). |
|
Definition at line 45 of file SceneGraphObject.cc. References SceneGraphObject::_pAutoSpecularBRDF, and SceneGraphObject::_pSpecularBRDF. Referenced by SceneGraphObject::setPrivateSpecularBRDF(), SceneGraphObject::setSharedSpecularBRDF(), and SceneGraphObject::~SceneGraphObject(). |
|
Definition at line 80 of file SceneGraphObject.cc. References SceneGraphObject::_pAutoTexture, and SceneGraphObject::_pTexture. Referenced by SceneGraphObject::setPrivateTexture(), SceneGraphObject::setSharedTexture(), and SceneGraphObject::~SceneGraphObject(). |
|
Definition at line 65 of file SceneGraphObject.cc. References SceneGraphObject::_pAutoTransformation, and SceneGraphObject::_pTransformation. Referenced by SceneGraphObject::setPrivateTransformation(), SceneGraphObject::setSharedTransformation(), and SceneGraphObject::~SceneGraphObject(). |
|
Definition at line 40 of file SceneGraphObject.cc. References SceneGraphObject::_pAutoDiffuseBRDF, and SceneGraphObject::_pDiffuseBRDF. Referenced by SceneGraphObject::setPrivateDiffuseBRDF(), SceneGraphObject::setSharedDiffuseBRDF(), and SceneGraphObject::~SceneGraphObject(). |
|
Definition at line 25 of file SceneGraphObject.cc. References SceneGraphObject::_pAutoEmittance, and SceneGraphObject::_pEmittance. Referenced by SceneGraphObject::setPrivateEmittance(), SceneGraphObject::setSharedEmittance(), and SceneGraphObject::~SceneGraphObject(). |
|
Definition at line 10 of file SceneGraphObject.cc. References SceneGraphObject::_pAutoGeometry, and SceneGraphObject::_pGeometry. Referenced by SceneGraphObject::setPrivateGeometry(), SceneGraphObject::setSharedGeometry(), and SceneGraphObject::~SceneGraphObject(). |
|
Definition at line 50 of file SceneGraphObject.cc. References SceneGraphObject::_pAutoSpecularBRDF, and SceneGraphObject::_pSpecularBRDF. Referenced by SceneGraphObject::setPrivateSpecularBRDF(), SceneGraphObject::setSharedSpecularBRDF(), and SceneGraphObject::~SceneGraphObject(). |
|
Definition at line 85 of file SceneGraphObject.cc. References SceneGraphObject::_pAutoTexture, and SceneGraphObject::_pTexture. Referenced by SceneGraphObject::setPrivateTexture(), SceneGraphObject::setSharedTexture(), and SceneGraphObject::~SceneGraphObject(). |
|
Definition at line 70 of file SceneGraphObject.cc. References SceneGraphObject::_pAutoTransformation, and SceneGraphObject::_pTransformation. Referenced by SceneGraphObject::setPrivateTransformation(), SceneGraphObject::setSharedTransformation(), and SceneGraphObject::~SceneGraphObject(). |
|
Definition at line 60 of file SceneGraphObject.cc. References SceneGraphObject::_pAutoSpecularBRDF, and SceneGraphObject::_pSpecularBRDF. |
|
Definition at line 90 of file SceneGraphObject.cc. References SceneGraphObject::_pAutoTexture, and SceneGraphObject::_pTexture. |
|
Definition at line 75 of file SceneGraphObject.cc. References SceneGraphObject::_pAutoTransformation, and SceneGraphObject::_pTransformation. |
|
Reimplemented from Polygon. Definition at line 6 of file _Surface.cc. |
|
Referenced by Rectangle::_scale(). |
|
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(). |
|
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(). |
|
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(). |
|
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(). |
|
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(). |
|
Reimplemented from Polygon. Definition at line 150 of file _Surface.cc. References Polygon::_fxyz, and Polygon::_proj. Referenced by Surface::_scale(). |
|
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(). |
|
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(). |
|
Definition at line 38 of file Geometry.h. |
|
Reimplemented from Polygon. Definition at line 135 of file _Surface.cc. References Polygon::_fxyz, Polygon::_normal, and _Surface::getVertex(). |
|
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(). |
|
Reimplemented from SceneGraphObject. Definition at line 89 of file _Surface.h. |
|
Reimplemented from SceneGraphObject. Definition at line 87 of file _Surface.h. |
|
Reimplemented from SceneGraphObject. Definition at line 88 of file _Surface.h. |
|
Reimplemented from SceneGraphObject. Definition at line 86 of file _Surface.h. |
|
Definition at line 99 of file _Surface.h. |
|
Definition at line 93 of file _Surface.h. |
|
Implements Geometry. Definition at line 795 of file Polygon.cc. References Polygon::_get_vertex(). Referenced by SurfaceMesh::getActPlaneCentroid(). |
|
Duplicates and transforms geometry
Reimplemented from Polygon. Reimplemented in OSGPolygon. Definition at line 256 of file _Surface.cc. References _Surface::_duplicate_attributes(), _Surface::_Surface(), and _Surface::_transform(). |
|
Duplicates geometry
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(). |
|
Definition at line 146 of file SceneGraphObject.h. |
|
Definition at line 139 of file SceneGraphObject.h. |
|
Computes approximate distance between this and given geometries (lower bound of distance)
Implements Geometry. Definition at line 841 of file Polygon.cc. References MINDOUBLE. |
|
Writes information about this geometry to std. out.
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(). |
|
Reimplemented from SceneGraphObject. Definition at line 98 of file _Surface.h. |
|
Reimplemented from SceneGraphObject. Definition at line 92 of file _Surface.h. |
|
Returns extent occupied by the geometry in given direction
Definition at line 124 of file Geometry.h. |
|
Returns extent occupied by the geometry in given direction
Implements Geometry. Definition at line 769 of file Polygon.cc. References Polygon::_get_vertex(), Interval::max, MAXFLOAT, and Interval::min. |
|
Reimplemented from SceneGraphObject. Definition at line 97 of file _Surface.h. |
|
Reimplemented from SceneGraphObject. Definition at line 91 of file _Surface.h. |
|
Definition at line 922 of file Polygon.cc. |
|
Reimplemented in Shape. Definition at line 168 of file SceneGraphObject.h. |
|
Definition at line 873 of file Polygon.cc. References Polygon::_normal. Referenced by Surface::_mesh(), SurfaceMesh::getActPlane(), and SurfaceMesh::getActPlaneNormal(). |
|
Definition at line 917 of file Polygon.cc. References Polygon::_fxyz. Referenced by SurfaceMesh::getActPlane(). |
|
Definition at line 107 of file SceneGraphObject.h. Referenced by NodesByNameExpl::_explore(). |
|
Definition at line 97 of file SceneGraphObject.h. Referenced by LightsExplorer::_process_leaf(). |
|
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(). |
|
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(). |
|
Reimplemented from Polygon. Reimplemented in OSGPolygon. Definition at line 302 of file _Surface.cc. References _Surface::_get_vert_uv_coord(), and _Surface::_uvindices. |
|
Determines whether the node has children
Implements SceneGraphObject. |
|
Definition at line 878 of file Polygon.cc. References Polygon::_normalFixed. Referenced by Surface::_mesh(). |
|
Reimplemented from Polygon. Reimplemented in OSGPolygon. Definition at line 309 of file _Surface.cc. References _Surface::_nindices. Referenced by Surface::_mesh(), and _Surface::dump(). |
|
Reimplemented from Polygon. Reimplemented in OSGPolygon. Definition at line 314 of file _Surface.cc. References _Surface::_uvindices. Referenced by _Surface::dump(). |
|
Inverts facet normals (turns the object inside-out)
Definition at line 56 of file Geometry.h. |
|
Definition at line 389 of file SceneGraphObject.cc. References SceneGraphObject::_privateAttributes, SceneGraphObject::_sharedAttributes, List::firstItem(), and List::nextItem(). |
|
Definition at line 378 of file SceneGraphObject.cc. References SceneGraphObject::_privateMaterials, SceneGraphObject::_sharedMaterials, List::firstItem(), and List::nextItem(). Referenced by POVRayExporter::_process_leaf(). |
|
Maps 3D point from surface to the UV surface representation
Implements Geometry. Definition at line 687 of file Polygon.cc. |
|
Returns polygonal mesh computed from this geometry
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(). |
|
Definition at line 912 of file Polygon.cc. Referenced by Surface::_mesh(), Polygon::_triTriCollision(), SurfaceMesh::getActVert2(), SurfaceMesh::getActVertNormal2(), SurfaceMesh::goToNextEdge(), and Surface::numEdges(). |
|
|
|
Returns radius of minimal packing sphere with center in the ceontroid of the geometry
Reimplemented in Cylinder, NurbsSurface, Point3D, Sphere, and Surface. Definition at line 148 of file Geometry.h. |
|
Returns radius of minimal packing sphere having given center
Implements Geometry. Definition at line 806 of file Polygon.cc. References Polygon::_get_vertex(), and MAXDOUBLE. |
|
Computes random direction towards the surface in accord to the point of view.
Implements Geometry. Definition at line 762 of file Polygon.cc. References Polygon::_fxyz, Polygon::_normal, and Polygon::_normalFixed. Referenced by Surface::randomDirection(). |
|
Computes random point on the surface
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(). |
|
Computes point of intersection of ray with this geometry
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. |
|
Checks if there is separation between this and given geometries
Implements Geometry. Definition at line 820 of file Polygon.cc. References Polygon::_normal, and Polygon::_triTriCollision(). |
|
Sets energy state (replaces energy coat).
Reimplemented in LightSource, and Shape. Definition at line 175 of file SceneGraphObject.h. |
|
Sets facet normal.
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(). |
|
Definition at line 99 of file SceneGraphObject.h. |
|
Sets normals of polygon's vertices. Old normals are deleted, if any.
Definition at line 960 of file Polygon.cc. References Polygon::_normals. Referenced by Polygon::Polygon(). |
|
Definition at line 96 of file SceneGraphObject.h. |
|
Definition at line 82 of file _Surface.h. |
|
Definition at line 259 of file SceneGraphObject.cc. References SceneGraphObject::_have_private_diff_brdf(), SceneGraphObject::_have_shared_diff_brdf(), SceneGraphObject::_pAutoDiffuseBRDF, and SceneGraphObject::_pDiffuseBRDF. |
|
Reimplemented from SceneGraphObject. Definition at line 80 of file _Surface.h. |
|
Reimplemented from SceneGraphObject. Definition at line 78 of file _Surface.h. |
|
Definition at line 286 of file SceneGraphObject.cc. References SceneGraphObject::_have_private_spec_brdf(), SceneGraphObject::_have_shared_spec_brdf(), SceneGraphObject::_pAutoSpecularBRDF, and SceneGraphObject::_pSpecularBRDF. |
|
Definition at line 342 of file SceneGraphObject.cc. References SceneGraphObject::_have_private_texture(), SceneGraphObject::_have_shared_texture(), SceneGraphObject::_pAutoTexture, and SceneGraphObject::_pTexture. |
|
Reimplemented from SceneGraphObject. Definition at line 84 of file _Surface.h. |
|
Definition at line 81 of file _Surface.h. |
|
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(). |
|
Reimplemented from SceneGraphObject. Definition at line 79 of file _Surface.h. |
|
Reimplemented from SceneGraphObject. Definition at line 77 of file _Surface.h. |
|
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(). |
|
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(). |
|
Reimplemented from SceneGraphObject. Definition at line 83 of file _Surface.h. |
|
Sets UV coordinates of polygon's vertices. Old coords are deleted, if any.
Definition at line 980 of file Polygon.cc. References Polygon::_uvCoords. Referenced by Polygon::Polygon(). |
|
Sets polygon's vertices. Old vertices, their normals and UV coordinates are deleted. Facet normal is computed from vertices.
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(). |
|
Definition at line 147 of file SceneGraphObject.h. |
|
Definition at line 140 of file SceneGraphObject.h. |
|
Determines whether this SG node supports energy coats
Reimplemented in LightSource, and Shape. Definition at line 163 of file SceneGraphObject.h. |
|
Determines whether the SG node is tangible (usefull mainly for Spatial Data Structures - SDS)
Definition at line 197 of file SceneGraphObject.h. Referenced by OctTree::append(), Heap::append(), and BVH::append(). |
|
Reimplemented from SceneGraphObject. Definition at line 101 of file _Surface.h. |
|
Reimplemented from SceneGraphObject. Definition at line 95 of file _Surface.h. |
|
Reimplemented from SceneGraphObject. Definition at line 100 of file _Surface.h. |
|
Reimplemented from SceneGraphObject. Definition at line 94 of file _Surface.h. |
|
Method that allows to inspect subnodes
Implements SceneGraphObject. |
|
Definition at line 24 of file _Surface.h. |
|
Definition at line 27 of file Polygon.h. Referenced by Polygon::Polygon(), Triangle::randomSample(), and Polygon::setVertices(). |
|
best projection plane
Definition at line 26 of file Polygon.h. Referenced by OSGPolygon::_duplicate_attributes(), _Surface::_duplicate_attributes(), and Polygon::_set_edge_projection(). |
|
|
Definition at line 23 of file Geometry.h. Referenced by Geometry::_duplicate_attributes(), and Geometry::mesh(). |
|
object name
Definition at line 42 of file SceneGraphObject.h. Referenced by SceneGraphObject::SceneGraphObject(), and SceneGraphObject::~SceneGraphObject(). |
|
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(). |
|
|
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(). |
|
|
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(). |
|
(unique) object identificator
Definition at line 41 of file SceneGraphObject.h. |
|
|
|
|
|
|
|
|
|
|
Definition at line 59 of file SceneGraphObject.h. Referenced by SceneGraphObject::appendPrivateAttribute(), SceneGraphObject::inspectAttributes(), and SceneGraphObject::~SceneGraphObject(). |
|
Definition at line 57 of file SceneGraphObject.h. Referenced by SceneGraphObject::appendPrivateMaterial(), SceneGraphObject::inspectMaterials(), and SceneGraphObject::~SceneGraphObject(). |
|
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(). |
|
|
|
|
Definition at line 60 of file SceneGraphObject.h. Referenced by SceneGraphObject::appendSharedAttribute(), SceneGraphObject::inspectAttributes(), and SceneGraphObject::~SceneGraphObject(). |
|
Definition at line 58 of file SceneGraphObject.h. Referenced by SceneGraphObject::appendSharedMaterial(), SceneGraphObject::inspectMaterials(), and SceneGraphObject::~SceneGraphObject(). |
|
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(). |
|
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(). |
|
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(). |
|
|
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(). |
|
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(). |