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 class RenderMode // How 3D geometry should be rendered
{
Fill, // Common way, triagnles are displayed in normal, filled, way
Wireframe, // Render as wireframes, only edges or triangles are rendered
Vertices // Render only vertices as points
};
public:
virtual IModel *getModel() = 0; // Return associated model
virtual IMaterialControl *getMaterial() = 0; // Return associated material control
virtual RenderMode getRenderMode() = 0; // Return rendering mode
virtual RotateOrder getRotateOrder() = 0; // Return rotation order
virtual TransformOrder 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 RenderMode value) = 0; // Set rendering mode
virtual bool setRotateOrder(const RotateOrder value) = 0; // Set rotate order
virtual bool setTransformOrder(const TransformOrder 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 |