awViewing.Intersector Class Reference


Detailed Description

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

List of all members.

Public Member Functions

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

Protected Member Functions

  __del__ ()

Member Function Documentation

awViewing.Intersector.__init__ ( )
bool awViewing.Intersector.intersect ( float  x,
float  y 
)

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

int awViewing.Intersector.hitCount ( )

Returns the number of hits.

awScene::NodeRef awViewing.Intersector.getHit ( int  index )

Returns the node for a particular hit.

awLinear::Point awViewing.Intersector.getIntersectionPoint ( int  index )

Returns the the intersection point by index.

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

awLinear::Normal awViewing.Intersector.getNormalAtIntersection ( int  index )

Returns the normal at the intersection by index.

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

int awViewing.Intersector.getPatchIndexAtIntersection ( awScene::NodeRef  node,
int  index 
)

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.

awLinear::Point2 awViewing.Intersector.getUVAtIntersection ( int  index )

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.

bool awViewing.Intersector.intersectManips ( float  x,
float  y,
awScene::NodeRef  startNode 
)
awViewing.Intersector.__del__ ( ) [protected]

awViewing.Intersector awViewing.Intersector awViewing.Intersector awViewing.Intersector awViewing.Intersector awViewing.Intersector awViewing.Intersector awViewing.Intersector awViewing.Intersector awViewing.Intersector
awViewing.Intersector awViewing.Intersector awViewing.Intersector awViewing.Intersector awViewing.Intersector awViewing.Intersector awViewing.Intersector awViewing.Intersector awViewing.Intersector awViewing.Intersector