#ifndef BRMESHCONTROL_H_INCLUDED #define BRMESHCONTROL_H_INCLUDED #include "Br/BrEnums.h" /** \details This class defines the interface base class for mesh controls. \remarks This class is implemented only for Spatial modeler. \sa TD_Br */ class ODBR_TOOLKIT_EXPORT OdBrMeshControl { friend class OdBrEntityInternals; public: /** \details Virtual destructor. */ virtual ~OdBrMeshControl(); /** \details Checks if content of the two mesh control objects is equal. \param other [in] Mesh control object. \returns Returns true if two mesh control objects are equal, or returns false in the other case. */ bool isEqualTo (const OdBrMeshControl* other) const; /** \details Sets the maximum number of subdivisions. \param maxSubs [in] Maximum number of subdivisions. \returns Returns odbrOK if successful, or an appropriate error code if not. */ OdBrErrorStatus setMaxSubdivisions(OdUInt32 maxSubs = 0); /** \details Gets the maximum number of subdivisions. \param maxSubs [out] Maximum number of subdivisions. \returns Returns odbrOK if successful, or an appropriate error code if not. */ OdBrErrorStatus getMaxSubdivisions(OdUInt32& maxSubs) const; /** \details Sets the maximum spacing between nodes in world coordinates. \param maxNodeSpace [in] Maximum node spacing. \returns Returns odbrOK if successful, or an appropriate error code if not. */ OdBrErrorStatus setMaxNodeSpacing(double maxNodeSpace = 0); /** \details Returns the maximum spacing between nodes in world coordinates. \param maxNodeSpace [out] Maximum node spacing. \returns Returns odbrOK if successful, or an appropriate error code if not. */ OdBrErrorStatus getMaxNodeSpacing(double& maxNodeSpace) const; /** \details Sets the maximum angle tolerance between normals of any two nodes in the mesh element. \param angTol [in] Maximum angle tolerance in radians. \returns Returns odbrOK if successful, or an appropriate error code if not. */ OdBrErrorStatus setAngTol (double angTol = 0); /** \details Returns the maximum angle tolerance between normals of any two nodes in the mesh element. \param angTol [out] Maximum angle tolerance in radians. \returns Returns odbrOK if successful, or an appropriate error code if not. */ OdBrErrorStatus getAngTol (double& angTol) const; /** \details Sets the maximum distance tolerance in world coordinates between the original geometry and the mesh element. \param distTol [in] Maximum distance tolerance. \returns Returns odbrOK if successful, or an appropriate error code if not. */ OdBrErrorStatus setDistTol (double distTol = 0); /** \details Returns the maximum distance tolerance between the original geometry and the mesh element. \param distTol [out] Maximum distance tolerance. \returns Returns odbrOK if successful, or an appropriate error code if not. */ OdBrErrorStatus getDistTol (double& distTol) const; protected: /** \details Default constructor. */ OdBrMeshControl(); void *m_pImp; }; #endif