Open Inventor Release 2024.2.1
 
Loading...
Searching...
No Matches
MiTopologyExplicitI.h
1/*=======================================================================
2 *** THE CONTENT OF THIS WORK IS PROPRIETARY TO FEI S.A.S, (FEI S.A.S.), ***
3 *** AND IS DISTRIBUTED UNDER A LICENSE AGREEMENT. ***
4 *** ***
5 *** REPRODUCTION, DISCLOSURE, OR USE, IN WHOLE OR IN PART, OTHER THAN AS ***
6 *** SPECIFIED IN THE LICENSE ARE NOT TO BE UNDERTAKEN EXCEPT WITH PRIOR ***
7 *** WRITTEN AUTHORIZATION OF FEI S.A.S. ***
8 *** ***
9 *** RESTRICTED RIGHTS LEGEND ***
10 *** USE, DUPLICATION, OR DISCLOSURE BY THE GOVERNMENT OF THE CONTENT OF THIS ***
11 *** WORK OR RELATED DOCUMENTATION IS SUBJECT TO RESTRICTIONS AS SET FORTH IN ***
12 *** SUBPARAGRAPH (C)(1) OF THE COMMERCIAL COMPUTER SOFTWARE RESTRICTED RIGHT ***
13 *** CLAUSE AT FAR 52.227-19 OR SUBPARAGRAPH (C)(1)(II) OF THE RIGHTS IN ***
14 *** TECHNICAL DATA AND COMPUTER SOFTWARE CLAUSE AT DFARS 52.227-7013. ***
15 *** ***
16 *** COPYRIGHT (C) 1996-2023 BY FEI S.A.S, ***
17 *** BORDEAUX, FRANCE ***
18 *** ALL RIGHTS RESERVED ***
19**=======================================================================*/
20/*=======================================================================
21** Author : VSG (MMM YYYY)
22**=======================================================================*/
23#ifndef _MITOPOLOGYEXPLICITI_H
24#define _MITOPOLOGYEXPLICITI_H
25
26#include <MeshVizXLM/mesh/topology/MiTopologyI.h>
27#include <MeshVizXLM/mesh/cell/MiCell.h>
28
29//-----------------------------------------------------------------------------
39class MESHVIZXLM_EXTR_API MiTopologyExplicitI : virtual public MiTopologyI
40{
41public:
42
49 virtual const MiCell* getCell(size_t SO_UNUSED_PARAM(id)) const {return 0;} //= 0;
50
57 virtual size_t getEndNodeId() const = 0;
58
66 virtual size_t getBeginNodeId() const { return 0; }
67
68private:
69
70 virtual std::ostream& toStream(std::ostream& s) const
71 {
72 s << "# num cells" << std::endl;
73 s << getNumCells() << std::endl;
74
75 for(size_t i=0; i<getNumCells(); i++)
76 {
77 if (hasDeadCells() && isDead(i))
78 s << "# cell #" << i << " (dead)" << std::endl;
79 else
80 s << "# cell #" << i << std::endl;
81
82 s << *(getCell(i)) << std::endl;
83 }
84 return s;
85 }
86
87};
88
89
90#endif
91
92
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> Defines an abstract cell...
Definition MiCell.h:74
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> List of generic cells in...
virtual const MiCell * getCell(size_t id) const
Returns a cell of this topology.
virtual size_t getBeginNodeId() const
Returns the first node id used by this topology.
virtual size_t getEndNodeId() const =0
Returns the last node id + 1 used by this topology.
virtual bool hasDeadCells() const
Returns true if the topology contains dead cells.
Definition MiTopology.h:62
<a href="IconLegend.html"><img src="extMV.gif" alt="MeshViz" border="0"></a> List of cells interface.
Definition MiTopologyI.h:46
virtual bool isDead(size_t i) const
Returns true if the cell of index i should be ignored.
Definition MiTopologyI.h:62
virtual size_t getNumCells() const =0
Returns the number of cells.