#include <SIM_Slice.h>

Public Member Functions | |
| bool | isInsideSlice (const UT_Vector3 &pos) const |
| fpreal | getSliceBoundaryDist (const UT_Vector3 &pos) const |
| virtual UT_Vector3 | getCenter () const |
| This is used to determine which side of my parent I am on. | |
| int | countSlices () const |
| Count number of slices from myself and my children. | |
| void | buildSliceSearch (SIM_SliceSearchTable &table) const |
Static Public Member Functions | |
| static int | countSlices (const SIM_ConstDataArray &slices) |
| static void | buildSliceSearch (SIM_SliceSearchTable &table, SIM_ConstDataArray &slices) |
| static fpreal | computeSliceDist (const SIM_SliceSearchList &list, const UT_Vector3 &pos) |
| static bool | isInsideSlice (const SIM_SliceSearchList &list, const UT_Vector3 &pos) |
Protected Member Functions | |
| SIM_Slice (const SIM_DataFactory *factory) | |
| virtual | ~SIM_Slice () |
| virtual bool | isInsideSliceSubclass (const UT_Vector3 &pos) const |
| virtual fpreal | getSliceBoundaryDistSubclass (const UT_Vector3 &pos) const =0 |
| virtual UT_Vector3 | getCenterSubclass () const =0 |
| This is used to determine which side of my parent I am on. | |
Definition at line 57 of file SIM_Slice.h.
| SIM_Slice::SIM_Slice | ( | const SIM_DataFactory * | factory | ) | [explicit, protected] |
| virtual SIM_Slice::~SIM_Slice | ( | ) | [protected, virtual] |
| static void SIM_Slice::buildSliceSearch | ( | SIM_SliceSearchTable & | table, | |
| SIM_ConstDataArray & | slices | |||
| ) | [static] |
| void SIM_Slice::buildSliceSearch | ( | SIM_SliceSearchTable & | table | ) | const |
The nth entry of this list stores how to search for the nth slice.
| static fpreal SIM_Slice::computeSliceDist | ( | const SIM_SliceSearchList & | list, | |
| const UT_Vector3 & | pos | |||
| ) | [static] |
| static int SIM_Slice::countSlices | ( | const SIM_ConstDataArray & | slices | ) | [static] |
| int SIM_Slice::countSlices | ( | ) | const |
Count number of slices from myself and my children.
| virtual UT_Vector3 SIM_Slice::getCenter | ( | ) | const [virtual] |
This is used to determine which side of my parent I am on.
| virtual UT_Vector3 SIM_Slice::getCenterSubclass | ( | ) | const [protected, pure virtual] |
| fpreal SIM_Slice::getSliceBoundaryDist | ( | const UT_Vector3 & | pos | ) | const |
Returns the distance to the slice's boundary. If the point is inside the slice this is a negative distance, else positive.
| virtual fpreal SIM_Slice::getSliceBoundaryDistSubclass | ( | const UT_Vector3 & | pos | ) | const [protected, pure virtual] |
Returns the distance to the slice's boundary. If the point is inside the slice this is a negative distance, else positive. This is what must be overridden to make the slice do something interesting
Implemented in SIM_SlicePlane.
| static bool SIM_Slice::isInsideSlice | ( | const SIM_SliceSearchList & | list, | |
| const UT_Vector3 & | pos | |||
| ) | [static] |
This is different than a computeSliceDist < 0 because we need to ensure that we are consistent with <= against a zero result...
| bool SIM_Slice::isInsideSlice | ( | const UT_Vector3 & | pos | ) | const |
Returns whether we are inside this slice or not. true is inside. This corresponds to a negative slice boundary distance but is overrideable for efficiency.
| virtual bool SIM_Slice::isInsideSliceSubclass | ( | const UT_Vector3 & | pos | ) | const [protected, virtual] |
Returns whether we are inside this slice or not. true is inside. This corresponds to a negative slice boundary distance but is overrideable for efficiency. Default implementation just compares the distance with 0.
1.5.9