Itasca C++ Interface
Loading...
Searching...
No Matches
imeasure.h
1#pragma once
2// imeasure.h
3
4#include "baseqt/src/baseqt.h"
5
6namespace itasca {
7 class IThing;
8 class IGroup;
9}
10
11namespace itascaxd {
12}
13
14namespace pfc {
15 using namespace itasca;
16 using namespace itascaxd;
17
18 /* Measure Mask Defines */
19 static const uint32 MEAS_POROS = 0x000001; /* Porosity */
20 static const uint32 MEAS_COORD = 0x000002; /* Coordination number */
21 static const uint32 MEAS_STRESS = 0x000004; /* Stress Tensor */
22 static const uint32 MEAS_SRATE = 0x000008; /* Strain Rate Tensor */
23 static const uint32 MEAS_SIZE = 0x000010; /* Size distribution */
24
25 class IMeasure {
26 public:
27 inline static const TType type_ = 0x4c8f0e17;
28
29 virtual IThing * getIThing()=0;
30 virtual const IThing * getIThing() const=0;
31
32 virtual DVect getPosition() const=0;
33 virtual double getRadius() const=0;
34 virtual double getVolume() const=0;
35 virtual double getPorosity() const=0;
36 virtual double getCoordination() const=0;
37 virtual DMatrix<DIM,DIM> getStress() const=0;
38 virtual DMatrix<DIM,DIM> getSRate() const=0;
39 virtual QVector<QPair<double,double>> getSizeDist() const=0;
40
41 virtual void setPosition(const DVect &p)=0;
42 virtual void setRadius(const double &d)=0;
43
44 virtual bool setAttribute(const string &name,const base::Property &v)=0;
45 virtual base::Property getAttribute(const string &name) const=0;
46 virtual bool getAttributeSupportsValid(const string &name) const=0;
47 virtual bool getAttributeValid(const string &name) const=0;
48 virtual StringList getAllAttributes() const=0;
49 virtual bool isAttribute(const string &name) const=0;
50
51 };
52
53} // namespace pfc
54// EoF
55
A template-based matrix class, size fixed at compile time. Defaults to symmetric sized matrix.
Definition matrix.h:22
Definition basestring.h:71
Definition property.h:36
Base class for items that will be stored in containers.
Definition ithing.h:31
Definition imeasure.h:25
uint32 TType
class type indicator
Definition basedef.h:47
DVect3 DVect
Vector of doubles, either 2D or 3D.
Definition dim.h:156
namespace Itasca
Definition basememory.cpp:14
Itasca Library standard namespace, specific to 2D or 3D.
Definition icontactmodule.h:6
PFC namespace.
Definition iballfluid.h:15