Itasca C++ Interface
ipiecemechanicaldata.h
1 #pragma once
2 
3 #include "utility/interface/igroup.h"
4 
5 namespace fish {
6  class IParameter;
7 }
8 
9 namespace itascaxd {
10 
11  using namespace itasca;
12 
14  public:
16  inline static const TType type_ = 0x50b4d54c;
17 
19  virtual const IThing *getIThing() const=0;
20  virtual IThing *getIThing()=0;
21 
26  virtual TType getType() const=0;
27 
30  virtual bool addGroup(const IGroupID &id)=0;
33  virtual bool removeGroup(const IGroupID &id)=0;
39  virtual uint32 isInGroup(const FArray<IGroupID> &ids,TType type=0,bool only=false) const=0;
43  virtual const IGroup *getGroup(const ISlotID &id=ISlotID((uint32)0)) const=0;
47  virtual IString getGroupName(const ISlotID &id=ISlotID()) const=0;
49  virtual uint32 getGroupList(FArray<IGroupID> *list) const=0;
51  virtual void copyGroups(const IThing *t)=0;
52 
54  virtual uint32 getExtraSize() const=0;
57  virtual const fish::IParameter *getExtra(uint32 index) const=0;
58  virtual void setExtra(uint32 index,const fish::IParameter &p)=0;
59  virtual void clearExtra()=0;
60  };
61 
62 } // namespace itasca
63 
64 // EoF
An array class that attempts to minimize unnecessary heap access.
Definition: farray.h:25
Definition: istring.h:14
Definition: iparameter.h:13
Interface to a group object.
Definition: igroup.h:9
Definition: igroup.h:82
Definition: igroup.h:41
Base class for items that will be stored in containers.
Definition: ithing.h:30
Definition: ipiecemechanicaldata.h:13
virtual bool addGroup(const IGroupID &id)=0
virtual uint32 getExtraSize() const =0
Returns the number of extra FISH extra variables for this object.
virtual void copyGroups(const IThing *t)=0
Copies group data from one IThing to this, all original group data is lost.
virtual void setExtra(uint32 index, const fish::IParameter &p)=0
virtual const IThing * getIThing() const =0
Return the IThing interface.
virtual uint32 isInGroup(const FArray< IGroupID > &ids, TType type=0, bool only=false) const =0
virtual uint32 getGroupList(FArray< IGroupID > *list) const =0
Return all groups and all slots assigned to the object in a list.
virtual const fish::IParameter * getExtra(uint32 index) const =0
virtual IThing * getIThing()=0
Return the IThing interface.
virtual TType getType() const =0
virtual const IGroup * getGroup(const ISlotID &id=ISlotID((uint32) 0)) const =0
virtual IString getGroupName(const ISlotID &id=ISlotID()) const =0
virtual bool removeGroup(const IGroupID &id)=0
uint32 TType
class type indicator
Definition: basedef.h:46
namespace Itasca
Definition: basememory.cpp:10
Itasca Library standard namespace, specific to 2D or 3D.
Definition: icontactmodule.h:4