Support Forum G3D Web Page |
Specifies the transformation that occurs at each node in the heirarchy. More...
Inherits G3D::Model::Pose.
Public Member Functions | |
Pose () | |
Pose (const Any &a) | |
Example: More... | |
shared_ptr< Model::Pose > | clone () const override |
virtual bool | differentBounds (const shared_ptr< Model::Pose > &other) const override |
Returns true if other is null, has a different type than this, or would cause a Model of the appropriate type to change its bounding boxes. More... | |
const PhysicsFrame & | frame (const String &partName) const |
Returns the identity coordinate frame if there isn't one bound for partName. More... | |
Static Public Member Functions | |
static shared_ptr< Pose > | create () |
static shared_ptr< Pose > | create (const Any &a) |
static void | interpolate (const Pose &pose1, const Pose &pose2, float alpha, Pose &result) |
Public Attributes | |
Table< String, PhysicsFrame > | frameTable |
Mapping from part names to physics frames (relative to parent). More... | |
Table< String, shared_ptr< UniversalMaterial > > | materialTable |
If material[meshName] exists and is notNull, then that material overrides the one specified in the model in this pose. More... | |
int | numInstances |
For instanced rendering of a single model. More... | |
float | scale = 1.0f |
Global scale to apply after all pose transformations and vertex scaling, but before the Entity's transformation. More... | |
shared_ptr< UniformTable > | uniformTable |
Additional uniform arguments passed to the Surfaces, useful for prototyping effects that need additional per-Entity state. More... | |
Static Protected Member Functions | |
template<class T , class ... ArgTypes> | |
static shared_ptr< T > | createShared (ArgTypes &&... args) |
Like std::make_shared, but works for protected constructors. More... | |
Specifies the transformation that occurs at each node in the heirarchy.
|
inline |
Referenced by create().
|
explicit |
Example:
For convenience when initializing a VisibleEntity from an .Any file, a single UniversalMaterial::Specification Any will also cast to an entire ArticulatedModel::Pose, where the materialTable key is "mesh"
|
inlineoverridevirtual |
Implements G3D::Model::Pose.
|
inlinestaticprotectedinherited |
Like std::make_shared, but works for protected constructors.
Call as createShared<myclass>.
|
overridevirtual |
Returns true if other is null, has a different type than this, or would cause a Model of the appropriate type to change its bounding boxes.
Implements G3D::Model::Pose.
const PhysicsFrame& G3D::ArticulatedModel::Pose::frame | ( | const String & | partName | ) | const |
Returns the identity coordinate frame if there isn't one bound for partName.
|
static |
Table<String, PhysicsFrame> G3D::ArticulatedModel::Pose::frameTable |
Mapping from part names to physics frames (relative to parent).
If a name is not present, then its coordinate frame is assumed to be the identity.
Table<String, shared_ptr<UniversalMaterial> > G3D::ArticulatedModel::Pose::materialTable |
If material[meshName] exists and is notNull, then that material overrides the one specified in the model in this pose.
Allows the same model to be used with different materials when instancing.
To find mesh names:
int G3D::ArticulatedModel::Pose::numInstances |
For instanced rendering of a single model.
Used as Args::numInstances
float G3D::ArticulatedModel::Pose::scale = 1.0f |
Global scale to apply after all pose transformations and vertex scaling, but before the Entity's transformation.
Causes objects to grow or shrink in place. Non-uniform scale (e.g., xyz) is not allowed because that would require more expensive operations on the surface normal computations in the default vertex shader.
shared_ptr<UniformTable> G3D::ArticulatedModel::Pose::uniformTable |
Additional uniform arguments passed to the Surfaces, useful for prototyping effects that need additional per-Entity state.