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