#ifndef PLANAR_ENTITY_INTERFACE_HEADER #define PLANAR_ENTITY_INTERFACE_HEADER //CCCoreLib #include //qCC_gl #include //! Interface for a planar entity class ccPlanarEntityInterface { public: //! Default constructor ccPlanarEntityInterface(); //! Show normal vector inline void showNormalVector(bool state) { m_showNormalVector = state; } //! Whether normal vector is shown or not inline bool normalVectorIsShown() const { return m_showNormalVector; } //! Returns the entity normal virtual CCVector3 getNormal() const = 0; virtual ~ccPlanarEntityInterface() = default; protected: //members //! Draws a normal vector (OpenGL) void glDrawNormal(CC_DRAW_CONTEXT& context, const CCVector3& pos, float scale, const ccColor::Rgb* color = 0); //! Whether the facet normal vector should be displayed or not bool m_showNormalVector; }; #endif //PLANAR_ENTITY_INTERFACE_HEADER