Default/Base class to provide a context for registering intersections. More...
#include <OrientedBoxTreeTool.hpp>
Public Member Functions | |
virtual ErrorCode | register_intersection (EntityHandle set, EntityHandle tri, double dist, IntersectSearchWindow &, GeomUtil::intersection_type) |
virtual ErrorCode | update_orient (EntityHandle, int *) |
virtual const int * | getDesiredOrient () |
std::vector< double > | get_intersections () |
std::vector< EntityHandle > | get_facets () |
std::vector< EntityHandle > | get_sets () |
Protected Attributes | |
std::vector< double > | intersections |
std::vector< EntityHandle > | sets |
std::vector< EntityHandle > | facets |
Default/Base class to provide a context for registering intersections.
To enable different logic for how individual intersections are accumulated, depending on the usage of ray_intersect_sets().
The API to this context has 3 parts:
This implementation also provides a default NOP version that accumulates all intersections without logic.
A reference implementation can be found in GeomQueryTool::GQT_IntRegCtxt.
Definition at line 216 of file OrientedBoxTreeTool.hpp.
|
inline |
Definition at line 257 of file OrientedBoxTreeTool.hpp.
258 {
259 return facets;
260 };
References facets.
Referenced by moab::OrientedBoxTreeTool::ray_intersect_sets().
|
inline |
Definition at line 253 of file OrientedBoxTreeTool.hpp.
254 {
255 return intersections;
256 };
References intersections.
Referenced by moab::OrientedBoxTreeTool::ray_intersect_sets().
|
inline |
Definition at line 261 of file OrientedBoxTreeTool.hpp.
262 {
263 return sets;
264 };
References sets.
Referenced by moab::OrientedBoxTreeTool::ray_intersect_sets().
|
inlinevirtual |
Reimplemented in moab::GQT_IntRegCtxt.
Definition at line 248 of file OrientedBoxTreeTool.hpp.
249 {
250 return NULL;
251 };
Referenced by moab::RayIntersectSets::RayIntersectSets().
|
inlinevirtual |
Reimplemented in moab::GQT_IntRegCtxt, and moab::FindVolumeIntRegCtxt.
Definition at line 227 of file OrientedBoxTreeTool.hpp.
232 {
233 intersections.push_back( dist );
234 sets.push_back( set );
235 facets.push_back( tri );
236
237 return MB_SUCCESS;
238 };
References facets, intersections, MB_SUCCESS, and sets.
|
inlinevirtual |
Reimplemented in moab::GQT_IntRegCtxt.
Definition at line 242 of file OrientedBoxTreeTool.hpp.
243 {
244 return MB_SUCCESS;
245 };
References MB_SUCCESS.
|
protected |
Definition at line 222 of file OrientedBoxTreeTool.hpp.
Referenced by moab::GQT_IntRegCtxt::add_mode1_intersection(), moab::GQT_IntRegCtxt::append_intersection(), moab::FindVolumeIntRegCtxt::FindVolumeIntRegCtxt(), get_facets(), register_intersection(), moab::FindVolumeIntRegCtxt::register_intersection(), and moab::GQT_IntRegCtxt::set_intersection().
|
protected |
Definition at line 220 of file OrientedBoxTreeTool.hpp.
Referenced by moab::GQT_IntRegCtxt::add_intersection(), moab::GQT_IntRegCtxt::add_mode1_intersection(), moab::GQT_IntRegCtxt::append_intersection(), moab::FindVolumeIntRegCtxt::FindVolumeIntRegCtxt(), get_intersections(), register_intersection(), moab::FindVolumeIntRegCtxt::register_intersection(), and moab::GQT_IntRegCtxt::set_intersection().
|
protected |
Definition at line 221 of file OrientedBoxTreeTool.hpp.
Referenced by moab::GQT_IntRegCtxt::add_mode1_intersection(), moab::GQT_IntRegCtxt::append_intersection(), moab::FindVolumeIntRegCtxt::FindVolumeIntRegCtxt(), get_sets(), register_intersection(), moab::FindVolumeIntRegCtxt::register_intersection(), and moab::GQT_IntRegCtxt::set_intersection().