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
122
123
124
125
#ifndef BRELEMENT2DNODETRAVERSER_H_INCLUDED
#define BRELEMENT2DNODETRAVERSER_H_INCLUDED
 
#include "Br/BrTraverser.h"
#include "Br/BrEnums.h"
#include "Br/BrMesh2dElement2dTraverser.h"
#include "Br/BrNode.h"
#include "Ge/GePoint2d.h"
/** \details
  This interface class represents element node traversers. 
  It is used to access node data, such as surface normals
  and pairs of uv parameters.
  
  \remarks 
  This class is implemented only for Spatial modeler.
 
  \sa
  TD_Br
 
  <group OdBr_Classes>
  */
class ODBR_TOOLKIT_EXPORT OdBrElement2dNodeTraverser : public OdBrTraverser
{
public:
  /** \details
    Default constructor.
  */
  OdBrElement2dNodeTraverser();
  
  /** \details
    Destructor.
  */
  ~OdBrElement2dNodeTraverser();
 
  /** \details
    Sets the specific element node list to this traverser.
    
    \param mesh2dElement2dTraverser [in] Defines the topological adjacent list of nodes 
    owned by the 2D element at the current position in this OdBrMesh2dElement2dTraverser,
    starting at the first node in the list.
    
    \returns Returns odbrOK if successful, or an appropriate error code if not.
    
    \remarks
    In case of an error, the value of this traverser's element node list is unchanged.
  */
  OdBrErrorStatus   setElement    (const OdBrMesh2dElement2dTraverser& mesh2dElement2dTraverser);
  
  /** \details
    Sets the specific element node list to this traverser.
    
    \param element [in] Defines the 2D element with a topological adjacent list of nodes,
    starting at the first node in the list.
    
    \returns Returns odbrOK if successful, or an appropriate error code if not.
      
    \remarks
    In case of an error, the value of this traverser's element node list is unchanged.
  */
  OdBrErrorStatus   setElement    (const OdBrElement2d& element);
  
  /** \details
    Returns the element that owns the element node list. 
    
    \param element [out] Defines the 2D element object, passed by reference.
    
    \returns Returns odbrOK if successful, or an appropriate error code if not.
    
    \remarks
    In case of an error, the element reference object passed as an argument is unchanged.
  */
  OdBrErrorStatus   getElement    (OdBrElement2d& element) const;
  
  /** \details
    Sets the starting position of this traverser to a specific node in the element node list. 
    
    \param node [in] Node at which the traverser's starting position is set.
    
    \returns Returns odbrOK if successful, or an appropriate error code if not.
    
    \remarks
    In case of an error, the traverser's element node list is unchanged.
  */
  OdBrErrorStatus   setNode         (const OdBrNode& node);
  
  /** \details
    Returns the node at the current position in the element node list. 
    
    \param node [out] Node at the current position.
    
    \returns Returns odbrOK if successful, or an appropriate error code if not.
    
    \remarks
    In case of an error, the node reference object that is passed as an argument is unchanged.
  */
  OdBrErrorStatus   getNode         (OdBrNode& node) const;
 
  /** \details
    Returns the normal vector computed on the original surface at the current node.
    
    \param vector [out] Normal vector at the current node.
    
    \returns Returns odbrOK if successful, or an appropriate error code if not.
    
    \remarks
    In case of an error, the normal vector reference argument's value is unchanged.
  */
  OdBrErrorStatus   getSurfaceNormal(OdGeVector3d& vector) const;
  
  /** \details
    Returns the 2D element node's underlying parameter point.
    
    \param point [out] Parameter point.
    
    \returns Returns odbrOK if successful, or an appropriate error code if not.
    
    \remarks
    In case of an error, the parameter point reference object is unchanged.
  */
  OdBrErrorStatus   getParamPoint  (OdGePoint2d& point) const;
};
 
 
#endif