sch::S_Superellipsoid Class Reference

#include <sch/S_Object/S_Superellipsoid.h>

Inheritance diagram for sch::S_Superellipsoid:
Collaboration diagram for sch::S_Superellipsoid:

Public Member Functions

SCH_API S_Superellipsoid (Scalar a, Scalar b, Scalar c, Scalar epsilon1, Scalar epsilon2)
 
virtual SCH_API ~S_Superellipsoid (void)
 
virtual SCH_API S_Superellipsoidclone () 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 S_ObjectType getType () const
 must be overloaded to return the type More...
 
virtual SCH_API void getEllipsoidParameter (Scalar &a, Scalar &b, Scalar &c, Scalar &epsilon1, Scalar &epsilon2) const
 
- Public Member Functions inherited from sch::S_ObjectNonNormalized
SCH_API S_ObjectNonNormalized (void)
 
SCH_API ~S_ObjectNonNormalized (void)
 
virtual SCH_API Point3 support (const Vector3 &v) const
 put the vector in objects coordinates, then calls l_support, without normalizing it More...
 
virtual SCH_API Point3 support (const Vector3 &v, int &LastFeature) const
 put the vector in objects coordinates, then calls l_support, without normalizing it More...
 
template<class Archive >
void serialize (Archive &ar, const unsigned int)
 
- Public Member Functions inherited from sch::S_Object
SCH_API S_Object (void)
 
virtual SCH_API ~S_Object (void)
 
virtual SCH_API void constructFromFile (const std::string &filename)
 
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 Vector3getPosition () const
 returns the position More...
 
const SCH_API Matrix3x3getOrientation () 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_ObjectTimeStampcheckStamp () 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)
 

Protected Attributes

Scalar a_
 
Scalar b_
 
Scalar c_
 
Scalar epsilon1_
 
Scalar epsilon2_
 
Scalar _2_e1on2
 
Scalar _2_e2on2
 
Scalar _2on2_e1
 
Scalar _2on2_e2
 
- Protected Attributes inherited from sch::S_Object
S_ObjectTimeStamp stamp_
 
int stacks_
 
int slices_
 
Matrix3x3 mRot_
 
Vector3 trans_
 

Additional Inherited Members

- Public Types inherited from sch::S_Object
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...
 

Detailed Description

Examples
example0.cpp, and example1.cpp.

Constructor & Destructor Documentation

◆ S_Superellipsoid()

SCH_API sch::S_Superellipsoid::S_Superellipsoid ( Scalar  a,
Scalar  b,
Scalar  c,
Scalar  epsilon1,
Scalar  epsilon2 
)

◆ ~S_Superellipsoid()

virtual SCH_API sch::S_Superellipsoid::~S_Superellipsoid ( void  )
virtual

Member Function Documentation

◆ clone()

virtual SCH_API S_Superellipsoid* sch::S_Superellipsoid::clone ( ) const
virtual

Returns a copy of this S_Object.

Implements sch::S_Object.

◆ getEllipsoidParameter()

virtual SCH_API void sch::S_Superellipsoid::getEllipsoidParameter ( Scalar a,
Scalar b,
Scalar c,
Scalar epsilon1,
Scalar epsilon2 
) const
virtual

◆ getType()

virtual SCH_API S_ObjectType sch::S_Superellipsoid::getType ( ) const
virtual

must be overloaded to return the type

Reimplemented from sch::S_Object.

◆ l_Support()

virtual SCH_API Point3 sch::S_Superellipsoid::l_Support ( const Vector3 v,
int &  lastFeature 
) const
virtual

gives the support point for a given vector in local cordinates and a given last feature. MUST BE OVERLOADED.

Parameters
vdirection vector (normalized)
lastFeaturetells in which feature we were in last query, amd returns the new one. very important in spatio-temporal coherence
Returns
returns the support point.

Implements sch::S_Object.

Member Data Documentation

◆ _2_e1on2

Scalar sch::S_Superellipsoid::_2_e1on2
protected

◆ _2_e2on2

Scalar sch::S_Superellipsoid::_2_e2on2
protected

◆ _2on2_e1

Scalar sch::S_Superellipsoid::_2on2_e1
protected

◆ _2on2_e2

Scalar sch::S_Superellipsoid::_2on2_e2
protected

◆ a_

Scalar sch::S_Superellipsoid::a_
protected

◆ b_

Scalar sch::S_Superellipsoid::b_
protected

◆ c_

Scalar sch::S_Superellipsoid::c_
protected

◆ epsilon1_

Scalar sch::S_Superellipsoid::epsilon1_
protected

◆ epsilon2_

Scalar sch::S_Superellipsoid::epsilon2_
protected

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