zjf
2023-03-06 392b76515f40376b6d36f40a114850ef63650384
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
#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
  
  <group OdBr_Classes>
  */
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