Itasca C++ Interface
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 uint32 getIBodyPointType() const=0;
45  virtual uint32 getIBodyEdgeType() const=0;
47  virtual uint32 getIBodyFaceType() const=0;
49  virtual uint32 getIBodyBlockType() const=0;
51  virtual uint32 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(uint64 id)=0;
66  virtual const IBodySet *lookupWithID(uint64 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;
74  virtual QStringList orderedBodySets() const=0;
75 
78  virtual IBodySet *create(const IString &name,uint64 id=0)=0;
80  virtual IBodySet *removeSet(IBodySet *set)=0;
81 
87  virtual uint32 getCurrentChangedCode() const=0;
89  virtual const IGeomSet * getIGeomSet(const IGeomPoint *)const=0;
91  virtual const IGeomSet * getIGeomSet(const IGeomEdge *)const=0;
93  virtual const IGeomSet * getIGeomSet(const IGeomPoly *)const=0;
95  virtual bool sniffBodySetFileOK(const QString &filename, QString &bsetName) const=0;
96  };
97 } // namespace body
98 // EoF
Definition: istring.h:14
virtual const IContainer * getIContainer() const =0
Returns an IContainer interface for the list of all IBodySet objects.
virtual const IBodySet * getFirstBodySet() const =0
Returns a pointer to the first IBodySet in the list, or 0 if none are present. See the IBodySet::getN...
virtual const IGeomSet * getIGeomSet(const IGeomEdge *) const =0
return geomset from a edge
virtual QStringList orderedBodySets() const =0
In the correct order as in the container.
virtual const IGeomSet * getIGeomSet(const IGeomPoly *) const =0
return geomset from a poly
virtual IBodySet * removeSet(IBodySet *set)=0
Removes set from the list, and destroys it. Returns a pointer to the next item in the list after set,...
virtual IContainer::signal_type * getAnyRemovedSignal2() const =0
Returns a signal that gets called every time anything is removed.
virtual const IGeomSet * getIGeomSet(const IGeomPoint *) const =0
return geomset from a point
virtual uint32 getIBodyBlockType() const =0
Returns the type identifier for IBodyBlock objects.
virtual uint32 getIBodyFaceType() const =0
Returns the type identifier for IBodyFace objects.
virtual uint32 getIBodyEdgeType() const =0
Returns the type identifier for IBodyEdge objects.
virtual IBodySet * create(const IString &name, uint64 id=0)=0
virtual const IBodySet * lookupWithName(const QString &name) const =0
Returns a pointer to the IBodySet with matching name, or 0 if it doesn't exist. Guaranteed to take le...
virtual uint32 getCurrentChangedCode() const =0
Returns a notification code (see INoticeManager) indicating a current body set changed.
virtual QStringList findAllBodySets() const =0
Returns all body sets.
virtual IBodySet * lookupWithID(uint64 id)=0
Returns a pointer to the IBodySet with matching id, or 0 if it doesn't exist. Guaranteed to take less...
virtual IContainer::signal_type * getAnyAddedSignal2() const =0
Returns a signal that gets called every time anything is added.
virtual const IBodySet * lookupWithID(uint64 id) const =0
Returns a pointer to the IBodySet with matching id, or 0 if it doesn't exist. Guaranteed to take less...
virtual uint32 getIBodyPointType() const =0
Returns the type identifier for IBodyPoint objects.
virtual IBodySet * getFirstBodySet()=0
virtual const IBodySet * current() const =0
Returns a pointer to the current IBodySet.
virtual IBodySet * lookupWithName(const QString &name)=0
Returns a pointer to the IBodySet with matching name, or 0 if it doesn't exist. Guaranteed to take le...
virtual void current(IBodySet *set)=0
Set's current body set.
virtual bool sniffBodySetFileOK(const QString &filename, QString &bsetName) const =0
shiff file for BodySet name returns true if it is ok and produced by "body export".
virtual uint32 getIBodySetType() const =0
Returns the type identifier for IBodySet objects.
virtual IContainer * getIContainer()=0
Returns an IContainer interface for the list of all IBodySet objects.
A container for a single "set" of body-block elements. A body-block set is a named collection of body...
Definition: ibodyset.h:33
Interface for containers of IThings.
Definition: icontainer.h:21
shared::Signal< const IThing *, const IContainer * > signal_type
Defines the Signal2<> type used for removed, added, and destroy signals sent from the container.
Definition: icontainer.h:27
Definition: ibody.h:20
Interface for a user-defined geometric edge, defined as the line between two IGeomPoint objects.
Definition: igeomedge.h:24
Interface for a user-defined geometric point.
Definition: igeompoint.h:18
A class representing a single closed polygon made up of a list of edges.
Definition: igeompoly.h:23
A container for a single "set" of geometric elements. A geometric set is a named collection of geomet...
Definition: igeomset.h:27
DIM - Provides code portability between 2D and 3D codes.
uint32 TType
class type indicator
Definition: basedef.h:46
Interface for container of IThings.
namespace Itasca
Definition: basememory.cpp:10
Itasca Library standard namespace, specific to 2D or 3D.
Definition: icontactmodule.h:4