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(COpenGL *graphics) = 0; // Called when platform resources should be released virtual void Render(COpenGL *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;
RenderMode getRenderMode() override;
RotateOrder getRotateOrder() override;
TransformOrder 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 RenderMode value) override;
bool setRotateOrder(const RotateOrder value) override;
bool setTransformOrder(const TransformOrder 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 |