Itasca C++ Interface
Loading...
Searching...
No Matches
ifracnetwork.h
1#pragma once
2// ifracnetwork.h
3#include "base/src/farray.h"
4
5
6namespace itasca {
7 class IThing;
8 class IContainer;
9}
10
11namespace itascaxd {
12 class IContact;
13}
14
15namespace dfn {
16
17 using namespace itasca;
18 using namespace itascaxd;
19 class IFracture;
20 class IVertexDFN;
21
23 public:
24 inline static const TType type_ = 0x4d250d32;
25
26 virtual IThing * getIThing()=0;
27 virtual const IThing * getIThing() const=0;
28 virtual IString getName() const=0;
29 virtual DVect getPosition() const=0;
30
31 virtual IFracNetwork * getNextIFracNetwork()=0;
32 virtual const IFracNetwork * getNextIFracNetwork() const=0;
33
34 virtual IFracture * getFirstIFracture()=0;
35 virtual const IFracture * getFirstIFracture() const=0;
36
37 virtual void getFractureList(FArray<IFracture *> *ret)=0;
38 virtual void getFractureList(FArray<const IFracture *> *ret) const=0;
39
40 virtual void getVertexList(FArray<IVertexDFN *> *ret)=0;
41 virtual void getVertexList(FArray<const IVertexDFN *> *ret) const=0;
42
43 virtual void getContactList(FArray<IContact *> *ret,const TType &type=0,IFracture *frac=0)=0;
44 virtual void getContactList(FArray<const IContact *> *ret,const TType &type=0,const IFracture *frac=0) const=0;
45
46 virtual const IFracture *findClosestFracture(const DVect &pos,const double &radius = limits<double>::max()) const=0;
47 virtual IFracture *findClosestFracture(const DVect &pos,const double &radius = limits<double>::max())=0;
48
49 virtual IFracture *findIFracWithID(uint64 id)=0;
50 virtual const IFracture *findIFracWithID(uint64 id) const=0;
51
52 virtual uint32 getDominance() const = 0;
53 virtual void setDominance(uint32 v) = 0;
54 virtual uint32 getFinalDom() const = 0;
55 virtual bool hasFracWithDominance(uint32 domOrder) const = 0;
56
57 virtual void deleteFracture(IFracture *f) = 0;
58 virtual IFracture *createDiskFracture(const DVect &pos,const double &radius=0,const double &dip=0,const double &dipdir=0,uint64 fracID=0) = 0;
59 virtual IFracture *createFractureFromVertices(const QVector<DVect> &vloc,uint64 fracID=0) = 0;
60
61 virtual uint32 getNumFractures() const=0;
62 virtual IContainer *getFracNetworkAsFracContainer() =0;
63 virtual const IContainer *getFracNetworkAsFracContainer() const=0;
64
65 //virtual DVect getPosition() const = 0;
66
67 //virtual void setPosition(const DVect &p)=0;
68
69 };
70} // namespace dfn
71// EoF
An array class that attempts to minimize unnecessary heap access.
Definition farray.h:25
Definition istring.h:14
Definition ifracnetwork.h:22
Definition ifracture.h:24
Interface for containers of IThings.
Definition icontainer.h:21
Base class for items that will be stored in containers.
Definition ithing.h:30
debug checked shorthand for std::numeric_limits<T>::
Definition limit.h:25
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
Itasca Library standard namespace, specific to 2D or 3D.
Definition icontactmodule.h:4