38 inline virtual bool isVisible()
const {
return m_visible; }
40 inline virtual void setVisible(
bool state) { m_visible = state; }
46 inline virtual bool isRedraw()
const {
return m_modelRedraw; }
48 inline virtual void setRedraw(
bool state) { m_modelRedraw = state; }
52 inline virtual void setFixedId(
bool state) { m_fixedId = state; }
53 inline virtual bool isFixedId() {
return m_fixedId; }
57 return m_lockedVisibility;
64 m_lockedVisibility = state;
68 inline virtual bool isSelected()
const {
return m_selected; }
70 inline virtual void setSelected(
bool state) { m_selected = state; }
80 inline virtual bool hasColors()
const {
return false; }
82 inline virtual bool colorsShown()
const {
return m_colorsDisplayed; }
84 inline virtual void showColors(
bool state) { m_colorsDisplayed = state; }
91 inline virtual bool normalsShown()
const {
return m_normalsDisplayed; }
93 inline virtual void showNormals(
bool state) { m_normalsDisplayed = state; }
109 m_sfDisplayed = state;
114 inline virtual void toggleSF() { showSF(!sfShown()); }
117 inline virtual bool sfShown()
const {
return m_sfDisplayed; }
125 inline virtual void showNameIn3D(
bool state) { m_showNameIn3D = state; }
139 return m_colorIsOverridden;
152 bool autoActivate =
true);
156 m_colorIsOverridden = state;
160 inline virtual float getOpacity()
const {
return m_opacity; }
237 using Shared = QSharedPointer<DisplayState>;
239 bool visible =
false;
240 bool colorsDisplayed =
false;
241 bool normalsDisplayed =
false;
242 bool sfDisplayed =
false;
243 bool colorIsOverridden =
false;
244 bool showNameIn3D =
false;
cmdLineReadable * params[]
Generic interface for (3D) drawable entities.
virtual void translateGL(const CCVector3 &trans)
Translates current GL transformation by a rotation matrix.
virtual void toggleVisibility()
Toggles visibility.
virtual bool colorsShown() const
Returns whether colors are shown or not.
bool m_sfDisplayed
Specifies whether scalar field should be displayed.
virtual float getOpacity() const
virtual bool isVisible() const
Returns whether entity is visible or not.
virtual void setTempColor(const ecvColor::Rgb &col, bool autoActivate=true)
Sets current temporary (unique)
virtual bool isVisibilityLocked() const
Returns whether visibility is locked or not.
virtual bool hasDisplayedScalarField() const
Returns whether an active scalar field is available or not.
bool m_colorsDisplayed
Specifies whether colors should be displayed.
virtual void applyDisplayState(const DisplayState &state)
Applies a display state.
virtual void toggleNormals()
Toggles normals display state.
virtual bool hasColors() const
Returns whether colors are enabled or not.
virtual void lockVisibility(bool state)
Locks/unlocks visibility.
virtual void enableGLTransformation(bool state)
Enables/disables associated GL transformation.
virtual void setVisible(bool state)
Sets entity visibility.
virtual bool sfShown() const
Returns whether active scalar field is visible.
bool m_visible
Specifies whether the object is visible or not.
virtual bool isGLTransEnabled() const
Returns whether a GL transformation is enabled or not.
virtual bool normalsShown() const
Returns whether normals are shown or not.
virtual const ccGLMatrix & getGLTransformation() const
Returns associated GL transformation.
virtual bool pushDisplayState()
Pushes the current display state.
virtual void toggleClipPlanes(CC_DRAW_CONTEXT &context, bool enable)
Enables or disables clipping planes (OpenGL)
virtual bool hasNormals() const
Returns whether normals are enabled or not.
bool m_glTransEnabled
Current GL transformation activation state.
virtual void setRedraw(bool state)
Sets entity redraw mode.
virtual bool isColorOverridden() const
virtual void toggleSF()
Toggles SF display state.
ccGLMatrix m_glTrans
Current GL transformation.
virtual void getDrawingParameters(glDrawParams ¶ms) const
Returns main OpenGL parameters for this entity.
virtual void toggleMaterials()
Toggles material display state.
virtual void toggleColors()
Toggles colors display state.
virtual bool isSelected() const
Returns whether entity is selected or not.
virtual void setFixedId(bool state)
bool m_selected
Specifies whether the object is selected or not.
virtual void toggleShowName()
Toggles name in 3D display state.
virtual void showNameIn3D(bool state)
Sets whether name should be displayed in 3D.
CCVector3d m_nameIn3DPos
Last 2D position of the '3D' name.
virtual bool nameShownIn3D() const
Returns whether name is displayed in 3D or not.
virtual void enableTempColor(bool state)
Set temporary color activation state.
virtual void removeAllClipPlanes()
Removes all clipping planes (if any)
virtual void showNormals(bool state)
Sets normals visibility.
bool m_lockedVisibility
Specifies whether the visibility can be changed by user or not.
virtual bool isRedraw() const
Returns whether entity is to be redraw.
std::vector< DisplayState::Shared > m_displayStateStack
The stack of pushed display states.
virtual void popDisplayState(bool apply=true)
Pops the last pushed display state.
bool m_showNameIn3D
Whether name is displayed in 3D or not.
ccDrawableObject()
Default constructor.
virtual void showColors(bool state)
Sets colors visibility.
virtual void showSF(bool state)
Sets active scalarfield visibility.
virtual void setForceRedraw(bool state)
Sets force redraw.
virtual const ecvColor::Rgb & getTempColor() const
Returns current temporary (unique) color.
virtual void setOpacity(float opacity)
Set opacity activation state.
virtual void rotateGL(const ccGLMatrix &rotMat)
Multiplies (left) current GL transformation by a rotation matrix.
bool m_colorIsOverridden
Temporary (unique) color activation state.
virtual bool hasScalarFields() const
Returns whether one or more scalar fields are instantiated.
virtual void draw(CC_DRAW_CONTEXT &context)=0
Draws entity and its children.
virtual bool addClipPlanes(const ccClipPlane &plane)
Registers a new clipping plane.
bool m_normalsDisplayed
Specifies whether normals should be displayed.
virtual void resetGLTransformation()
Resets associated GL transformation.
virtual void setGLTransformation(const ccGLMatrix &trans)
Associates entity with a GL transformation (rotation + translation)
ccClipPlaneSet m_clipPlanes
Active clipping planes (used for display only)
ecvColor::Rgb m_tempColor
Temporary (unique) color.
virtual ~ccDrawableObject()=default
virtual void setSelected(bool state)
Selects/Unselects entity.
ccDrawableObject(const ccDrawableObject &object)
Copy constructor.
Float version of ccGLMatrixTpl.
std::vector< ccClipPlane > ccClipPlaneSet
Simple (clipping) plane equation.
Tuple4Tpl< double > equation
DisplayState(const ccDrawableObject &dobj)
QSharedPointer< DisplayState > Shared
Display parameters of a 3D entity.