Itasca C++ Interface
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
ibody.h
Go to the documentation of this file.
1 // ibody.h
2 #pragma once
3 
6 
7 #include "module/interface/dim.h"
9 #include "utility/interface/igroup.h"
10 
11 namespace itasca {
12 
13 }
14 
15 namespace itascaxd{
16  class IRange;
17  class IGeomSet;
18  class IGeomPoint;
19  class IGeomEdge;
20  class IGeomPoly;
21 }
22 
23 namespace body {
24 using namespace itasca;
25 using namespace itascaxd;
26  class IBodySet;
27  class IBodyPoint;
28  class IBodyEdge;
31  class IBody {
32  public:
34  inline static const TType type_ = 0x53ab1fd7;
35 
36 
38  virtual IContainer *getIContainer()=0;
40  virtual const IContainer *getIContainer() const=0;
41 
43  virtual quint32 getIBodyPointType() const=0;
45  virtual quint32 getIBodyEdgeType() const=0;
47  virtual quint32 getIBodyFaceType() const=0;
49  virtual quint32 getIBodyBlockType() const=0;
51  virtual quint32 getIBodySetType() const=0;
52 
55  virtual IBodySet * getFirstBodySet()=0;
57  virtual const IBodySet *getFirstBodySet() const=0;
59  virtual const IBodySet *current() const=0;
61  virtual void current(IBodySet *set)=0;
62 
64  virtual IBodySet * lookupWithID(quint64 id)=0;
66  virtual const IBodySet *lookupWithID(quint64 id) const=0;
68  virtual IBodySet * lookupWithName(const QString &name)=0;
70  virtual const IBodySet *lookupWithName(const QString &name) const=0;
72  virtual QStringList findAllBodySets() const=0;
73 
76  virtual IBodySet *create(const QString &name,quint64 id=0)=0;
78  virtual IBodySet *removeSet(IBodySet *set)=0;
79 
81  virtual IContainer::signal_type *getAnyAddedSignal2() const=0;
83  virtual IContainer::signal_type *getAnyRemovedSignal2() const=0;
85  virtual uint getCurrentChangedCode() const=0;
87  virtual const IGeomSet * getIGeomSet(const IGeomPoint *)const=0;
89  virtual const IGeomSet * getIGeomSet(const IGeomEdge *)const=0;
91  virtual const IGeomSet * getIGeomSet(const IGeomPoly *)const=0;
93  virtual bool sniffBodySetFileOK(const QString &filename, QString &bsetName) const=0;
94  };
95 } // namespace body
96 // EoF
namespace Itasca
Definition: basememory.cpp:9
Definition of a Signal2 object, holding a list of ISlot2 objects.
Definition: isignalbase.h:76
DIM - Provides code portability between 2D and 3D codes.
A class representing a single closed polygon made up of a list of edges.
Definition: igeompoly.h:23
unsigned int TType
class type indicator
Definition: basedef.h:41
Interface for a user-defined geometric point.
Definition: igeompoint.h:18
A container for a single "set" of geometric elements. A geometric set is a named collection of geomet...
Definition: igeomset.h:27
Interface for a user-defined geometric edge, defined as the line between two IGeomPoint objects.
Definition: igeomedge.h:24
A container for a single "set" of body-block elements. A body-block set is a named collection of body...
Definition: ibodyset.h:33
Itasca Library standard namespace, specific to 2D or 3D.
Definition: icontactmodule.h:4
Interface for containers of IThings.
Definition: icontainer.h:23
Interface for container of IThings.
Definition: ibody.h:20