|
H3D API
2.4.1
|
Used as input to lineIntersect functions. More...
#include <H3D/Node.h>

Classes | |
| struct | PointingDeviceResultStruct |
| Contains a list of Nodes (X3DPointingDeviceNodes) and a transformation matrix from global space to local space of the nodes. More... | |
Public Member Functions | |
| LineIntersectResult (bool _override_no_collision=false, bool _detect_pt_device=false, void *_user_data=0, bool _collide_invisible=false) | |
| Constructor. | |
| void | pushCurrentPtDevice (PointingDeviceResultStruct &tmp) |
| Push struct to current_pt_device stack. | |
| void | popCurrentPtDevice () |
| Pop struct from current_pt_device stack. | |
| void | addPtDevMap () |
| Add current pointing device struct to geom_ptd_map. | |
| virtual void | clearData () |
| Clears data so the struct can be used in a closestPoint function again. | |
| bool | hasCurrentPointingDevice () |
| Check if there aer any pointing device sensors added. | |
Public Member Functions inherited from H3D::Node::NodeIntersectResult | |
| void | addTransform () |
| Adds the current transform from local coordinate space to global coordinate space to geometry_transforms. | |
| const vector< Matrix4f > & | getGeometryTransforms () |
| Get the info in geometry_transforms. | |
| const Matrix4f & | getCurrentTransform () |
| Get the current matrix that transforms from local coordinate space to global coordinate space. | |
| void | pushTransform (const Matrix4f &matrix) |
| Push onto stack of current transforms. More... | |
| void | popTransform () |
| Remove the top on the stack of current transforms. | |
| void | transformResult () |
| Transforms point and normal in the IntersectionInfo vector from local to global space. | |
| void | addResults (IntersectionInfo &temp_result, Node *the_node, bool add_transform=true) |
| Convenience function to add results to the struct. | |
Public Attributes | |
| bool | detect_pt_device |
| Flag used to know if lineintersect should bother with keeping track of X3DPointingDeviceSensorNodes. | |
| GeomX3DPtdMap | geom_ptd_map |
| Used in order to keep track of DEF/USE feature of X3D. More... | |
Public Attributes inherited from H3D::Node::NodeIntersectResult | |
| vector< Node * > | theNodes |
| A vector of pointers to nodes. More... | |
| vector< IntersectionInfo > | result |
| A vector of HAPI::IntersectionInfo that stores result of intersection such as point and normal. More... | |
| void * | user_data |
| Optional user_data in case someone want to do add some extra feature to collision functions in one or several custom made nodes. | |
| bool | override_no_collision |
| Flag used to know if collision function should be called for the children in the Collision Node regardless if it is enabled or not. | |
| bool | collide_invisible |
| Flag used to know if collision function should be called for the children in a ToogleGroup Node even if graphicsOn is false. More... | |
Protected Attributes | |
| stack< PointingDeviceResultStruct > | current_pt_device |
| The top of the stack contains the X3DPointingDeviceNodes that is to be considered. | |
Protected Attributes inherited from H3D::Node::NodeIntersectResult | |
| vector< Matrix4f > | geometry_transforms |
| A vector of matrices from the local coordinate space to global space for each node that the line intersects. | |
| stack< Matrix4f > | current_matrix |
| The top of the stack is the current matrix that transforms from the local coordinate space where this Node resides in the scenegraph to global space. | |
Used as input to lineIntersect functions.
It is basically like NodeIntersectResult with the additional feature of handling X3DPointingDeviceNode features as per X3D specification.
| GeomX3DPtdMap H3D::Node::LineIntersectResult::geom_ptd_map |
Used in order to keep track of DEF/USE feature of X3D.
Maps indexes in theNodes vector to PointingDeviceResultStruct which contains info about the X3DPointingDeviceNodes.
Referenced by H3D::X3DPointingDeviceSensorNode::updateX3DPointingDeviceSensors().