Itasca C++ Interface
Loading...
Searching...
No Matches
iface.h
Go to the documentation of this file.
1#pragma once
2// iface.h
3
9#include "izone.h"
10
11namespace itasca {
12 class IGroupID;
13 class ISlotID;
14}
15
16namespace 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(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 const IZone * getIZone() const =0
Returns a const pointer to the zone of the face.
virtual FaceID getFaceID() const =0
Returns the unique face id for this object.
virtual bool isSurface(int bit=-1) const =0
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 IThing * getIThing()=0
Get an IThing interface.
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 IThing * getIThing() const =0
Get an IThing interface.
static const TType type_
The type identification number for this class, for use in convert_cast() and convert_getcast().
Definition iface.h:26
virtual void setSide(uint32 side)=0
Sets the side associated with this face object.
virtual IZone * getIZone()=0
Returns a pointer to the zone of the face.
virtual bool isVisibleSurface() const =0
virtual const IGp * getGp(uint32 gpIdx) const =0
Interface to provide access to a gridpoint.
Definition igp.h:56
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:154
Interface to provide access to a zone.
namespace Itasca
Definition basememory.cpp:10