45 #ifndef CShapeCylinderH 46 #define CShapeCylinderH 54 #include "OpenGL/glu.h" 96 const double a_topRadius,
97 const double a_height,
112 const bool a_duplicateTextureData =
false,
113 const bool a_duplicateMeshData =
false,
114 const bool a_buildCollisionDetector =
false);
148 virtual void scaleObject(
const double& a_scaleFactor);
153 const unsigned int a_IDN);
170 const bool a_duplicateMaterialData,
171 const bool a_duplicateTextureData,
172 const bool a_duplicateMeshData,
173 const bool a_buildCollisionDetector);
This class implements a 3D vector.
Definition: CVector3d.h:88
This structures provide a containers for storing rendering options that are passed through the sceneg...
Definition: CRenderOptions.h:82
double m_baseRadius
base radius of cylinder.
Definition: CShapeCylinder.h:183
cShapeCylinder(const double a_baseRadius, const double a_topRadius, const double a_height, cMaterialPtr a_material=cMaterialPtr())
Constructor of cShapeCylinder.
Definition: CShapeCylinder.cpp:65
void setTopRadius(double a_topRadius)
This method sets the top radius of the cylinder.
Definition: CShapeCylinder.h:120
virtual void markForUpdate(const bool a_affectChildren=false)
This method invalidates any existing display lists, optionally propagating the operation to its child...
Definition: CGenericObject.cpp:1141
GLUquadricObj * m_quadric
rendering object.
Definition: CShapeCylinder.h:192
double getHeight() const
This method returns the height of the cylinder.
Definition: CShapeCylinder.h:132
This class implements a 3D shape cylinder.
Definition: CShapeCylinder.h:86
double m_topRadius
top radius of cylinder.
Definition: CShapeCylinder.h:186
void setHeight(double a_height)
This method sets the height of the cylinder.
Definition: CShapeCylinder.h:123
std::shared_ptr< cMaterial > cMaterialPtr
Definition: CMaterial.h:67
void setBaseRadius(double a_baseRadius)
This method sets the base radius of the cylinder.
Definition: CShapeCylinder.h:117
This class implements a base class for all 2D or 3D objects in CHAI3D.
Definition: CGenericObject.h:112
double getTopRadius() const
This method returns the top radius of the cylinder.
Definition: CShapeCylinder.h:129
This class implements a collision detection recorder that stores all collision events that are report...
Definition: CCollisionBasics.h:185
This structure stores the collision settings that are passed to a collision detector when querying fo...
Definition: CCollisionBasics.h:242
cShapeCylinder * copy(const bool a_duplicateMaterialData=false, const bool a_duplicateTextureData=false, const bool a_duplicateMeshData=false, const bool a_buildCollisionDetector=false)
This method creates a copy of itself.
Definition: CShapeCylinder.cpp:130
double m_height
height of cylinder.
Definition: CShapeCylinder.h:189
void copyShapeCylinderProperties(cShapeCylinder *a_obj, const bool a_duplicateMaterialData, const bool a_duplicateTextureData, const bool a_duplicateMeshData, const bool a_buildCollisionDetector)
This method copies all properties of this object to another.
Definition: CShapeCylinder.cpp:161
Implements a base class for all objects.
virtual void scaleObject(const double &a_scaleFactor)
This method scales the size of this object with given scale factor.
Definition: CShapeCylinder.cpp:358
double getBaseRadius() const
This method returns the base radius of the cylinder.
Definition: CShapeCylinder.h:126
virtual void updateBoundaryBox()
This method updates the boundary box of this object.
Definition: CShapeCylinder.cpp:342
virtual bool computeOtherCollisionDetection(cVector3d &a_segmentPointA, cVector3d &a_segmentPointB, cCollisionRecorder &a_recorder, cCollisionSettings &a_settings)
This method computes collisions between a segment and this object.
Definition: CShapeCylinder.cpp:391
Implements material properties.
virtual void render(cRenderOptions &a_options)
This method renders this object graphically using OpenGL.
Definition: CShapeCylinder.cpp:188
Definition: CAudioBuffer.cpp:56
virtual ~cShapeCylinder()
Destructor of cShapeCylinder.
Definition: CShapeCylinder.cpp:109
virtual void computeLocalInteraction(const cVector3d &a_toolPos, const cVector3d &a_toolVel, const unsigned int a_IDN)
This method updates the geometric relationship between the tool and the current object.
Definition: CShapeCylinder.cpp:272