H3D API  2.4.1
Classes | Public Member Functions | Public Attributes | Protected Attributes | List of all members
H3D::Node::LineIntersectResult Struct Reference

Used as input to lineIntersect functions. More...

#include <H3D/Node.h>

Inheritance diagram for H3D::Node::LineIntersectResult:
Inheritance graph

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

Detailed Description

Used as input to lineIntersect functions.

It is basically like NodeIntersectResult with the additional feature of handling X3DPointingDeviceNode features as per X3D specification.

Member Data Documentation

◆ geom_ptd_map

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


The documentation for this struct was generated from the following file: