4 * Created on: 23 janv. 2012
12 * face class is defined by
13 * - number of nodes allocated for this face
14 * - number of cells allocated for this face
15 * - measure of this face
16 * - barycenter of this face
26 public: //----------------------------------------------------------------
34 * @param face : The Face object to be copied
36 Face ( const Face& face ) ;
39 * constructor with data
40 * @param numberOfNodes : The number of nodes allocated for this face
41 * @param numberOfCells : The number of cells allocated for this face
42 * @param measure : The measure of this cell
43 * @param p : The barycenter of this cell
44 * @param xN : x coordinate N
45 * @param yN : y coordinate N
46 * @param zN : z coordinate N
48 Face( const int numberOfNodes, const int numberOfCells, const double measure, const Point p, double xN, double yN, double zN ) ;
56 * The cells ID that this face belongs to
59 std::vector< int > getCellsId ( void ) const ;
62 * The nodes ID that this face belongs to
65 std::vector< int > getNodesId ( void ) const ;
68 * return the measure of this face (length in 2D or
72 double getMeasure( void ) const ;
75 * return number of cells in this face
76 * @return _numberOfCells
78 int getNumberOfCells ( void ) const ;
81 * return number of nodes in this face
82 * @return _numberOfNodes
84 int getNumberOfNodes ( void ) const ;
87 * return barrycenter of this face
90 Point getBarryCenter( void ) const ;
93 * return cordinate x of the barycenter in this face
95 double x ( void ) const ;
98 * return cordinate y of the barycenter in this face
100 double y ( void ) const ;
103 * return cordinate z of the barycenter in this face
105 double z ( void ) const ;
108 * return the list of group names of this face
110 std::vector<std::string> getGroupNames(void) const;
113 * return a groupe name of this face
115 std::string getGroupName(int igroup=0) const;
118 * @param groupName : set a groupe name for this face
120 void setGroupName(const std::string groupName);
123 * return 0 if the face is on the border of domain
126 int getRegion(void) const ;
129 * return True if the face is on the border of domain
132 bool isBorder(void) ;
135 * @param numCell : index local of cell to add in this face
136 * @param cellId : index global of cell to add in this face
138 void addCellId (const int numCell, const int cellId ) ;
141 * @param numNode : index local of node to add in this face
142 * @param nodeId : index global of node to add in this face
144 void addNodeId (const int numNode, const int nodeId ) ;
147 * surcharge operator =
148 * @param face : The Face object to be copied
150 const Face& operator= ( const Face& face ) ;
152 double getXN(void) const ;
154 double getYN(void) const ;
156 double getZN(void) const ;
158 int getNodeId(int localId) const ;
160 int getCellId(int localId) const ;
162 private: //----------------------------------------------------------------
171 * The cell id that this face belongs to.
173 std::vector< int > _cellsId ;
176 * The vertex id that this face belongs to.
178 std::vector< int > _nodesId ;
181 * The number of cells allocated for this face.
186 * The number of nodes allocated for this face.
191 * The length of this face.
196 * The coordinate of barycenter the cell.
201 * The region of this face. -1 internal or number of edge that this face belongs to
206 * The group names of the face.
208 std::vector<std::string> _groupNames ;
211 #endif /* FACE_HXX_ */