Itasca C++ Interface
iattach.h
Go to the documentation of this file.
1 // iattach.h
2 #pragma once
3 
9 #include "izone.h"
10 #include "base/src/base.h"
11 
12 namespace itasca {
13  class IThing;
14 }
15 namespace zone {
16  class IGp;
17  class IFace;
18  class IFaceWeight;
19 
21 
24  class IAttachPoint {
25  public:
27  inline static const TType type_ = 0x4c815a1d;
29  enum class ClassType {
30  Gp = 1,
31 #ifdef THREED
32  Edge,
33 #endif
34  Face
35  };
36  using IFacePair = IZone::IFacePair;
37 
39  virtual const IThing * getIThing() const = 0;
41  virtual IThing * getIThing() = 0;
44  virtual const IAttachPoint * getNext() const = 0;
46  virtual DVect3 getLocation() const = 0;
48  virtual DVect getDVectLocation() const = 0;
50  virtual bool isMechNull() const = 0;
52  virtual const IGp * getFollower() const = 0;
54  virtual ClassType classType() const = 0;
58  virtual const IGp * getLeader1() const = 0;
62  virtual const IGp * getLeader2() const = 0;
66  virtual IFacePair getFace() const = 0;
70  virtual double getWeight() const = 0;
72  virtual void setWeight(double w) = 0;
76  virtual const IFaceWeight * getFaceWeight() const = 0;
78  virtual IFaceWeight * getFaceWeight() = 0;
80  virtual bool getSnap() const = 0;
82  virtual void setSnap(bool s) = 0;
83  };
84 }
85 // EoF
One stop include for all objects defined as part of base interface.
Base class for items that will be stored in containers.
Definition: ithing.h:30
Interface to a attachment object.
Definition: iattach.h:24
virtual double getWeight() const =0
virtual DVect getDVectLocation() const =0
returns the attachment point DVect location
virtual bool getSnap() const =0
returns true if gridpoints are "snapped"
virtual bool isMechNull() const =0
returns true if the Gridpoint was 'nulled'
virtual IFacePair getFace() const =0
ClassType
The specific types of attach conditions that can be derived from an attach point.
Definition: iattach.h:29
@ Gp
Direct Gp to Gp attachment.
@ Face
Gp attached to a face of a zone.
virtual IFaceWeight * getFaceWeight()=0
Returns a IFaceWeight pointer to a gridpoint to face attachment
virtual const IThing * getIThing() const =0
returns a const IThing pointer
static const TType type_
The type identification number for this class, for use in convert_cast() and convert_getcast().
Definition: iattach.h:27
virtual const IGp * getLeader2() const =0
virtual IThing * getIThing()=0
returns a IThing pointer
virtual DVect3 getLocation() const =0
returns the attachment point DVect3 location
virtual ClassType classType() const =0
Returns the type of attach this class represents. gp-gp, gp-edge, or gp-face.
virtual const IFaceWeight * getFaceWeight() const =0
virtual void setWeight(double w)=0
sets the weight for a gridpoint to edge attachments
virtual const IGp * getLeader1() const =0
virtual const IAttachPoint * getNext() const =0
virtual const IGp * getFollower() const =0
returns a const pointer to the follower gridpoint.
virtual void setSnap(bool s)=0
set condition to "snap" gridpoints
Interface to face weight, used to define the location of a gridpoint in a given face.
Definition: ifaceweight.h:19
Interface to provide access to a gridpoint.
Definition: igp.h:55
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
Definition: izone.h:98