Content


NTL
Core
CModel

CModel


This class provides basic implementation of hierarchical object placed in 3D space.

You can find more information in comments below. Overrided methods can be found in corresponding base class or interface.

class CModel :public virtual IModel, public CReleasable, public CTransformable
{
protected:
    void BeforeRelease() override;
public:
    // IModel getters
    int getModelCount() const override;
    IModel *getModel(const int index) override;
    bool hasModel(IModel *value) const override;
    const Mat4f &getModelMatrix() override;
    const Mat3f &getNormalMatrix() override;
    bool isAcceptParent(IModel *parent) override;
    bool isAcceptModel(IModel *model) override;

    // IModel setters
    bool setParent(IModel *value) override;

    // IModel methods
    IModelService *QueryService() override;

    // IModel models
    size_t AddModel(IModel *model) override;
    bool DetachModel(const int index) override;
    bool DetachModel(IModel *model) override;
    bool DeleteModel(const int index) override;
    bool DeleteModel(IModel *model) override;
    bool DeleteModels() override;

    CModel(const bool accept_parent, const bool accept_models);
};
Namespace: nitisa
Include: Nitisa/Core/Model.h