A representation of a cylinder. More...
#include <gz/math/Cylinder.hh>
Public Member Functions | |
Cylinder ()=default | |
Default constructor. The default radius and length are both zero. The default rotational offset is Quaternion<Precision>::Identity. | |
Cylinder (const Precision _length, const Precision _radius, const Material &_mat, const Quaternion< Precision > &_rotOffset=Quaternion< Precision >::Identity) | |
Construct a cylinder with a length, radius, material and optionally a rotational offset. | |
Cylinder (const Precision _length, const Precision _radius, const Quaternion< Precision > &_rotOffset=Quaternion< Precision >::Identity) | |
Construct a cylinder with a length, radius, and optionally a rotational offset. | |
Precision | DensityFromMass (const Precision _mass) const |
Compute the cylinder's density given a mass value. The cylinder is assumed to be solid with uniform density. This function requires the cylinder's radius and length to be set to values greater than zero. The Material of the cylinder is ignored. | |
Precision | Length () const |
Get the length in meters. | |
std::optional< MassMatrix3< Precision > > | MassMatrix () const |
Get the mass matrix for this cylinder. This function is only meaningful if the cylinder's radius, length, and material have been set. Optionally, set the rotational offset. | |
bool | MassMatrix (MassMatrix3d &_massMat) const |
Get the mass matrix for this cylinder. This function is only meaningful if the cylinder's radius, length, and material have been set. Optionally, set the rotational offset. | |
const Material & | Mat () const |
Get the material associated with this cylinder. | |
bool | operator== (const Cylinder &_cylinder) const |
Check if this cylinder is equal to the provided cylinder. Radius, length, and material properties will be checked. | |
Precision | Radius () const |
Get the radius in meters. | |
Quaternion< Precision > | RotationalOffset () const |
Get the rotational offset. By default, a cylinder's length is aligned with the Z axis. The rotational offset encodes a rotation from the z axis. | |
bool | SetDensityFromMass (const Precision _mass) |
Set the density of this cylinder based on a mass value. Density is computed using Precision DensityFromMass(const Precision _mass) const. The cylinder is assumed to be solid with uniform density. This function requires the cylinder's radius and length to be set to values greater than zero. The existing Material density value is overwritten only if the return value from this true. | |
void | SetLength (const Precision _length) |
Set the length in meters. | |
void | SetMat (const Material &_mat) |
Set the material associated with this cylinder. | |
void | SetRadius (const Precision _radius) |
Set the radius in meters. | |
void | SetRotationalOffset (const Quaternion< Precision > &_rotOffset) |
Set the rotation offset. See Quaternion<Precision> RotationalOffset() for details on the rotational offset. | |
Precision | Volume () const |
Get the volume of the cylinder in m^3. | |
Detailed Description
A representation of a cylinder.
The cylinder class supports defining a cylinder with a radius, length, rotational offset, and material properties. Radius and length are in meters. See Material for more on material properties. By default, a cylinder's length is aligned with the Z axis. The rotational offset encodes a rotation from the z axis.
Constructor & Destructor Documentation
◆ Cylinder() [1/3]
Default constructor. The default radius and length are both zero. The default rotational offset is Quaternion<Precision>::Identity.
◆ Cylinder() [2/3]
Cylinder | ( | const Precision | _length, |
const Precision | _radius, | ||
const Quaternion< Precision > & | _rotOffset = Quaternion< Precision >::Identity |
||
) |
Construct a cylinder with a length, radius, and optionally a rotational offset.
- Parameters
-
[in] _length Length of the cylinder. [in] _radius Radius of the cylinder. [in] _rotOffset Rotational offset of the cylinder.
◆ Cylinder() [3/3]
Cylinder | ( | const Precision | _length, |
const Precision | _radius, | ||
const Material & | _mat, | ||
const Quaternion< Precision > & | _rotOffset = Quaternion< Precision >::Identity |
||
) |
Construct a cylinder with a length, radius, material and optionally a rotational offset.
- Parameters
-
[in] _length Length of the cylinder. [in] _radius Radius of the cylinder. [in] _mat Material property for the cylinder. [in] _rotOffset Rotational offset of the cylinder.
Member Function Documentation
◆ DensityFromMass()
Compute the cylinder's density given a mass value. The cylinder is assumed to be solid with uniform density. This function requires the cylinder's radius and length to be set to values greater than zero. The Material of the cylinder is ignored.
- Parameters
-
[in] _mass Mass of the cylinder, in kg. This value should be greater than zero.
- Returns
- Density of the cylinder in kg/m^3. A negative value is returned if radius, length or _mass is <= 0.
◆ Length()
Get the length in meters.
- Returns
- The length of the cylinder in meters.
◆ MassMatrix() [1/2]
std::optional< MassMatrix3< Precision > > MassMatrix | ( | ) | const |
Get the mass matrix for this cylinder. This function is only meaningful if the cylinder's radius, length, and material have been set. Optionally, set the rotational offset.
- Returns
- The computed mass matrix if parameters are valid (radius > 0), (length > 0) and (density > 0). Otherwise std::nullopt is returned.
◆ MassMatrix() [2/2]
bool MassMatrix | ( | MassMatrix3d & | _massMat | ) | const |
Get the mass matrix for this cylinder. This function is only meaningful if the cylinder's radius, length, and material have been set. Optionally, set the rotational offset.
- Parameters
-
[out] _massMat The computed mass matrix will be stored here.
- Returns
- False if computation of the mass matrix failed, which could be due to an invalid radius (<=0), length (<=0), or density (<=0).
◆ Mat()
Get the material associated with this cylinder.
- Returns
- The material assigned to this cylinder
◆ operator==()
Check if this cylinder is equal to the provided cylinder. Radius, length, and material properties will be checked.
◆ Radius()
Get the radius in meters.
- Returns
- The radius of the cylinder in meters.
◆ RotationalOffset()
Quaternion< Precision > RotationalOffset | ( | ) | const |
Get the rotational offset. By default, a cylinder's length is aligned with the Z axis. The rotational offset encodes a rotation from the z axis.
- Returns
- The cylinder's rotational offset.
◆ SetDensityFromMass()
Set the density of this cylinder based on a mass value. Density is computed using Precision DensityFromMass(const Precision _mass) const. The cylinder is assumed to be solid with uniform density. This function requires the cylinder's radius and length to be set to values greater than zero. The existing Material density value is overwritten only if the return value from this true.
- Parameters
-
[in] _mass Mass of the cylinder, in kg. This value should be greater than zero.
- Returns
- True if the density was set. False is returned if the cylinder's radius, length, or the _mass value are <= 0.
- See also
- Precision DensityFromMass(const Precision _mass) const
◆ SetLength()
Set the length in meters.
- Parameters
-
[in] _length The length of the cylinder in meters.
◆ SetMat()
Set the material associated with this cylinder.
- Parameters
-
[in] _mat The material assigned to this cylinder
◆ SetRadius()
Set the radius in meters.
- Parameters
-
[in] _radius The radius of the cylinder in meters.
◆ SetRotationalOffset()
void SetRotationalOffset | ( | const Quaternion< Precision > & | _rotOffset | ) |
Set the rotation offset. See Quaternion<Precision> RotationalOffset() for details on the rotational offset.
◆ Volume()
Get the volume of the cylinder in m^3.
- Returns
- Volume of the cylinder in m^3.
The documentation for this class was generated from the following file: