Support Forum G3D Web Page |
Inherits G3D::Model.
Classes | |
class | Pose |
class | Specification |
Public Member Functions | |
virtual const String & | className () const override |
Name of the G3D::Model subclass. More... | |
bool | intersect (const Ray &R, const CoordinateFrame &cframe, float &maxDistance, Model::HitInfo &info, const Entity *entity, const Model::Pose *pose) const override |
Determines if the ray intersects the heightfield and fills the info with the proper information. More... | |
shared_ptr< FontModel::Pose > | modelPose () |
virtual const String & | name () const override |
Name of the instance (usually based on the filename it is loaded from) More... | |
virtual void | pose (Array< shared_ptr< Surface > > &surfaceArray, const CFrame &rootFrame, const CFrame &prevFrame, const shared_ptr< Entity > &entity, const Model::Pose *pose, const Model::Pose *prevPose, const Surface::ExpressiveLightScatteringProperties &e) override |
This will be replaced soon with a version that takes a shared_ptr<Pose>. More... | |
Static Public Member Functions | |
static shared_ptr< FontModel > | create (const FontModel::Specification &specification, const String &name) |
static lazy_ptr< Model > | lazyCreate (const String &name, const Any &a) |
static lazy_ptr< Model > | lazyCreate (const FontModel::Specification &specification, const String &name) |
static void | setUseOptimizedIntersect (bool b) |
If true, complex models should use TriTree to accelerate intersect() calls where possible. More... | |
static bool | useOptimizedIntersect () |
Protected Member Functions | |
FontModel (const String &name) | |
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... | |
Protected Attributes | |
shared_ptr< GFont > | font |
We keep the font on the Model because we do not need to change it dynamically. More... | |
String | m_name |
shared_ptr< FontModel::Pose > | m_pose |
Friends | |
class | TextSurface |
|
inlineprotected |
|
inlineoverridevirtual |
Name of the G3D::Model subclass.
Implements G3D::Model.
|
static |
|
inlinestaticprotectedinherited |
Like std::make_shared, but works for protected constructors.
Call as createShared<myclass>.
|
overridevirtual |
Determines if the ray intersects the heightfield and fills the info with the proper information.
maxDistance | Max distance to trace to on input, hit distance written on output if hit |
Reimplemented from G3D::Model.
|
static |
|
inline |
|
inlineoverridevirtual |
Name of the instance (usually based on the filename it is loaded from)
Implements G3D::Model.
|
overridevirtual |
This will be replaced soon with a version that takes a shared_ptr<Pose>.
pose | Must have the subclass of Model::Pose appropriate to the Model subclass. |
Implements G3D::Model.
|
inlinestaticinherited |
If true, complex models should use TriTree to accelerate intersect() calls where possible.
This can make the first intersect() call very slow for the tree build and can make loading slow. It may not affect performance of skinned or articulated models that animate.
This value should be set before the models are loaded. If it is changed after a model is loaded, the Model is not required to respond to it.
Default: false
|
inlinestaticinherited |
|
friend |
|
protected |
We keep the font on the Model because we do not need to change it dynamically.
|
protected |
Referenced by modelPose().