This interface represents common layout of all geometry controls of the package.
You can find more information in comments below. Overrided methods can be found in corresponding base interface.
class I3DControl :public virtual IControl
{
public:
enum RENDER_MODE // How 3D geometry should be rendered
{
rmFill, // Common way, triagnles are displayed in normal, filled, way
rmWireframe, // Render as wireframes, only edges or triangles are rendered
rmVertices // Render only vertices as points
};
public:
virtual IModel *getModel() = 0; // Return associated model
virtual IMaterialControl *getMaterial() = 0; // Return associated material control
virtual RENDER_MODE getRenderMode() = 0; // Return rendering mode
virtual ROTATE_ORDER getRotateOrder() = 0; // Return rotation order
virtual TRANSFORM_ORDER getTransformOrder() = 0; // Return transformation order
virtual float getX() = 0; // Return X position
virtual float getY() = 0; // Return Y position
virtual float getZ() = 0; // Return Z position
virtual float getSx() = 0; // Return scaling in local X direction
virtual float getSy() = 0; // Return scaling in local Y direction
virtual float getSz() = 0; // Return scaling in local Z direction
virtual float getPitch() = 0; // Return rotation around local X axis
virtual float getYaw() = 0; // Return rotation around local Y axis
virtual float getRoll() = 0; // Return rotation around local Z axis
virtual bool setMaterial(IMaterialControl *value) = 0; // Assign material control
virtual bool setRenderMode(const RENDER_MODE value) = 0; // Set rendering mode
virtual bool setRotateOrder(const ROTATE_ORDER value) = 0; // Set rotate order
virtual bool setTransformOrder(const TRANSFORM_ORDER value) = 0; // Set transform order
virtual bool setX(const float value) = 0; // Set X position
virtual bool setY(const float value) = 0; // Set Y position
virtual bool setZ(const float value) = 0; // Set Z position
virtual bool setSx(const float value) = 0; // Set scaling in local X direction
virtual bool setSy(const float value) = 0; // Set scaling in local Y direction
virtual bool setSz(const float value) = 0; // Set scaling in local Z direction
virtual bool setPitch(const float value) = 0; // Set rotation angle around local X axis
virtual bool setYaw(const float value) = 0; // Set rotation angle around local Y axis
virtual bool setRoll(const float value) = 0; // Set rotation angle around local Z axis
};
Namespace: | nitisa::opengl |
Include: | OpenGL/Interfaces/I3DControl.h |