sch::S_Cone Class Reference

#include <sch/S_Object/S_Cone.h>

Inheritance diagram for sch::S_Cone:
Collaboration diagram for sch::S_Cone:

Public Member Functions

SCH_API S_Cone (const Scalar &angle, const Scalar &height)
 constructor the cone centered at the apex and having its axis aligned on the z axis and directed above More...
 
virtual SCH_API ~S_Cone ()
 
virtual SCH_API S_Coneclone () 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 Scalar getAngle () const
 
virtual SCH_API Scalar getHeight () 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 angle_
 
Scalar height_
 
Scalar angleTan_
 
Scalar baseRadius_
 
- 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...
 

Constructor & Destructor Documentation

◆ S_Cone()

SCH_API sch::S_Cone::S_Cone ( const Scalar angle,
const Scalar height 
)

constructor the cone centered at the apex and having its axis aligned on the z axis and directed above

Parameters
angleis the angle between the axis of the cone and the side of the cone. Make sure the angle is less than pi/2
heightis the height of the cone.

◆ ~S_Cone()

virtual SCH_API sch::S_Cone::~S_Cone ( )
virtual

Member Function Documentation

◆ clone()

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

Returns a copy of this S_Object.

Implements sch::S_Object.

◆ getAngle()

virtual SCH_API Scalar sch::S_Cone::getAngle ( ) const
virtual

◆ getHeight()

virtual SCH_API Scalar sch::S_Cone::getHeight ( ) const
virtual

◆ getType()

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

must be overloaded to return the type

Reimplemented from sch::S_Object.

◆ l_Support()

virtual SCH_API Point3 sch::S_Cone::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

◆ angle_

Scalar sch::S_Cone::angle_
protected

◆ angleTan_

Scalar sch::S_Cone::angleTan_
protected

◆ baseRadius_

Scalar sch::S_Cone::baseRadius_
protected

◆ height_

Scalar sch::S_Cone::height_
protected

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