Itasca C++ Interface
Toggle main menu visibility
Loading...
Searching...
No Matches
ifracnetwork.h
1
#pragma once
2
// ifracnetwork.h
3
#include "
base/src/farray.h
"
4
5
namespace
itasca
{
6
class
IThing
;
7
class
IContainer
;
8
}
9
10
namespace
itascaxd
{
11
class
IContact;
12
}
13
14
namespace
dfn {
15
16
using namespace
itasca;
17
using namespace
itascaxd
;
18
class
IFracture
;
19
class
IVertexDFN
;
20
21
class
IFracNetwork
{
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
FArray
An array class that attempts to minimize unnecessary heap access.
Definition
farray.h:25
dfn::IFracNetwork
Definition
ifracnetwork.h:21
dfn::IFracture
Definition
ifracture.h:25
dfn::IVertexDFN
Definition
ivertexdfn.h:16
itasca::IContainer
Interface for containers of IThings.
Definition
icontainer.h:21
itasca::IThing
Base class for items that will be stored in containers.
Definition
ithing.h:31
limits
debug checked shorthand for std::numeric_limits<T>::
Definition
limit.h:25
farray.h
An array class that attempts to minimize unnecessary heap access.
TType
uint32 TType
class type indicator
Definition
basedef.h:47
itascaxd
#define itascaxd
Expands to itasca2d in 2D, itasca3d in 3D, for use as a namespace name....
Definition
dim.h:181
DVect
DVect3 DVect
Vector of doubles, either 2D or 3D.
Definition
dim.h:156
itasca
namespace Itasca
Definition
basememory.cpp:14
itascaxd
Itasca Library standard namespace, specific to 2D or 3D.
Definition
icontactmodule.h:6
common
dfn
interface
ifracnetwork.h
Generated by
1.18.0