32 Capsule(uint32_t
id,
const V3Arg ¢re =
V3Arg(0, 0, 0),
const V3Arg &axis = DefaultAxis,
float radius = 1.0f,
float length = 1.0f);
40 Capsule(uint32_t
id, uint16_t category,
const V3Arg ¢re =
V3Arg(0, 0, 0),
const V3Arg &axis = DefaultAxis,
float radius = 1.0f,
float length = 1.0f);
45 Capsule &setRadius(
float radius);
53 Capsule &setLength(
float radius);
79 :
Shape(SIdCapsule, id)
83 setScale(
Vector3f(radius, radius, length));
88 :
Shape(SIdCapsule, id, category)
92 setScale(
Vector3f(radius, length, 1));
142 if (axis.
v3.
dot(DefaultAxis) > -0.9998f)
162 #endif // _3ESCAPSULE_H_ A base class for encapsulating a shape which is to be represented remotely.
Definition: 3esshape.h:39
Vector3f centre() const
Get the capsule centre position.
Definition: 3escapsule.h:133
static const Vector3< T > axisx
The vector (1, 0, 0).
Definition: 3esvector3.h:44
Defines a capsule shape to display.
Definition: 3escapsule.h:21
Capsule & setLength(float radius)
Set the capsule body length.
Definition: 3escapsule.h:111
Definition: 3esbounds.h:13
Vector3< float > Vector3f
Defines a single precision vector.
Definition: 3esvector3.h:14
Quaternion< T > & setAxisAngle(const Vector3< T > &axis, const T &angle)
Sets this quaternion from an axis of rotation and the angle of rotation about that axis (radians)...
Capsule & setRadius(float radius)
Set the capsule body radius.
Definition: 3escapsule.h:96
Capsule & setAxis(const V3Arg &axis)
Set the capsule primary axis.
Definition: 3escapsule.h:139
Capsule(uint32_t id, const V3Arg ¢re=V3Arg(0, 0, 0), const V3Arg &axis=DefaultAxis, float radius=1.0f, float length=1.0f)
Definition: 3escapsule.h:78
Vector3f v3
Vector 3 value.
Definition: 3esv3arg.h:45
Capsule & setCentre(const V3Arg ¢re)
Set the position fo the capsule centre.
Definition: 3escapsule.h:126
Represents a vector in R3.
Definition: 3esvector3.h:14
A helper structure used to convert from float or double pointers to Vector3f arguments.
Definition: 3esv3arg.h:14
float length() const
Get the capsule body length.
Definition: 3escapsule.h:120
T x
Direct data member access.
Definition: 3esvector3.h:30
float radius() const
Get the capsule radius.
Definition: 3escapsule.h:105
Vector3f axis() const
Get the capsule primary axis.
Definition: 3escapsule.h:155
Quaternion< float > Quaternionf
Defines a single precision quaternion.
Definition: 3esquaternion.h:198
T dot(const Vector3< T > &other) const
Calculates the dot product of this.other.
Definition: 3esvector3.h:422
static const Vector3f DefaultAxis
Default direction used as a reference orientation for packing the rotation.
Definition: 3escapsule.h:29