Itasca C++ Interface
Loading...
Searching...
No Matches
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"
11
12namespace itasca {
13 class IThing;
14}
15namespace utility {
16 using itasca::IThing;
17}
18
19namespace zone {
20 class ICParticle;
21
22 struct ICTrackPt {
23 double time_ = 0.0; // time associated with this particle position
24 DVect pos_ = DVect(0); // xyz current coords of this particle
25 DVect vel_ = DVect(0); // current velocity of this particle
26 };
27
32 class ICParticle {
33 public:
35 inline static const TType type_ = 0x4c815a0e;
37 virtual const utility::IThing *getIThing() const=0;
42 virtual const ICParticle *getNext() const=0;
44 virtual DVect3 getLocation() const=0;
45
51 virtual const ICTrackPt &getLastPt() const=0;
52
55 virtual void getParticlePath(FArray<DVect> *path) const=0;
56 };
57
65 public:
67 virtual TType getCParticleType() const=0;
69 virtual const ICParticle * getFirst() const=0;
71 virtual ICParticle * getFirst()=0;
73 virtual const ICParticle * findCParticleWithID(uint64 id) const=0;
76 virtual uint32 getGeometryNotice() const=0;
79 virtual uint32 getGroupNotice() const=0;
80 };
81} // namespace zone
82// EoF
One stop include for all objects defined as part of base interface.
An array class that attempts to minimize unnecessary heap access.
Definition farray.h:25
Base class for items that will be stored in containers.
Definition ithing.h:30
A particle being tracked.
Definition icparticlelist.h:32
virtual const ICTrackPt & getLastPt() const =0
virtual const utility::IThing * getIThing() const =0
Returns a const IThing pointer.
virtual const ICParticle * getNext() const =0
static const TType type_
The type identification number for this class, for use in convert_cast() and convert_getcast().
Definition icparticlelist.h:35
virtual void getParticlePath(FArray< DVect > *path) const =0
virtual utility::IThing * getIThing()=0
Returns a IThing pointer.
virtual DVect3 getLocation() const =0
Returns the current position of the particle.
The list of all particles being tracked.
Definition icparticlelist.h:64
virtual uint32 getGroupNotice() const =0
virtual uint32 getGeometryNotice() const =0
virtual TType getCParticleType() const =0
Returns the particle type (IThing getType() return).
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 const ICParticle * getFirst() const =0
Returns a const pointer to the first IParticle object in the list, see ICParticle::getNext()
virtual ICParticle * getFirst()=0
Returns a pointer to the first IParticle object in the list, see ICParticle::getNext()
DIM - Provides code portability between 2D and 3D codes.
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:154
namespace Itasca
Definition basememory.cpp:14
namespace itasca
Definition igenerictet.h:11
Definition icparticlelist.h:22