45 #ifndef CShapeEllipsoidH 46 #define CShapeEllipsoidH 54 #include "OpenGL/glu.h" 96 const double& a_radiusY,
97 const double& a_radiusZ,
112 const bool a_duplicateTextureData =
false,
113 const bool a_duplicateMeshData =
false,
114 const bool a_buildCollisionDetector =
false);
117 void setRadii(
const double& a_radiusX,
const double& a_radiusY,
const double& a_radiusZ);
151 virtual void scaleObject(
const double& a_scaleFactor);
156 const unsigned int a_IDN);
173 const bool a_duplicateMaterialData,
174 const bool a_duplicateTextureData,
175 const bool a_duplicateMeshData,
176 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
GLUquadricObj * m_quadric
rendering object.
Definition: CShapeEllipsoid.h:195
double m_radiusX
Radius of ellipsoid along x axis.
Definition: CShapeEllipsoid.h:186
virtual ~cShapeEllipsoid()
Destructor of cShapeEllipsoid.
Definition: CShapeEllipsoid.cpp:108
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: CShapeEllipsoid.cpp:454
void setRadiusZ(const double &a_radiusZ)
This method sets the radius of the ellipsoid along the z axis.
Definition: CShapeEllipsoid.cpp:255
void setRadii(const double &a_radiusX, const double &a_radiusY, const double &a_radiusZ)
This method sets the radis of the ellipsoid along the x, y, and z axes.
Definition: CShapeEllipsoid.cpp:193
std::shared_ptr< cMaterial > cMaterialPtr
Definition: CMaterial.h:67
virtual void render(cRenderOptions &a_options)
This method renders this object graphically using OpenGL.
Definition: CShapeEllipsoid.cpp:275
void setRadiusX(const double &a_radiusX)
This method sets the radius of the ellipsoid along the x axis.
Definition: CShapeEllipsoid.cpp:215
void setRadiusY(const double &a_radiusY)
This method sets the radius of the ellipsoid along the y axis.
Definition: CShapeEllipsoid.cpp:235
This class implements a base class for all 2D or 3D objects in CHAI3D.
Definition: CGenericObject.h:112
double getRadiusY() const
This method returns the radius of the ellipsoid along the y axis.
Definition: CShapeEllipsoid.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
double m_radiusZ
Radius of ellipsoid along z axis.
Definition: CShapeEllipsoid.h:192
void copyShapeEllipsoidProperties(cShapeEllipsoid *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: CShapeEllipsoid.cpp:163
Implements a base class for all objects.
This class implements a 3D shape ellipsoid.
Definition: CShapeEllipsoid.h:86
double getRadiusX() const
This method returns the radius of the ellipsoid along the x axis.
Definition: CShapeEllipsoid.h:123
double m_radiusY
Radius of ellipsoid along y axis.
Definition: CShapeEllipsoid.h:189
double getRadiusZ() const
This method returns the radius of the ellipsoid along the z axis.
Definition: CShapeEllipsoid.h:135
Implements material properties.
virtual void scaleObject(const double &a_scaleFactor)
This method scales the size of this object with given scale factor.
Definition: CShapeEllipsoid.cpp:421
Definition: CAudioBuffer.cpp:56
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: CShapeEllipsoid.cpp:358
cShapeEllipsoid(const double &a_radiusX, const double &a_radiusY, const double &a_radiusZ, cMaterialPtr a_material=cMaterialPtr())
Constructor of cShapeEllipsoid.
Definition: CShapeEllipsoid.cpp:72
cShapeEllipsoid * 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: CShapeEllipsoid.cpp:129
virtual void updateBoundaryBox()
This method updates the boundary box of this object.
Definition: CShapeEllipsoid.cpp:407