Itasca C++ Interface
iselnodelist.h
Go to the documentation of this file.
1 //iselnodelist.h
2 #pragma once
3 
9 namespace itasca {
10  class IContainer;
11  class IThing;
12 }
13 
14 namespace sel {
15  using namespace itasca;
16 
17  class ISELNode;
18 
21  class ISELNodeList {
22  public:
24  virtual const IThing *getIThing() const=0;
26  virtual IThing *getIThing()=0;
28  virtual const IContainer * getIContainer() const=0;
30  virtual IContainer * getIContainer() =0;
33  virtual const ISELNode * getFirstSELNode() const=0;
36  virtual ISELNode * getFirstSELNode()=0;
38  virtual const ISELNode * findSelNodeWithID(uint64 id) const=0;
40  virtual ISELNode * findSelNodeWithID(uint64 id) =0;
43  virtual const ISELNode * findSelNode(const DVect &position,double radius=limits<double>::max()) const=0;
46  virtual ISELNode * findSelNode(const DVect &position,double radius=limits<double>::max()) =0;
48  virtual uint32 getSELNodeType() const=0;
50  virtual uint32 getFapNotice() const=0;
52  virtual uint32 getFobNotice() const=0;
54  virtual uint32 getGeometryNotice() const=0;
56  virtual uint32 getFixityNotice() const =0;
58  virtual uint32 getVelocityNotice() const=0;
60  virtual uint32 getDisplacementNotice() const=0;
62  virtual uint32 getLinkStateNotice() const=0;
64  virtual uint32 getFISHNotice() const=0;
66  virtual uint32 getGroupNotice() const=0;
67  virtual uint32 getRatioTargetNotice() const=0;
68  };
69 } // namespace itasca
70 // EoF
71 
Interface for containers of IThings.
Definition: icontainer.h:21
Base class for items that will be stored in containers.
Definition: ithing.h:30
debug checked shorthand for std::numeric_limits<T>::
Definition: limit.h:25
Interface to provide access to structural element nodes.
Definition: iselnode.h:44
Interface to the global list of all structural elements nodes.
Definition: iselnodelist.h:21
virtual const ISELNode * getFirstSELNode() const =0
virtual uint32 getDisplacementNotice() const =0
Returns the tag for the structural element node displacement change notice.
virtual const ISELNode * findSelNodeWithID(uint64 id) const =0
Given a strucutal element node id, returns a const pointer to the SEL node.
virtual ISELNode * findSelNode(const DVect &position, double radius=limits< double >::max())=0
virtual uint32 getFISHNotice() const =0
Returns the tag for the structural element node fish extra variable change notice.
virtual const ISELNode * findSelNode(const DVect &position, double radius=limits< double >::max()) const =0
virtual uint32 getVelocityNotice() const =0
Returns the tag for the structural element node velocity change notice.
virtual uint32 getFixityNotice() const =0
Returns the tag for the structural element node fixity change notice.
virtual ISELNode * findSelNodeWithID(uint64 id)=0
Given a structural elemnent node id, returns a pointer to the SEL node.
virtual uint32 getFapNotice() const =0
Returns the tag for the structural element node applied forces change notice.
virtual uint32 getGeometryNotice() const =0
Returns the tag for the structural element node geometry change notice.
virtual ISELNode * getFirstSELNode()=0
virtual const IThing * getIThing() const =0
Returns a const IThing pointer.
virtual const IContainer * getIContainer() const =0
Returns a const pointer to IContainer interface representing global list of nodes.
virtual uint32 getGroupNotice() const =0
Returns the tag for the structural element group change notice.
virtual IContainer * getIContainer()=0
Returns a pointer to IContainer interface representing global list of nodes.
virtual uint32 getSELNodeType() const =0
Returns the general SEL node type.
virtual uint32 getLinkStateNotice() const =0
Returns the tag for the structural element node link state change notice.
virtual uint32 getFobNotice() const =0
Returns the tag for the structural element node out of balance forces change notice.
virtual IThing * getIThing()=0
Returns a IThing pointer.
DVect3 DVect
Vector of doubles, either 2D or 3D.
Definition: dim.h:150
namespace Itasca
Definition: basememory.cpp:10