6#include "shared/interface/signal.h"
15 class IContainerContact;
28 class IIntersectionSet;
35 using prop_signal = shared::Signal<const QString &,const QVariant &>;
219 virtual int getLargestCluster(
IDFNCluster *cl=0)
const = 0;
222 virtual int getMaxIndCluster(
IDFNCluster *cl=0)
const = 0;
240 virtual double calcAveTrace(
const IGeomSet *,
const IRange *r=0)
const =0;
249 virtual double calcP30(
const DExtent &,
const IRange *r=0)
const =0;
252 virtual double calcP32(
const DExtent &,
const IRange *r=0)
const =0;
275 virtual void populatePropertySets(QStringList *scalarProps,QStringList *stringProps,QStringList *vectorProps)
const=0;
An array class that attempts to minimize unnecessary heap access.
Definition farray.h:25
Definition idfncluster.h:16
Definition idfntemplate.h:13
Definition ifracnetwork.h:22
Definition ifracture.h:24
Definition iintersect.h:20
Definition iintersectionset.h:22
Definition imoduledfn.h:32
virtual IContainer * getIContainerIntersectionSet()=0
Return the IContainer of the IntersectionSets.
virtual TType getVertexDFNType() const =0
Return the VertexDFN TType.
virtual const IContainer * getIContainerFracNetwork() const =0
Return the const IContainer of the FracNetworks.
virtual const IIntersect * findIntersectWithID(uint64 id, IFracNetwork *fn=0) const =0
Find the const IIntersect with ID id;.
virtual const IContainer * getIContainerVertexDFN() const =0
Return the const IContainer of the VertexDFNs.
virtual const ICellSpace * getFractureCellSpace() const =0
Return a const ICellSpace pointer to the FracNetwork cell space.
virtual IFracture * findFractureClosestTo(const DVect &v, const double &radius=limits< double >::max())=0
Find the FracNetwork closest to v.
virtual void populateAttributeSets(QStringList *scalarAtts, QStringList *stringAtts, QStringList *vectorAtts) const =0
Populates sets of property names based on their type.
virtual TType getFracNetworkType() const =0
Return the FracNetwork TType.
virtual IVertexDFN * findVertexWithID(uint64 id)=0
Find the IVertexDFN with ID id.
virtual IFracture * findLDFractureIntSeg(const DVect &d1, const DVect &d2, IFracNetwork *fn=0)=0
Find the fracture with lowest dominance that intersects a line segment. Can filter by the optional fr...
virtual uint32 getInterSetGroupNotice() const =0
Return the InterSet group notice.
virtual const IContainer * getIContainerIntersectionSet() const =0
Return the const IContainer of the IntersectionSets.
virtual IDFNCluster * findClusterWithName(const QString &name)=0
Find the DFNCluster with ID id.
virtual uint32 getFracNetworkPropertyNotice() const =0
Return the FracNetwork property notice.
virtual double calcPerc(const DExtent &, const IRange *r=0) const =0
Calculate the p20 for all factures regardless of the fracture network.
virtual const IDFNCluster * findClusterWithID(uint64 id) const =0
Find the const DFNCLuster with ID id;.
virtual const IFracture * findFractureWithID(uint64 id, IFracNetwork *fn=0) const =0
Find the const IFracture with ID id;.
virtual uint32 getFracNetworkGeometryNotice() const =0
Return the FracNetwork geometry notice.
virtual ICellSpace * getFractureCellSpace()=0
Return an ICellSpace pointer to the FracNetwork cell space.
virtual TType getIntersectType() const =0
Return the Intersection TType.
virtual void eraseICluster(IDFNCluster *is)=0
Erase the IDFNCluster - could be of any type.
virtual IFracture * findLDFractureInBox(const DExtent &d, IFracNetwork *fn=0)=0
Find the Fracture with lowest dominance that intersects the box d. Can filter by the optional fractur...
virtual prop_signal * getPropertySignal() const =0
Return the signal associated with the addition of a new property.
virtual const IFracture * findFractureClosestTo(const DVect &v, const double &radius=limits< double >::max()) const =0
Find the const FracNetwork closest to v.
virtual const IDFNTemplate * findTemplateWithID(uint64 id) const =0
find the const Template with the given id
virtual uint32 getInterSetExtraNotice() const =0
Return the InterSet extra notice.
virtual void eraseIFracNetwork(IFracNetwork *w)=0
Find the fracture with lowest dominance that intersects a general polygon. Can filter by the optional...
virtual void populatePropertySets(QStringList *scalarProps, QStringList *stringProps, QStringList *vectorProps) const =0
Populates sets of property names based on their type.
virtual uint32 getFracNetworkGroupNotice() const =0
Return the FracNetwork group notice.
virtual IDFNCluster * findClusterWithID(uint64 id)=0
Find the DFNCluster with ID id.
virtual void delineateIntersectionsDirty(IFracture *frac)=0
Delineate all of the intersections with this fracture.
virtual void populateAttributeInterSets(QStringList *scalarAtts, QStringList *stringAtts, QStringList *vectorAtts) const =0
Populates sets of attribute for intersection sets.
virtual const IVertexDFN * findVertexWithID(uint64 id) const =0
Find the const IVertexDFN with ID id;.
virtual uint32 getInterSetGeometryNotice() const =0
Return the InterSet geometry notice.
virtual const IContainer * getIContainerTemplate() const =0
Return the const IContainer of the templates.
virtual void getIntersectList(FArray< IIntersect * > *ret, IFracNetwork *fn=0, IFracture *frac=0)=0
Get the intersection list.
virtual IFracture * findLDFractureClosestTo(const DVect &v, IFracNetwork *fn=0, const double &radius=limits< double >::max())=0
Find the const Fracture closest to v with lowest dominance.
virtual void getFractureInBoxList(const DExtent &d, FArray< const IFracture * > *ret, const IRange *r=0, bool intersect=true)=0
Get the list of fractures within a box.
virtual TType getFractureType() const =0
Return the Fracture TType.
virtual const IFracNetwork * findFracNetworkWithID(uint64 id) const =0
Find the const IFracNetwork with ID id;.
virtual IDFNTemplate * getTemplateOfDFN(IFracNetwork *fn=0)=0
find the template associated to the dfn
virtual void eraseIInterSet(IIntersectionSet *is)=0
Erase the IIntersectionSet - could be of any type.
virtual const IFracNetwork * findFracNetworkWithName(const QString &name) const =0
Find the const IFracNetwork with name name.
virtual IContainer * getIContainerFracture()=0
Return the IContainer of the Fracture.
virtual const IContainer * getIContainerIntersects() const =0
Return the const IContainer of the Intersects.
virtual double calcP21(const DExtent &, const IRange *r=0) const =0
Calculate the p21 for all factures regardless of the fracture network.
virtual IContainer * getIContainerVertexDFN()=0
Return the IContainer of the VertexDFNs.
virtual IDFNTemplate * findTemplateWithID(uint64 id)=0
find the Template with the given id
virtual TType getContactType() const =0
Return the Contact TType.
virtual IContainer * getIContainerIntersects()=0
Return the IContainer of the Intersects.
virtual double calcP10(const DVect &, const DVect &, const IRange *r=0) const =0
Calculate the p10 - works in 2D and 3D. This calculates the P10 for all fractures regardless of the f...
virtual void removeFracture(IFracture *frac)=0
Remove the fracture.
virtual IFracture * findFractureWithID(uint64 id, IFracNetwork *fn=0)=0
Find the IFracture with ID id.
virtual uint32 getFracNetworkIntersectNotice() const =0
Return the FracNetwork geometry notice.
virtual IFracNetwork * createIFracNetwork(uint32 id=0, const QString &name=QString())=0
Create an empty IFracNetwork.
virtual const IContainer * getIContainerFracture() const =0
Return the const IContainer of the Fracture.
virtual const IIntersectionSet * findInterSetWithID(uint64 id) const =0
Find the const IIntersectionSet with ID id;.
virtual IDFNTemplate * findTemplateWithName(const QString &name)=0
find the Template with the given id
virtual IFracNetwork * findFracNetworkWithName(const QString &name)=0
Find the IFracNetwork with name name.
virtual uint32 getFracNetworkExtraNotice() const =0
Return the FracNetwork extra notice.
virtual IDFNCluster * createIDFNCLuster(uint64 &id, QString &name)=0
Create an empty cluster.
virtual IContainer * getIContainerCluster()=0
Return the IContainer of the IntersectionSets.
virtual IFracNetwork * findFracNetworkWithID(uint64 id)=0
Find the IFracNetwork with ID id.
virtual void validate()=0
Validate the fracture cell space if there is no cell space.
virtual QStringList findAllFracNetworks() const =0
Return the list of the names of all FracNetworks.
virtual IFracNetwork * getFirstIFracNetwork() const =0
Get the first fracture network.
virtual const IDFNCluster * findClusterWithName(const QString &name) const =0
Find the const DFNCLuster with name id;.
virtual const IContainer * getIContainerCluster() const =0
Return the const IContainer of the dfncluster.
virtual double calcP10Geom(const IGeomSet *, const IRange *r=0) const =0
Calculate the p10 using a geometry set.
virtual const IFracture * findAnyFractureClosestTo(const DVect &v, const double &radius=limits< double >::max(), const IRange *r=0) const =0
Find the const Fracture closest to v.
virtual double calcP20(const DExtent &, const IRange *r=0) const =0
Calculate the p21 for all factures regardless of the fracture network.
virtual const IDFNTemplate * getTemplateOfDFN(IFracNetwork *fn=0) const =0
find the const template associated to the dfn
virtual IIntersect * findIntersectWithID(uint64 id, IFracNetwork *fn=0)=0
Find the IIntersect with ID id.
virtual IContainer * getIContainerFracNetwork()=0
Return the IContainer of the FracNetworks.
virtual const IDFNTemplate * findTemplateWithName(const QString &name) const =0
find the const Template with the given name
virtual void getIntersectList(FArray< const IIntersect * > *ret, IFracNetwork *fn=0, IFracture *frac=0) const =0
Get the intersection list.
virtual TType getInterSetType() const =0
Return the FracNetwork TType.
virtual IIntersectionSet * findInterSetWithID(uint64 id)=0
Find the IIntersect with ID id.
virtual IContainer * getIContainerTemplate()=0
Return the IContainer of the templates.
virtual IFracture * findAnyFractureClosestTo(const DVect &v, const double &radius=limits< double >::max(), const IRange *r=0)=0
Find the Fracture closest to v.
virtual void removeIntersectsWithFracture(IFracture *frac)=0
Remove all the intersections with this fracture.
virtual void getFractureInBoxList(const DExtent &d, FArray< IFracture * > *ret, const IRange *r=0, bool intersect=true)=0
Get the list of fractures within a box.
virtual void getPathClusterList(FArray< IFracture * > *ret, IDFNCluster *cl=0, IFracture *f1=0, IFracture *f2=0) const =0
returns the path between two fractures
Definition ivertexdfn.h:16
Interface for containers of IThings.
Definition icontainer.h:21
Interface to a "refining" cell space.
Definition icellspace.h:24
A container for a single "set" of geometric elements. A geometric set is a named collection of geomet...
Definition igeomset.h:27
Interface to a filter, used as the main method for filtering objects.
Definition irange.h:32
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
DExtent3 DExtent
A DExtent2 in 2D, a DExtent3 in 3D.
Definition dim.h:160
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