C3DControl



Implements base class for 3D geometry widgets. Could be used as base class for all widgets which represents and render 3D geometry objects.

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

class C3DControl :public virtual I3DControl, public CControl
{
protected:
    virtual void FreeResources(standard::windows::opengl::IOpenGL *graphics) = 0; // Called when platform resources should be released    virtual void Render(standard::windows::opengl::IOpenGL *graphics, IRenderer *renderer, ICamera *camera) = 0; // Called when rendering of the control is requiredpublic:
    // IControl getters 
    bool isAcceptControl() override;
    bool isAcceptControl(IControl *control) override;

    // IControl setters 
    bool setVisible(const bool value) override; // Not allowed 

    // I3DControl getters 
    IModel *getModel() override;
    IMaterialControl *getMaterial() override;
    RENDER_MODE getRenderMode() override;
    ROTATE_ORDER getRotateOrder() override;
    TRANSFORM_ORDER getTransformOrder() override;
    float getX() override;
    float getY() override;
    float getZ() override;
    float getSx() override;
    float getSy() override;
    float getSz() override;
    float getPitch() override; // In degrees 
    float getYaw() override; // In degrees 
    float getRoll() override; // In degrees 

    // I3DControl setters 
    bool setMaterial(IMaterialControl *value) override;
    bool setRenderMode(const RENDER_MODE value) override;
    bool setRotateOrder(const ROTATE_ORDER value) override;
    bool setTransformOrder(const TRANSFORM_ORDER value) override;
    bool setX(const float value) override;
    bool setY(const float value) override;
    bool setZ(const float value) override;
    bool setSx(const float value) override;
    bool setSy(const float value) override;
    bool setSz(const float value) override;
    bool setPitch(const float value) override; // In degrees 
    bool setYaw(const float value) override; // In degrees 
    bool setRoll(const float value) override; // In degrees 

    C3DControl(const String &class_name);
    ~C3DControl() override;
};
Namespace: nitisa::opengl
Include: OpenGL/Core/3DControl.h