88 const double& a_sizeY,
89 const double& a_sizeZ,
104 const bool a_duplicateTextureData =
false,
105 const bool a_duplicateMeshData =
false,
106 const bool a_buildCollisionDetector =
true);
109 void setSize(
const double& a_sizeX,
110 const double& a_sizeY,
111 const double& a_sizeZ);
136 virtual void scaleObject(
const double& a_scaleFactor);
141 const unsigned int a_IDN);
158 const bool a_duplicateMaterialData,
159 const bool a_duplicateTextureData,
160 const bool a_duplicateMeshData,
161 const bool a_buildCollisionDetector);
This class implements a 3D vector.
Definition: CVector3d.h:88
virtual void updateBoundaryBox()
This method updates the boundary box of this object.
Definition: CShapeBox.cpp:395
This structures provide a containers for storing rendering options that are passed through the sceneg...
Definition: CRenderOptions.h:82
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: CShapeBox.cpp:295
double m_hSizeZ
half length of box along axis Z.
Definition: CShapeBox.h:177
double getSizeY() const
This method returns the box length along axis Y.
Definition: CShapeBox.h:117
double m_hSizeX
half length of box along axis Z.
Definition: CShapeBox.h:171
double getSizeZ() const
This method returns the box length along axis Z.
Definition: CShapeBox.h:120
std::shared_ptr< cMaterial > cMaterialPtr
Definition: CMaterial.h:67
double m_hSizeY
half length of box along axis Y.
Definition: CShapeBox.h:174
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: CShapeBox.cpp:443
This class implements a base class for all 2D or 3D objects in CHAI3D.
Definition: CGenericObject.h:112
cShapeBox(const double &a_sizeX, const double &a_sizeY, const double &a_sizeZ, cMaterialPtr a_material=cMaterialPtr())
Constructor of cShapeBox.
Definition: CShapeBox.cpp:64
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
virtual ~cShapeBox()
Destructor of cShapeBox.
Definition: CShapeBox.h:93
virtual void render(cRenderOptions &a_options)
This method renders this object graphically using OpenGL.
Definition: CShapeBox.cpp:187
void setSize(const double &a_sizeX, const double &a_sizeY, const double &a_sizeZ)
This method sets the dimensions of the box along each axis.
Definition: CShapeBox.cpp:165
Implements a base class for all objects.
double getSizeX() const
This method returns the box length along axis X.
Definition: CShapeBox.h:114
virtual void scaleObject(const double &a_scaleFactor)
This method scales the size of this object with given scale factor.
Definition: CShapeBox.cpp:410
Implements material properties.
Definition: CAudioBuffer.cpp:56
This class implements a 3D shape box.
Definition: CShapeBox.h:78
cShapeBox * copy(const bool a_duplicateMaterialData=false, const bool a_duplicateTextureData=false, const bool a_duplicateMeshData=false, const bool a_buildCollisionDetector=true)
This method creates a copy of itself.
Definition: CShapeBox.cpp:103
void copyShapeBoxProperties(cShapeBox *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: CShapeBox.cpp:136