Itasca C++ Interface
iface.h
Go to the documentation of this file.
1 #pragma once
2 // iface.h
3 
9 #include "izone.h"
10 
11 namespace itasca {
12  class IGroupID;
13  class ISlotID;
14 }
15 
16 namespace zone {
17  using namespace itasca;
18 
19  class IGp;
20 
23  class IFace {
24  public:
26  inline static const TType type_ = 0x4c815a0f;
27 
29  virtual IThing * getIThing()=0;
31  virtual const IThing *getIThing() const=0;
33  virtual uint32 getSize() const=0;
36  virtual const IGp * getGp(uint32 gpIdx) const=0;
38  virtual DVect getCentroid() const=0;
40  virtual const IZone * getIZone() const=0;
42  virtual void setIZone(IZone *zone)=0;
44  virtual IZone * getIZone() =0;
46  virtual uint32 getSide() const=0;
48  virtual void setSide(uint32 side)=0;
49  virtual const IZone * getJoin() const=0;
50  virtual IZone * getJoin() =0;
54  virtual bool isSurface(bool mech=true,bool therm=false,bool fluid=false,int bit=-1) const=0;
57  virtual bool isVisibleSurface() const=0;
59  virtual bool isOnVisibleZone() const=0;
66  virtual bool isOnGroupSurface(const ISlotID &slot,IGroupID *group1=nullptr,IGroupID *group2=nullptr) const=0;
68  virtual FaceID getFaceID() const=0;
70  virtual void destroy()=0;
71  };
72 } // namespace zone
73 // EoF
Definition: igroup.h:82
Definition: igroup.h:41
Base class for items that will be stored in containers.
Definition: ithing.h:30
Definition: izone.h:55
Interface to zone faces.
Definition: iface.h:23
virtual DVect getCentroid() const =0
Returns the centroid of the face.
virtual uint32 getSide() const =0
Returns the face number.
virtual IThing * getIThing()=0
Get an IThing interface.
virtual IZone * getIZone()=0
Returns a pointer to the zone of the face.
virtual FaceID getFaceID() const =0
Returns the unique face id for this object.
virtual bool isSurface(bool mech=true, bool therm=false, bool fluid=false, int bit=-1) const =0
virtual const IThing * getIThing() const =0
Get an IThing interface.
virtual bool isOnGroupSurface(const ISlotID &slot, IGroupID *group1=nullptr, IGroupID *group2=nullptr) const =0
virtual bool isOnVisibleZone() const =0
Returns TRUE if the face is connected to a non-hidden (visible) zone on either side,...
virtual void setIZone(IZone *zone)=0
Sets the zone associated with this face object.
virtual void destroy()=0
Destroys this object.
virtual uint32 getSize() const =0
Returns the number of sides of a face.
virtual const IGp * getGp(uint32 gpIdx) const =0
virtual const IZone * getIZone() const =0
Returns a const pointer to the zone of the face.
virtual void setSide(uint32 side)=0
Sets the side associated with this face object.
virtual bool isVisibleSurface() const =0
Interface to provide access to a gridpoint.
Definition: igp.h:55
Interface to provide access to a zone.
Definition: izone.h:80
uint32 TType
class type indicator
Definition: basedef.h:46
DVect3 DVect
Vector of doubles, either 2D or 3D.
Definition: dim.h:150
Interface to provide access to a zone.
namespace Itasca
Definition: basememory.cpp:10