Intersector Class Reference


Detailed Description

Intersector performs an intersection test for a given screen point and stores a list of intersections.

#include <Intersector.h>

Inheritance diagram for Intersector:
Inheritance graph
[legend]

List of all members.

Public Member Functions

  Intersector ()
virtual bool  intersect (double x, double y)=0
  Returns true if any object in the scene was hit by a ray projected into the scene.
virtual int  hitCount () const =0
  Returns the number of hits.
virtual awScene::NodeRef  getHit (int index) const =0
  Returns the node for a particular hit.
virtual awLinear::Point  getIntersectionPoint (int index) const =0
  Returns the the intersection point by index.
virtual awLinear::Normal  getNormalAtIntersection (int index) const =0
  Returns the normal at the intersection by index.
virtual double  getDistanceAtIntersection (int index) const =0
  Returns the distance to the intersection by index.
virtual int  getPatchIndexAtIntersection (awScene::NodeRef node, int index) const =0
  Returns the patch index at the intersection by index.
virtual awLinear::Point2  getUVAtIntersection (int index) const =0
  Returns the uv at the intersection by index.
virtual bool  intersectManips (double x, double y, const awScene::NodeRef startNode)=0

Protected Member Functions

virtual  ~Intersector ()

Constructor & Destructor Documentation

virtual ~Intersector ( ) [protected, virtual]

Member Function Documentation

virtual bool intersect ( double  x,
double  y 
) [pure virtual]

Returns true if any object in the scene was hit by a ray projected into the scene.

virtual int hitCount ( ) const [pure virtual]

Returns the number of hits.

virtual awScene::NodeRef getHit ( int  index ) const [pure virtual]

Returns the node for a particular hit.

virtual awLinear::Point getIntersectionPoint ( int  index ) const [pure virtual]

Returns the the intersection point by index.

If there is no intersection, then the origin is returned.

virtual awLinear::Normal getNormalAtIntersection ( int  index ) const [pure virtual]

Returns the normal at the intersection by index.

If there is no intersection, then a zero vector is returned.

virtual double getDistanceAtIntersection ( int  index ) const [pure virtual]

Returns the distance to the intersection by index.

Return -1.0 if index is out of range.

virtual int getPatchIndexAtIntersection ( awScene::NodeRef  node,
int  index 
) const [pure virtual]

Returns the patch index at the intersection by index.

If there is no intersection, -1 is returned. Node is necessary in order to map back into the original file indices, instead of the potentially optimized one.

virtual awLinear::Point2 getUVAtIntersection ( int  index ) const [pure virtual]

Returns the uv at the intersection by index.

If there is no intersection, then a zero vector is returned. You must make sure that the specified index is less than the hit count.

virtual bool intersectManips ( double  x,
double  y,
const awScene::NodeRef  startNode 
) [pure virtual]

Intersector Intersector Intersector Intersector Intersector Intersector Intersector Intersector Intersector Intersector
Intersector Intersector Intersector Intersector Intersector Intersector Intersector Intersector Intersector Intersector