33 #ifndef __H__UG__NODE_TREE__TRAVERSER_PROJECT_POINT__
34 #define __H__UG__NODE_TREE__TRAVERSER_PROJECT_POINT__
Definition: smart_pointer.h:108
A group node featuring a bounding box.
Definition: boxed_group_node.h:56
holds index pairs defining edges.
Definition: collision_edges_node.h:57
A group node featuring a bounding box and a set of points.
Definition: collision_tree_root_node.h:55
holds index tuples defining triangles.
Definition: collision_triangles_node.h:61
You can group nodes using the GroupNode.
Definition: group_node.h:56
Enhances the Traverser base-class by methods to traverse a collision tree.
Definition: traverser_collision_tree.h:62
traverses a node-tree and projects a given point to the contained geometry.
Definition: traverser_project_point.h:45
int get_closest_element_type()
returns the type of the element to which the closest distance was found.
virtual void handle_boxed_group(BoxedGroupNode *boxedGroup)
Definition: traverser_project_point.cpp:147
virtual void handle_group(GroupNode *group)
Definition: traverser_project_point.cpp:95
bool m_checkNormals
Definition: traverser_project_point.h:87
virtual bool project(const vector3 &point, SPNode nodeGraph, vector3 *pPointNormal=NULL)
Definition: traverser_project_point.cpp:68
int m_closestElemType
Definition: traverser_project_point.h:94
virtual void handle_collision_edges(CollisionEdgesNode *colTrisNode)
Definition: traverser_project_point.cpp:181
CollisionTreeRootNode * m_closestRootNode
Definition: traverser_project_point.h:96
CollisionElementID m_closestElemID
Definition: traverser_project_point.h:95
int m_closestElemIndices[3]
Definition: traverser_project_point.h:93
vector3 m_point
Definition: traverser_project_point.h:81
CollisionElementID get_closest_element_id()
Definition: traverser_project_point.cpp:90
vector3 m_closestPoint
Definition: traverser_project_point.h:82
Traverser_ProjectPoint()
Definition: traverser_project_point.cpp:57
SearchState m_searchState
Definition: traverser_project_point.h:86
vector3 m_boxMin
Definition: traverser_project_point.h:90
virtual void handle_collision_triangles(CollisionTrianglesNode *colTrisNode)
Definition: traverser_project_point.cpp:219
virtual ~Traverser_ProjectPoint()
Definition: traverser_project_point.cpp:63
number get_distance()
Definition: traverser_project_point.h:63
vector3 get_closest_point()
Definition: traverser_project_point.h:65
vector3 m_boxMax
Definition: traverser_project_point.h:91
number m_distance
Definition: traverser_project_point.h:83
SearchState
Definition: traverser_project_point.h:75
@ GOT_ONE
Definition: traverser_project_point.h:78
@ FORCE_FIND
Definition: traverser_project_point.h:77
@ SEARCHING
Definition: traverser_project_point.h:76
vector3 m_pointNormal
Definition: traverser_project_point.h:88
double number
Definition: types.h:124
Definition: collision_element_info.h:53