#include <NurbsSphere.h>
Inheritance diagram for NurbsSphere:

| Public Member Functions | |
| NurbsSphere (const SDS &ss, AutoPtr< Intersector > *it, float x, float y, float z, float r) | |
| 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 (void) const | 
| virtual double | radius (const Vector3 ¢roid) const | 
| virtual Geometry * | clone (const Matrix4 *pTrMat) const | 
| Geometry * | clone (void) const | 
| virtual bool | separation (Geometry &geom, Vector3 *pDir) | 
| virtual double | distance (const Geometry &geom, Vector3 *pDir) | 
| virtual void | dump (const char *intent, const char *tab) | 
| void | insideOut (bool b) | 
| Mesh * | mesh (int density=0) const | 
| virtual void | __debug () | 
| Static Public Attributes | |
| static const float | EPS = 1e-03 | 
| epsilon variation (tolerance) of zero | |
| Protected Member Functions | |
| void | _triangulate_surface (const ON_NurbsSurface &, const SDS &, AutoPtr< Intersector > *) | 
| virtual Mesh * | _mesh (int) const | 
| virtual void | _duplicate_attributes (const Geometry &src) | 
| 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) | 
| void | _translate (const Vector3 &v) | 
| virtual void | _transform (const Matrix4 &) | 
| virtual void | _scale (float) | 
| Protected Attributes | |
| Surface * | _pSurface | 
| triangulated surface | |
| bool | _insideOut | 
Definition at line 15 of file NurbsSphere.h.
| 
 | ||||||||||||||||||||||||||||
| Constructor. 
 
 Definition at line 5 of file NurbsSphere.cc. References NurbsSurface::_triangulate_surface(). | 
| 
 | 
| 
 Reimplemented in _Surface, FDH, Polygon, Sphere, and Surface. Definition at line 211 of file Geometry.h. Referenced by BVH::__debug(). | 
| 
 | 
| 
 Reimplemented from Geometry. Definition at line 135 of file NurbsSurface.cc. References Geometry::_duplicate_attributes(), and NurbsSurface::_pSurface. Referenced by NurbsSurface::clone(). | 
| 
 | 
| 
 Implements Geometry. Definition at line 126 of file NurbsSurface.cc. References NurbsSurface::_pSurface, and Geometry::mesh(). | 
| 
 | 
| 
 Implements Geometry. Definition at line 165 of file NurbsSurface.cc. References NurbsSurface::_pSurface, and Surface::_rotate(). | 
| 
 | ||||||||||||
| 
 Implements Geometry. Definition at line 160 of file NurbsSurface.cc. References NurbsSurface::_pSurface, and Surface::_rotate(). | 
| 
 | 
| 
 Implements Geometry. Definition at line 145 of file NurbsSurface.cc. References NurbsSurface::_pSurface, and Surface::_rotateX(). | 
| 
 | 
| 
 Implements Geometry. Definition at line 150 of file NurbsSurface.cc. References NurbsSurface::_pSurface, and Surface::_rotateY(). | 
| 
 | 
| 
 Implements Geometry. Definition at line 155 of file NurbsSurface.cc. References NurbsSurface::_pSurface, and Surface::_rotateZ(). | 
| 
 | 
| 
 Implements Geometry. Definition at line 180 of file NurbsSurface.cc. References NurbsSurface::_pSurface, and Surface::_scale(). | 
| 
 | 
| 
 Implements Geometry. Definition at line 175 of file NurbsSurface.cc. References NurbsSurface::_pSurface, and Surface::_transform(). Referenced by NurbsSurface::clone(). | 
| 
 | 
| 
 Definition at line 38 of file Geometry.h. | 
| 
 | ||||||||||||||||
| 
 Implements Geometry. Definition at line 170 of file NurbsSurface.cc. References NurbsSurface::_pSurface, and Surface::_translate(). | 
| 
 | ||||||||||||||||
| 
 Definition at line 6 of file NurbsSurface.cc. Referenced by NurbsSphere::NurbsSphere(), and NurbsSurface::NurbsSurface(). | 
| 
 | 
| 
 
 Implements Geometry. Definition at line 250 of file NurbsSurface.cc. References NurbsSurface::_pSurface, and Surface::centroid(). | 
| 
 | 
| Duplicates geometry 
 
 Reimplemented in _Surface, and OSGPolygon. Definition at line 155 of file Geometry.h. Referenced by BVH::__get_edges(), BVH::__get_meshes(), ObjsInAreaExplorer::_accept_new_transformation(), SphereTree::_enlarge_bv(), FDHTree::_enlarge_bv(), BVExplorer::_iterate(), BVDistRot::BVDistRot(), and ObjsInAreaExplorer::ObjsInAreaExplorer(). | 
| 
 | 
| Duplicates and transforms geometry 
 
 
 Implements Geometry. Definition at line 242 of file NurbsSurface.cc. References NurbsSurface::_duplicate_attributes(), NurbsSurface::_transform(), and NurbsSurface::NurbsSurface(). | 
| 
 | ||||||||||||
| Computes approximate distance between this and given geometries (lower bound of distance) 
 
 
 Implements Geometry. Definition at line 123 of file NurbsSurface.h. | 
| 
 | ||||||||||||
| Writes information about this geometry to std. out. 
 
 Implements Geometry. Definition at line 268 of file NurbsSurface.cc. References NurbsSurface::_pSurface, and Surface::dump(). | 
| 
 | ||||||||||||||||
| 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 231 of file NurbsSurface.cc. References NurbsSurface::_pSurface, Surface::extent(), Interval::max, MAXFLOAT, and Interval::min. | 
| 
 | 
| Inverts facet normals (turns the object inside-out) 
 
 Definition at line 56 of file Geometry.h. | 
| 
 | ||||||||||||
| Maps 3D point from surface to the UV surface representation 
 
 
 Implements Geometry. Definition at line 225 of file NurbsSurface.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(). | 
| 
 | 
| Returns radius of minimal packing sphere having given center 
 
 
 Implements Geometry. Definition at line 262 of file NurbsSurface.cc. References NurbsSurface::_pSurface, MAXDOUBLE, and Surface::radius(). | 
| 
 | 
| Returns radius of minimal packing sphere with center in the ceontroid of the geometry 
 
 
 Reimplemented from Geometry. Definition at line 256 of file NurbsSurface.cc. References NurbsSurface::_pSurface, MAXDOUBLE, and Surface::radius(). | 
| 
 | ||||||||||||||||
| Computes random direction towards the surface in accord to the point of view. 
 
 Implements Geometry. Definition at line 101 of file NurbsSurface.h. References NurbsSurface::_pSurface, and Surface::randomDirection(). | 
| 
 | ||||||||||||||||
| Computes random point on the surface 
 
 Implements Geometry. Definition at line 96 of file NurbsSurface.h. References NurbsSurface::_pSurface, ENV_HAVE_NOTHING, PointEnv::mask, and Surface::randomSample(). | 
| 
 | ||||||||||||||||||||||||
| Computes point of intersection of ray with this geometry 
 
 Implements Geometry. Definition at line 213 of file NurbsSurface.cc. References NurbsSurface::_pSurface, ENV_HAVE_NOTHING, and Surface::rayIntersection(). | 
| 
 | ||||||||||||
| Checks if there is separation between this and given geometries 
 
 
 Implements Geometry. Definition at line 119 of file NurbsSurface.h. | 
| 
 | 
| 
 Definition at line 23 of file Geometry.h. Referenced by Geometry::_duplicate_attributes(), and Geometry::mesh(). | 
| 
 | 
| 
 | 
| 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(). | 
 1.4.6
 1.4.6