Support Forum       G3D Web Page     
Public Member Functions | List of all members
G3D::ArticulatedModel::PartCallback Class Referenceabstract

Base class for defining operations to perform on each part, in hierarchy order. More...

Inherited by G3D::ArticulatedModel::BoundsCallback, G3D::ArticulatedModel::MeshMergeCallback, and G3D::ArticulatedModel::ScalePartTransformCallback.

Public Member Functions

virtual ~PartCallback ()
 
virtual void operator() (ArticulatedModel::Part *part, const CFrame &worldToPartFrame, shared_ptr< ArticulatedModel > model, const int treeDepth)=0
 Override to implement processing of part. More...
 

Detailed Description

Base class for defining operations to perform on each part, in hierarchy order.

Example:

class ExtractVertexCallback : public ArticulatedModel::PartCallback {
public:
Array<Point3>& vertexArray;
ExtractVertexCallback(Array<Point3>& vertexArray) : vertexArray(vertexArray) {}
void operator()(ArticulatedModel::Part *part, const CFrame &worldToPartFrame, shared_ptr<ArticulatedModel> model, const int treeDepth) {
for (int i = 0; i < part->cpuVertexArray.size(); ++i) {
vertexArray.append(worldToPartFrame.pointToObjectSpace(part->cpuVertexArray.vertex[i].position));
}
}
} callback(vertexArray);
model->forEachPart(callback);

Constructor & Destructor Documentation

◆ ~PartCallback()

virtual G3D::ArticulatedModel::PartCallback::~PartCallback ( )
inlinevirtual

Member Function Documentation

◆ operator()()

virtual void G3D::ArticulatedModel::PartCallback::operator() ( ArticulatedModel::Part part,
const CFrame worldToPartFrame,
shared_ptr< ArticulatedModel model,
const int  treeDepth 
)
pure virtual

Override to implement processing of part.

Parameters
worldToPartFrameThe net transformation in this pose from world space to part's object space
treeDepthdepth in the hierarchy. 0 = a root

Implemented in G3D::ArticulatedModel::ScalePartTransformCallback, G3D::ArticulatedModel::MeshMergeCallback, and G3D::ArticulatedModel::BoundsCallback.


documentation generated on Wed Nov 24 2021 08:01:53 using doxygen 1.8.15