Itasca C++ Interface
iinter.h
Go to the documentation of this file.
1 #pragma once
2 // iinter.h
3 
9 namespace itasca
10 {
11  class IContainer;
12  class IThing;
13 }
14 
15 namespace zone
16 {
17  using namespace itasca;
18 
19  class IGp;
20  class IIntNode;
21  class IIntElem;
22 
24 
27  class IInterface
28  {
29  public:
31  inline static const TType type_ = 0x4c815a14;
33  virtual const IThing * getIThing() const=0;
35  virtual IThing * getIThing()=0;
38  virtual const IInterface * getNext() const=0;
41  virtual IInterface * getNext()=0;
44  virtual const IIntNode * getFirstINode() const=0;
47  virtual IIntNode * getFirstINode()=0;
50  virtual const IIntElem * getFirstIntElement() const=0;
55  virtual const IIntElem * getElementWithID(uint64 id) const=0;
57  virtual IIntElem * getElementWithID(uint64 id)=0;
59  virtual const IIntNode * getNodeWithID(uint64 Id) const=0;
61  virtual IIntNode * getNodeWithID(uint64 Id)=0;
63  virtual bool isZoneOnInterface(uint64 id) const=0;
65  virtual bool isFaceOnInterface(uint64 zone,uint32 face) const=0;
67  virtual bool isGpOnInterface(const IGp *gp) const=0;
69  virtual IContainer * getNodeList()=0;
71  virtual const IContainer * getNodeList() const=0;
73  virtual IContainer * getElemList()=0;
75  virtual const IContainer * getElemList() const=0;
76  };
77 
78 } // namespace zone
79 // EoF
Interface for containers of IThings.
Definition: icontainer.h:21
Base class for items that will be stored in containers.
Definition: ithing.h:30
Interface to provide access to a gridpoint.
Definition: igp.h:55
Class provides access to the an interface element.
Definition: iintelem.h:17
Class provides access to the an interface node.
Definition: iintnode.h:23
Class provides access to the an interface.
Definition: iinter.h:28
virtual IIntElem * getElementWithID(uint64 id)=0
Given a interface element id, returns a pointer to the interface element, or 0 if id does not exist.
virtual const IIntNode * getFirstINode() const =0
virtual const IContainer * getNodeList() const =0
Returns the IContainer interface to the list of nodes associated with this interface.
virtual IIntNode * getNodeWithID(uint64 Id)=0
Given a interface node id, returns a pointer to the interface node, or 0 if id does not exist.
virtual IIntElem * getFirstIntElement()=0
virtual bool isZoneOnInterface(uint64 id) const =0
Returns TRUE if the zone with id id is either attached to or a target of the interface.
virtual IThing * getIThing()=0
returns a IThing pointer
virtual const IIntElem * getFirstIntElement() const =0
virtual const IInterface * getNext() const =0
virtual const IContainer * getElemList() const =0
Returns the IContainer interface to the list of elements associated with this interface.
virtual const IThing * getIThing() const =0
returns a const IThing pointer
virtual bool isFaceOnInterface(uint64 zone, uint32 face) const =0
Returns TRUE if the face with zone id and side face is either attached to or a target of the interfac...
virtual bool isGpOnInterface(const IGp *gp) const =0
Returns TRUE if the gp is attached to a face that is considered on the interface (via isFaceOnInterfa...
virtual IContainer * getElemList()=0
Returns the IContainer interface to the list of elements associated with this interface.
virtual IIntNode * getFirstINode()=0
virtual const IIntNode * getNodeWithID(uint64 Id) const =0
Given a interface node id, returns a const pointer to the interface node, or 0 if id does not exist.
virtual IContainer * getNodeList()=0
Returns the IContainer interface to the list of nodes associated with this interface.
virtual const IIntElem * getElementWithID(uint64 id) const =0
Given a interface element id, returns a const pointer to the interface element, or 0 if id does not e...
virtual IInterface * getNext()=0
uint32 TType
class type indicator
Definition: basedef.h:46
namespace Itasca
Definition: basememory.cpp:10