#include <sch/STP-BV/STP_BV_P.h>
Public Member Functions | |
SCH_API | STP_BV_P (void) |
virtual SCH_API STP_BV_P * | clone () const |
Returns a copy of this S_Object. More... | |
virtual SCH_API Point3 | l_Support (const Vector3 &v, int &lastFeature) const |
gives the support point for a given vector in local cordinates and a given last feature. MUST BE OVERLOADED. More... | |
virtual SCH_API void | constructFromFile (const std::string &filename) |
Constructs the object from a file describing its STP_BV decomposition. More... | |
virtual SCH_API | ~STP_BV_P (void) |
virtual SCH_API S_ObjectType | getType () const |
must be overloaded to return the type More... | |
![]() | |
SCH_API | STP_BV (void) |
SCH_API | STP_BV (const STP_BV &) |
virtual SCH_API | ~STP_BV (void) |
virtual SCH_API STP_BV & | operator= (const STP_BV &) |
virtual SCH_API void | constructFromFileWithGL (const std::string &filename) |
virtual SCH_API void | loadFromBinary (const std::string &filename) |
Load the object from a binary archive. More... | |
virtual SCH_API void | saveToBinary (const std::string &filename) |
Save the object to a binary archive. More... | |
SCH_API void | saveTreeInFile (const std::string &treefilename, ArchiveType type=TEXT_ARCHIVE) |
SCH_API void | addPatch (STP_Feature *patch) |
Adds a bouding volume to the object. More... | |
SCH_API void | printSupportTree (std::string filename) const |
Print the support tree in a file. More... | |
virtual SCH_API Scalar | supportH (const Vector3 &v) const |
virtual SCH_API Point3 | supportNaive (const Vector3 &v) const |
virtual SCH_API Point3 | supportFarthestNeighbour (const Vector3 &v, int &lastFeature) const |
virtual SCH_API Point3 | supportFarthestNeighbourPrime (const Vector3 &v, int &lastFeature) const |
virtual SCH_API Point3 | supportHybrid (const Vector3 &v, int &lastFeature) const |
virtual SCH_API Point3 | supportFirstNeighbour (const Vector3 &v, int &lastFeature) const |
virtual SCH_API Point3 | supportFirstNeighbourPrime (const Vector3 &v, int &lastFeature) const |
gives the support for a vector using the First neighbour method. More... | |
virtual SCH_API bool | ray_cast (const Point3 &source, const Point3 &target, Scalar ¶m, Vector3 &normal) const |
I don't know. More... | |
SCH_API int | getFeaturesNumber () const |
returns the vertex number in the STP-BV More... | |
const std::vector< sch::Geometry > & | getGeometries () const |
template<class Archive > | |
void | load (Archive &ar, const unsigned int) |
template<class Archive > | |
void | save (Archive &ar, const unsigned int) const |
Scalar | getBigRadius () const |
Scalar | getSmallRadius () const |
![]() | |
SCH_API | S_ObjectNormalized (void) |
virtual SCH_API | ~S_ObjectNormalized (void) |
virtual SCH_API Point3 | support (const Vector3 &v) const |
put the vector NORMALIZED it in objects coordinates, then calls l_support. DO NOT OVERLOAD IT UNLESS YOU KNOW WHAT YOU ARE DOING (if you want to define the support function, overload l_support) More... | |
virtual SCH_API Point3 | support (const Vector3 &v, int &LastFeature) const |
version of support with last feature optimization More... | |
template<class Archive > | |
void | serialize (Archive &ar, const unsigned int) |
![]() | |
SCH_API | S_Object (void) |
virtual SCH_API | ~S_Object (void) |
SCH_API void | setOrientation (const Matrix3x3 &Rotation) |
SCH_API void | setOrientation (const Scalar &r00, const Scalar &r01, const Scalar &r02, const Scalar &r10, const Scalar &r11, const Scalar &r12, const Scalar &r20, const Scalar &r21, const Scalar &r22) |
SCH_API void | setOrientation (const Quaternion quaternion) |
SCH_API void | setOrientation (const Scalar &q0, const Scalar &q1, const Scalar &q2, const Scalar &q3) |
SCH_API void | setOrientation (const Scalar &yaw, const Scalar &pitch, const Scalar &roll) |
SCH_API void | setOrientation (const Scalar *const p) |
SCH_API void | setOrientation (const Scalar &angle, const Vector3 &axe) |
SCH_API void | setPosition (const Vector3 &v) |
Sets the position. More... | |
SCH_API void | setPosition (const Scalar &x, const Scalar &y, const Scalar &z) |
SCH_API void | setPosition (const Scalar *const v) |
SCH_API void | setTransformation (const Matrix4x4 &transformation) |
Sets the transformation matrix. More... | |
SCH_API void | addRotation (const Matrix3x3 &Rotation) |
composes the current orientation with a Rotation More... | |
SCH_API void | addRotation (const Scalar &r00, const Scalar &r01, const Scalar &r02, const Scalar &r10, const Scalar &r11, const Scalar &r12, const Scalar &r20, const Scalar &r21, const Scalar &r22) |
SCH_API void | addRotation (const Quaternion quaternion) |
SCH_API void | addRotation (const Scalar &q0, const Scalar &q1, const Scalar &q2, const Scalar &q3) |
SCH_API void | addRotation (const Scalar &angle, const Vector3 &axe) |
SCH_API void | addRotation (const Scalar &yaw, const Scalar &pitch, const Scalar &roll) |
SCH_API void | addRotation (const Scalar *const p) |
SCH_API void | addScale (const Scalar &x, const Scalar &y, const Scalar &z) |
composes the current transfornation with a scale More... | |
SCH_API void | addTransformation (const Matrix4x4 &transformation) |
composes the current transfornation with transformation matrix one More... | |
SCH_API void | resetTransformation () |
loads Identity More... | |
const SCH_API Vector3 & | getPosition () const |
returns the position More... | |
const SCH_API Matrix3x3 & | getOrientation () const |
returns the orientation as a rotation matrix More... | |
SCH_API void | getTransformationMatrix (Scalar *S) const |
puts the transfomation matrix in a sclar array More... | |
int | getSlices () const |
int | getStacks () const |
const S_ObjectTimeStamp & | checkStamp () const |
returns the current time stamp More... | |
template<class Archive > | |
void | serialize (Archive &ar, const unsigned int) |
SCH_API void | addTranslation (const Vector3 &v) |
SCH_API void | addTranslation (const Scalar *const v) |
SCH_API void | addTranslation (const Scalar &x, const Scalar &y, const Scalar &z) |
Additional Inherited Members | |
![]() | |
enum | S_ObjectType { TS_Object, TPolyhedron, TSTP_BV, TSphere, TBox, TSuperellipsoid, TSTP_BV_WithPolyhedron, TPoint, TCapsule, TCone, TCylinder } |
type of a solid object. Don't use it to cast ! More... | |
![]() | |
SCH_API void | loadTreeFromFile (const std::string &treefilename, ArchiveType type=TEXT_ARCHIVE) |
Load the tree structure of the object from a file. More... | |
SCH_API void | computeArcPointsBetween (const Point3 &p1, const Point3 &p2, const Point3 ¢er, int step, std::vector< Point3 > &res) const |
Computes the points of an arc. More... | |
SCH_API void | computeConePointsBetween (const Point3 &p1, const Point3 &p2, Vector3 axis, int step, std::vector< Point3 > &res, Matrix3x3 &homo) |
Computes the points of. More... | |
SCH_API Point3 | computeLinesCommonPoint (const Point3 &l1p1, const Point3 &l1p2, const Point3 &l2p1, const Point3 &l2p2) const |
Computes the intersection of two segments. More... | |
SCH_API Point3 | computeCenter (const std::vector< Point3 > &points) |
Computes the center of a surface defined by a list of points. More... | |
SCH_API void | updateFastPatches () |
Updates the dynamical array fastPatches. Must be called after each patches modification. More... | |
![]() | |
std::vector< STP_Feature * > | m_patches |
STP_Feature ** | m_fastPatches |
STP_Feature ** | m_lastPatches |
int | m_patchesSize |
Scalar | _r |
Scalar | _R |
std::vector< Geometry > | geometries_ |
![]() | |
S_ObjectTimeStamp | stamp_ |
int | stacks_ |
int | slices_ |
Matrix3x3 | mRot_ |
Vector3 | trans_ |
SCH_API sch::STP_BV_P::STP_BV_P | ( | void | ) |
|
virtual |
Returns a copy of this S_Object.
Reimplemented from sch::STP_BV.
|
virtual |
Constructs the object from a file describing its STP_BV decomposition.
filename | path to the file describing the STP_BV decomposition of the object \another file in the same folder with the same name but with ".otp" at the end must exist must be \ in the format of Qhull conconvex.exe output, called with these options : \ "qconvex.exe TI <input_filename> TO <output_filename> Qt o f" it will describe the convex hull of the polyhedric shape of the stpbv \ (example: in the folder : "home\" there are two files ; the STP_BV file : "home\STPBV.txt", and the Qhull output : "home\STPBV.txt.otp") |
Reimplemented from sch::STP_BV.
|
virtual |
must be overloaded to return the type
Reimplemented from sch::STP_BV.
|
virtual |
gives the support point for a given vector in local cordinates and a given last feature. MUST BE OVERLOADED.
v | direction vector (normalized) |
lastFeature | tells in which feature we were in last query, amd returns the new one. very important in spatio-temporal coherence |
Reimplemented from sch::STP_BV.