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
6
namespace
itasca
{
7
class
IThing
;
8
class
IContainer
;
9
}
10
11
namespace
itascaxd
{
12
class
IContact;
13
}
14
15
namespace
dfn {
16
17
using namespace
itasca;
18
using namespace
itascaxd
;
19
class
IFracture
;
20
class
IVertexDFN
;
21
22
class
IFracNetwork
{
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
FArray
An array class that attempts to minimize unnecessary heap access.
Definition
farray.h:25
IString
Definition
istring.h:14
QVector
Definition
idef.h:20
dfn::IFracNetwork
Definition
ifracnetwork.h:22
dfn::IFracture
Definition
ifracture.h:24
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:30
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:46
itascaxd
#define itascaxd
Expands to itasca2d in 2D, itasca3d in 3D, for use as a namespace name....
Definition
dim.h:175
DVect
DVect3 DVect
Vector of doubles, either 2D or 3D.
Definition
dim.h:150
itasca
namespace Itasca
Definition
basememory.cpp:10
itascaxd
Itasca Library standard namespace, specific to 2D or 3D.
Definition
icontactmodule.h:4
common
dfn
interface
ifracnetwork.h
Generated by
1.18.0