Itasca C++ Interface
icparticlelist.h
Go to the documentation of this file.
1 #pragma once
2 
8 #include "base/src/base.h"
9 #include "base/src/farray.h"
10 
11 namespace itasca
12 {
13  class IThing;
14  class IGroup;
15 }
16 
17 namespace zone
18 {
19  using namespace itasca;
20 
21  class ICParticle;
22 
27  class ICParticle
28  {
29  public:
31  inline static const TType type_ = 0x4c815a0e;
33  virtual const IThing * getIThing() const=0;
35  virtual IThing * getIThing()=0;
38  virtual const ICParticle *getNext() const=0;
40  virtual DVect3 getLocation() const=0;
41 
46  virtual void setLastPt(const double &dTime, const DVect &dvCrd, const DVect &dvVel) = 0;
47 
53  virtual void getLastPt(double *dTime, DVect *dvCrd, DVect *dvVel) const= 0;
54 
57  virtual void getParticlePath(FArray<DVect> *path) const= 0;
58 
59  };
60 
68  {
69  public:
71  virtual uint32 getCParticleType() const=0;
73  virtual const ICParticle * getFirst() const=0;
75  virtual ICParticle * getFirst()=0;
77  virtual const ICParticle * findCParticleWithID(uint64 id) const=0;
80  virtual uint32 getGeometryNotice() const=0;
83  virtual uint32 getGroupNotice() const=0;
84  };
85 } // namespace zone
86 // 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
A particle being tracked.
Definition: icparticlelist.h:28
virtual void setLastPt(const double &dTime, const DVect &dvCrd, const DVect &dvVel)=0
virtual void getLastPt(double *dTime, DVect *dvCrd, DVect *dvVel) const =0
virtual IThing * getIThing()=0
Returns a IThing pointer.
virtual void getParticlePath(FArray< DVect > *path) const =0
virtual const IThing * getIThing() const =0
Returns a const IThing pointer.
virtual const ICParticle * getNext() const =0
virtual DVect3 getLocation() const =0
Returns the current position of the particle.
The list of all particles being tracked.
Definition: icparticlelist.h:68
virtual uint32 getGroupNotice() const =0
virtual const ICParticle * findCParticleWithID(uint64 id) const =0
Returns a const pointer to the IParticle object in the list whose ID matches the parameter id.
virtual ICParticle * getFirst()=0
Returns a pointer to the first IParticle object in the list, see ICParticle::getNext()
virtual uint32 getGeometryNotice() const =0
virtual const ICParticle * getFirst() const =0
Returns a const pointer to the first IParticle object in the list, see ICParticle::getNext()
virtual uint32 getCParticleType() const =0
Returns the particle type (IThing getType() return).
An array class that attempts to minimize unnecessary heap access.
uint32 TType
class type indicator
Definition: basedef.h:46
DVect3 DVect
Vector of doubles, either 2D or 3D.
Definition: dim.h:150
namespace Itasca
Definition: basememory.cpp:10