|
| 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.