|
3es
0.7
|
Defines a capsule shape to display. More...
#include <3escapsule.h>
Public Member Functions | |
| Capsule (uint32_t id, const V3Arg ¢re=V3Arg(0, 0, 0), const V3Arg &axis=DefaultAxis, float radius=1.0f, float length=1.0f) | |
| 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) | |
| Construct a capsule object. More... | |
| Capsule & | setRadius (float radius) |
| Set the capsule body radius. More... | |
| float | radius () const |
| Get the capsule radius. More... | |
| Capsule & | setLength (float radius) |
| Set the capsule body length. More... | |
| float | length () const |
| Get the capsule body length. More... | |
| Capsule & | setCentre (const V3Arg ¢re) |
| Set the position fo the capsule centre. More... | |
| Vector3f | centre () const |
| Get the capsule centre position. More... | |
| Capsule & | setAxis (const V3Arg &axis) |
| Set the capsule primary axis. More... | |
| Vector3f | axis () const |
| Get the capsule primary axis. More... | |
Public Member Functions inherited from tes::Shape | |
| Shape (uint16_t routingId, uint32_t id=0) | |
| Shape (uint16_t routingId, uint32_t id, uint16_t category) | |
| Construct a box object. More... | |
| uint16_t | routingId () const |
| uint32_t | id () const |
| Shape & | setId (uint32_t id) |
| uint16_t | category () const |
| Shape & | setCategory (uint16_t category) |
| Shape & | setWireframe (bool wire) |
| Sets the wireframe flag value for this shape. More... | |
| bool | isWireframe () const |
| Returns true if the wireframe flag is set. More... | |
| Shape & | setTransparent (bool transparent) |
| Sets the transparent flag value for this shape. More... | |
| bool | isTransparent () const |
| Returns true if the transparent flag is set. More... | |
| Shape & | setTwoSided (bool twoSided) |
| Sets the two sided shader flag value for this shape. More... | |
| bool | isTwoSided () const |
| Returns true if the two sided shader flag is set. More... | |
| Shape & | setFlags (uint16_t flags) |
Set the full set of ObjectFlag values. More... | |
| uint16_t | flags () const |
Retrieve the full set of ObjectFlag values. More... | |
| Shape & | setPosition (const V3Arg &pos) |
| Vector3f | position () const |
| Shape & | setPosX (float p) |
| Shape & | setPosY (float p) |
| Shape & | setPosZ (float p) |
| Shape & | setRotation (const QuaternionArg &rot) |
| Quaternionf | rotation () const |
| Shape & | setScale (const V3Arg &scale) |
| Vector3f | scale () const |
| Shape & | setColour (const Colour &colour) |
| Colour | colour () const |
| virtual void | updateFrom (const Shape &other) |
Update the attributes of this shape to match other. More... | |
| virtual bool | writeCreate (PacketWriter &stream) const |
Writes the create message to stream. More... | |
| virtual int | writeData (PacketWriter &stream, unsigned &progressMarker) const |
| Called only for complex shapes to write additional creation data. More... | |
| bool | writeUpdate (PacketWriter &stream) const |
| bool | writeDestroy (PacketWriter &stream) const |
| virtual bool | isComplex () const |
Is this a complex shape? Complex shapes have writeData() called. More... | |
| virtual int | enumerateResources (const Resource **resources, int capacity, int fetchOffset=0) const |
| Enumerate the resources used by this shape. More... | |
| virtual Shape * | clone () const |
| Deep copy clone. More... | |
Static Public Attributes | |
| static const Vector3f | DefaultAxis |
| Default direction used as a reference orientation for packing the rotation. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from tes::Shape | |
| void | onClone (Shape *copy) const |
Called when copy is created from this object to copy appropriate attributes to copy. More... | |
| void | init (uint32_t id, uint16_t cat=0, uint16_t flags=0) |
Protected Attributes inherited from tes::Shape | |
| uint16_t | _routingId |
| CreateMessage | _data |
Defines a capsule shape to display.
A capsule is a cylinder with hemisphere end caps.
An arrow is defined by:
| Component | Description |
|---|---|
centre() | The centre of the capsule. Alias for position(). |
axis() | Defines the capsule primary axis. Affects rotation(). |
length() | The length of the cylindrical part of the capsule. The end caps increase the extents further. |
radius() | Radius of the capsule cylinder and end caps. |
|
inline |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
References setAxis().
|
inline |
Construct a capsule object.
| id | The shape ID, unique among Capsule objects, or zero for a transient shape. |
| category | The category grouping for the shape used for filtering. |
| centre | Centre position() of the capsule. |
| axis | Defines the capsule's primary axis. |
| radius | Radius of the capsule cylinder and end caps. |
| length | Length of the capsule cylinder body. |
References setAxis().
|
inline |
Get the capsule primary axis.
May not exactly match the axis given via setAxis() as the axis is defined by the quaternion rotation().
References DefaultAxis.
|
inline |
Get the capsule centre position.
|
inline |
|
inline |
Get the capsule radius.
References tes::Vector3< T >::x.
Referenced by setRadius().
Set the capsule primary axis.
Affects rotation().
| axis | The new axis to set. |
*this References tes::Vector3< T >::axisx, tes::Vector3< T >::dot(), tes::Quaternion< T >::setAxisAngle(), and tes::V3Arg::v3.
Referenced by Capsule().
Set the position fo the capsule centre.
| centre | The centre coordinate. |
*this
|
inline |
Set the capsule body length.
The end caps extend beyond this by the radius at each end.
| length | The body length to set. |
*this References length().
|
inline |
Set the capsule body radius.
| radius | The radius to set. |
*this References radius(), and tes::Vector3< T >::x.
|
static |
Default direction used as a reference orientation for packing the rotation.
The rotation() value is relative to this vector.
The default is (0, 0, 1)
Referenced by axis().