Itasca C++ Interface
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
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 DVect3 &dvCrd, const DVect3 &dvVel) = 0;
47 
53  virtual void getLastPt(double *dTime, DVect3 *dvCrd, DVect3 *dvVel) const= 0;
54 
57  virtual void getParticlePath(FArray<DVect3> *path) const= 0;
58 
59  };
60 
68  {
69  public:
71  virtual quint32 getCParticleType() const=0;
73  virtual const ICParticle * getFirst() const=0;
75  virtual ICParticle * getFirst()=0;
77  virtual const ICParticle * findCParticleWithID(quint64 id) const=0;
80  virtual uint getGeometryNotice() const=0;
83  virtual uint getGroupNotice() const=0;
84  };
85 } // namespace zone
86 // EoF
namespace Itasca
Definition: basememory.cpp:9
Base class for items that will be stored in containers.
Definition: ithing.h:31
The list of all particles being tracked.
Definition: icparticlelist.h:67
An array class that attempts to minimize unnecessary heap access.
unsigned int TType
class type indicator
Definition: basedef.h:41
A particle being tracked.
Definition: icparticlelist.h:27
An array class that attempts to minimize unnecessary heap access.
Definition: farray.h:27
One stop include for all objects defined as part of base interface.