Cone compound object class. More...
#include <Context.h>
Public Member Functions | |
~Cone () override=default | |
Cone destructor. | |
std::vector< helios::vec3 > | getNodeCoordinates () const |
Get the Cartesian coordinates of each of the cone object nodes. | |
helios::vec3 | getNodeCoordinate (int node_index) const |
Get the Cartesian coordinates of a cone object node. | |
std::vector< float > | getNodeRadii () const |
Get the radius at each of the cone object nodes. | |
float | getNodeRadius (int node_index) const |
Get the radius of a cone object node. | |
uint | getSubdivisionCount () const |
Get the number of sub-triangle divisions of the cone object. | |
void | setSubdivisionCount (uint subdiv) |
Set the number of radial sub-triangle divisions. | |
helios::vec3 | getAxisUnitVector () const |
Get a unit vector pointing in the direction of the cone central axis. | |
float | getLength () const |
Get the length of the cone along the axial direction. | |
void | scaleLength (float S) |
Method to scale the length of the cone. | |
void | scaleGirth (float S) |
Method to scale the girth of the cone. | |
float | getVolume () const |
Get the volume of the cone object. | |
![]() | |
virtual | ~CompoundObject ()=0 |
Destructor. | |
uint | getObjectID () const |
Get the unique identifier for the object. | |
helios::ObjectType | getObjectType () const |
Get an enumeration specifying the type of the object. | |
uint | getPrimitiveCount () const |
Return the number of primitives contained in the object. | |
std::vector< uint > | getPrimitiveUUIDs () const |
Get the UUIDs for all primitives contained in the object. | |
bool | doesObjectContainPrimitive (uint UUID) |
Check whether a primitive is a member of the object based on its UUID. | |
helios::vec3 | getObjectCenter () const |
Calculate the Cartesian (x,y,z) point of the center of a bounding box for the Compound Object. | |
float | getArea () const |
Calculate the total one-sided surface area of the Compound Object. | |
void | setColor (const helios::RGBcolor &color) |
Method to set the diffuse color for all primitives in the Compound Object. | |
void | setColor (const helios::RGBAcolor &color) |
Method to set the diffuse color (with transparency) for all primitives in the Compound Object. | |
void | overrideTextureColor () |
Override the color in the texture map for all primitives in the Compound Object, in which case the primitives will be colored by the constant RGB color, but will apply the transparency channel in the texture to determine its shape. | |
void | useTextureColor () |
bool | hasTexture () const |
Method to check whether this object has texture data. | |
std::string | getTextureFile () const |
Method to return the texture map file of an Object. | |
void | translate (const helios::vec3 &shift) |
Method to translate/shift a Compound Object. | |
void | rotate (float rotation_radians, const char *rotation_axis_xyz_string) |
Method to rotate a Compound Object about the x-, y-, or z-axis. | |
void | rotate (float rotation_radians, const helios::vec3 &rotation_axis_vector) |
Method to rotate a Compound Object about an arbitrary axis passing through the origin. | |
void | rotate (float rotation_radians, const helios::vec3 &origin, const helios::vec3 &rotation_axis_vector) |
Method to rotate a Compound Object about an arbitrary line (not necessarily passing through the origin) | |
void | scale (const helios::vec3 &scale) |
Method to scale a compound object in the x-, y- and z-directions. | |
void | scaleAboutCenter (const helios::vec3 &scale) |
Method to scale a compound object in the x-, y- and z-directions. | |
void | scaleAboutPoint (const helios::vec3 &scale, const helios::vec3 &point) |
Method to scale a compound object in the x-, y- and z-directions. | |
void | getTransformationMatrix (float(&T)[16]) const |
Method to return the Affine transformation matrix of a Compound Object. | |
void | setTransformationMatrix (float(&T)[16]) |
Method to set the Affine transformation matrix of a Compound Object. | |
void | setPrimitiveUUIDs (const std::vector< uint > &UUIDs) |
Method to set the UUIDs of object child primitives. | |
void | deleteChildPrimitive (uint UUID) |
Delete a single child member of the object. | |
void | deleteChildPrimitive (const std::vector< uint > &UUIDs) |
Delete multiple child member of the object based on a vector of UUIDs. | |
bool | arePrimitivesComplete () const |
Method to query whether all object primitives are intact. | |
template<typename T > | |
void | setObjectData (const char *label, const T &data) |
Add data value associated with a compound object. | |
template<typename T > | |
void | setObjectData (const char *label, const std::vector< T > &data) |
Add data value associated with a compound object. | |
template<typename T > | |
void | getObjectData (const char *label, T &data) const |
Get data associated with a compound object. | |
template<typename T > | |
void | getObjectData (const char *label, std::vector< T > &data) const |
Get vector data associated with a compound object. | |
HeliosDataType | getObjectDataType (const char *label) const |
Get the Helios data type of object data. | |
uint | getObjectDataSize (const char *label) const |
Get the size/length of object data. | |
bool | doesObjectDataExist (const char *label) const |
Check if object data 'label' exists. | |
void | clearObjectData (const char *label) |
Clear the object data for this object. | |
std::vector< std::string > | listObjectData () const |
Return labels for all object data for this particular object. | |
Friends | |
class | CompoundObject |
class | Context |
helios::vec3 Cone::getAxisUnitVector | ( | ) | const |
Get a unit vector pointing in the direction of the cone central axis.
Definition at line 2609 of file Context_object.cpp.
float Cone::getLength | ( | ) | const |
Get the length of the cone along the axial direction.
Definition at line 2626 of file Context_object.cpp.
helios::vec3 Cone::getNodeCoordinate | ( | int | node_index | ) | const |
Get the Cartesian coordinates of a cone object node.
[in] | node_index | Index of the cone node. Either 0 for the cone base, or 1 for the cone apex. |
Definition at line 2575 of file Context_object.cpp.
std::vector< helios::vec3 > Cone::getNodeCoordinates | ( | ) | const |
Get the Cartesian coordinates of each of the cone object nodes.
Definition at line 2562 of file Context_object.cpp.
std::vector< float > Cone::getNodeRadii | ( | ) | const |
Get the radius at each of the cone object nodes.
Definition at line 2589 of file Context_object.cpp.
float Cone::getNodeRadius | ( | int | node_index | ) | const |
Get the radius of a cone object node.
[in] | node_index | Index of the cone node. Either 0 for the cone base, or 1 for the cone apex. |
Definition at line 2593 of file Context_object.cpp.
uint Cone::getSubdivisionCount | ( | ) | const |
Get the number of sub-triangle divisions of the cone object.
Definition at line 2601 of file Context_object.cpp.
float Cone::getVolume | ( | ) | const |
Get the volume of the cone object.
Definition at line 2726 of file Context_object.cpp.
void Cone::scaleGirth | ( | float | S | ) |
Method to scale the girth of the cone.
[in] | S | Scaling factor |
Definition at line 2687 of file Context_object.cpp.
void Cone::scaleLength | ( | float | S | ) |
Method to scale the length of the cone.
[in] | S | Scaling factor |
Definition at line 2640 of file Context_object.cpp.
void Cone::setSubdivisionCount | ( | uint | subdiv | ) |
Set the number of radial sub-triangle divisions.
[in] | subdiv | Number of radial sub-triangle divisions. |
Definition at line 2605 of file Context_object.cpp.
|
friend |