|
enum | { DimZero = (1<<0),
DimOne = (1<<1),
DimTwo = (1<<2),
AllDims = (DimZero | DimOne | DimTwo)
} |
| dimension enum to specify primitive types to check. More...
|
|
typedef osg::Plane::Vec3_type | Vec3_type |
|
typedef std::set< Intersection > | Intersections |
|
enum | CoordinateFrame { WINDOW,
PROJECTION,
VIEW,
MODEL
} |
|
enum | IntersectionLimit { NO_LIMIT,
LIMIT_ONE_PER_DRAWABLE,
LIMIT_ONE,
LIMIT_NEAREST
} |
|
enum | PrecisionHint { USE_DOUBLE_CALCULATIONS,
USE_FLOAT_CALCULATIONS
} |
| Hint to precision used in the internal intersections calculations. More...
|
|
|
| PolytopeIntersector (const osg::Polytope &polytope) |
| Construct a PolytopeIntersector using specified polytope in MODEL coordinates. More...
|
|
| PolytopeIntersector (CoordinateFrame cf, const osg::Polytope &polytope) |
| Construct a PolytopeIntersector using specified polytope in specified coordinate frame. More...
|
|
| PolytopeIntersector (CoordinateFrame cf, double xMin, double yMin, double xMax, double yMax) |
| Convenience constructor for supporting picking in WINDOW, or PROJECTION coordinates In WINDOW coordinates (clip space cube) creates a five sided polytope box that has a front face at 0.0 and sides around box xMin, yMin, xMax, yMax. More...
|
|
void | insertIntersection (const Intersection &intersection) |
|
Intersections & | getIntersections () |
|
Intersection | getFirstIntersection () |
|
unsigned int | getDimensionMask () const |
|
void | setDimensionMask (unsigned int dimensionMask) |
| set the dimension mask. More...
|
|
const osg::Plane & | getReferencePlane () const |
|
void | setReferencePlane (const osg::Plane &plane) |
| set the plane used to sort the intersections. More...
|
|
virtual Intersector * | clone (osgUtil::IntersectionVisitor &iv) |
|
virtual bool | enter (const osg::Node &node) |
|
virtual void | leave () |
|
virtual void | intersect (osgUtil::IntersectionVisitor &iv, osg::Drawable *drawable) |
|
virtual void | reset () |
|
virtual bool | containsIntersections () |
|
| Intersector (CoordinateFrame cf=MODEL, IntersectionLimit il=NO_LIMIT) |
|
void | setCoordinateFrame (CoordinateFrame cf) |
|
CoordinateFrame | getCoordinateFrame () const |
|
void | setIntersectionLimit (IntersectionLimit limit) |
|
IntersectionLimit | getIntersectionLimit () const |
|
bool | disabled () const |
|
void | incrementDisabledCount () |
|
void | decrementDisabledCount () |
|
bool | reachedLimit () |
|
void | setPrecisionHint (PrecisionHint hint) |
| Set the hint to what precision to use in the intersections calculations. More...
|
|
PrecisionHint | getPrecisionHint () const |
| Get the hint to what precision should be used in the intersections calculations. More...
|
|
| Referenced (bool threadSafeRefUnref) |
|
| Referenced (const Referenced &) |
|
Referenced & | operator= (const Referenced &) |
|
virtual void | setThreadSafeRefUnref (bool threadSafe) |
| Set whether to use a mutex to ensure ref() and unref() are thread safe. More...
|
|
bool | getThreadSafeRefUnref () const |
| Get whether a mutex is used to ensure ref() and unref() are thread safe. More...
|
|
bool | getThreadSafeRefUnref () const |
|
OpenThreads::Mutex * | getRefMutex () const |
| Get the mutex used to ensure thread safety of ref()/unref(). More...
|
|
OpenThreads::Mutex * | getRefMutex () const |
|
int | ref () const |
| Increment the reference count by one, indicating that this object has another pointer which is referencing it. More...
|
|
int | unref () const |
| Decrement the reference count by one, indicating that a pointer to this object is no longer referencing it. More...
|
|
int | unref_nodelete () const |
| Decrement the reference count by one, indicating that a pointer to this object is no longer referencing it. More...
|
|
int | referenceCount () const |
| Return the number of pointers currently referencing this object. More...
|
|
ObserverSet * | getObserverSet () const |
| Get the ObserverSet if one is attached, otherwise return NULL. More...
|
|
ObserverSet * | getOrCreateObserverSet () const |
| Get the ObserverSet if one is attached, otherwise create an ObserverSet, attach it, then return this newly created ObserverSet. More...
|
|
void | addObserver (Observer *observer) const |
| Add a Observer that is observing this object, notify the Observer when this object gets deleted. More...
|
|
void | removeObserver (Observer *observer) const |
| Remove Observer that is observing this object. More...
|
|
Concrete class for implementing polytope intersections with the scene graph.
To be used in conjunction with IntersectionVisitor.
osgUtil::PolytopeIntersector::PolytopeIntersector |
( |
CoordinateFrame |
cf, |
|
|
double |
xMin, |
|
|
double |
yMin, |
|
|
double |
xMax, |
|
|
double |
yMax |
|
) |
| |
Convenience constructor for supporting picking in WINDOW, or PROJECTION coordinates In WINDOW coordinates (clip space cube) creates a five sided polytope box that has a front face at 0.0 and sides around box xMin, yMin, xMax, yMax.
In PROJECTION coordinates (clip space cube) creates a five sided polytope box that has a front face at -1 and sides around box xMin, yMin, xMax, yMax. In VIEW and MODEL coordinates (clip space cube) creates a five sided polytope box that has a front face at 0.0 and sides around box xMin, yMin, xMax, yMax.