MeshLib C Docs
Loading...
Searching...
No Matches
MRWatershedGraph.h File Reference
#include <MRCMesh/MRId.h>
#include <MRCMisc/common.h>
#include <MRCMisc/exports.h>
#include <stdbool.h>
#include <stddef.h>

Go to the source code of this file.

Typedefs

typedef struct MR_FaceBitSet MR_FaceBitSet
 
typedef struct MR_Graph MR_Graph
 
typedef struct MR_Mesh MR_Mesh
 
typedef struct MR_UndirectedEdgeBitSet MR_UndirectedEdgeBitSet
 
typedef struct MR_Vector_MR_FaceBitSet_MR_GraphVertId MR_Vector_MR_FaceBitSet_MR_GraphVertId
 
typedef struct MR_Vector_MR_GraphVertId_MR_GraphVertId MR_Vector_MR_GraphVertId_MR_GraphVertId
 
typedef struct MR_Vector_int_MR_FaceId MR_Vector_int_MR_FaceId
 
typedef struct MR_std_pair_MR_GraphEdgeId_float MR_std_pair_MR_GraphEdgeId_float
 
typedef struct MR_std_vector_MR_WatershedGraph_OverflowPoint MR_std_vector_MR_WatershedGraph_OverflowPoint
 
typedef struct MR_WatershedGraph_BasinInfo MR_WatershedGraph_BasinInfo
 
typedef struct MR_WatershedGraph_BdInfo MR_WatershedGraph_BdInfo
 
typedef struct MR_WatershedGraph_OverflowPoint MR_WatershedGraph_OverflowPoint
 
typedef struct MR_WatershedGraph MR_WatershedGraph
 

Functions

MRC_API MR_WatershedGraphMR_WatershedGraph_ConstructFromAnother (MR_PassBy _other_pass_by, MR_WatershedGraph *_other)
 
MRC_API const MR_WatershedGraphMR_WatershedGraph_OffsetPtr (const MR_WatershedGraph *ptr, ptrdiff_t i)
 Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element.
 
MRC_API MR_WatershedGraphMR_WatershedGraph_OffsetMutablePtr (MR_WatershedGraph *ptr, ptrdiff_t i)
 Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element.
 
MRC_API MR_WatershedGraphMR_WatershedGraph_Construct (const MR_Mesh *mesh, const MR_Vector_int_MR_FaceId *face2basin, int numBasins)
 
MRC_API void MR_WatershedGraph_Destroy (const MR_WatershedGraph *_this)
 Destroys a heap-allocated instance of MR_WatershedGraph. Does nothing if the pointer is null.
 
MRC_API void MR_WatershedGraph_DestroyArray (const MR_WatershedGraph *_this)
 Destroys a heap-allocated array of MR_WatershedGraph. Does nothing if the pointer is null.
 
MRC_API float MR_WatershedGraph_getHeightAt (const MR_WatershedGraph *_this, MR_VertId v)
 
MRC_API const MR_GraphMR_WatershedGraph_graph (const MR_WatershedGraph *_this)
 
MRC_API float MR_WatershedGraph_totalArea (const MR_WatershedGraph *_this)
 
MRC_API int MR_WatershedGraph_numBasins (const MR_WatershedGraph *_this)
 
MRC_API const MR_WatershedGraph_BasinInfoMR_WatershedGraph_basinInfo_const (const MR_WatershedGraph *_this, MR_GraphVertId v)
 
MRC_API MR_WatershedGraph_BasinInfoMR_WatershedGraph_basinInfo (MR_WatershedGraph *_this, MR_GraphVertId v)
 
MRC_API const MR_WatershedGraph_BdInfoMR_WatershedGraph_bdInfo_const (const MR_WatershedGraph *_this, MR_GraphEdgeId e)
 
MRC_API MR_WatershedGraph_BdInfoMR_WatershedGraph_bdInfo (MR_WatershedGraph *_this, MR_GraphEdgeId e)
 
MRC_API MR_GraphVertId MR_WatershedGraph_outsideId (const MR_WatershedGraph *_this)
 
MRC_API MR_GraphVertId MR_WatershedGraph_getRootBasin (const MR_WatershedGraph *_this, MR_GraphVertId v)
 
MRC_API MR_GraphVertId MR_WatershedGraph_flowsTo (const MR_WatershedGraph *_this, MR_GraphVertId v)
 
MRC_API MR_GraphVertId MR_WatershedGraph_flowsFinallyTo (const MR_WatershedGraph *_this, MR_GraphVertId v, const bool *exceptOutside)
 
MRC_API void MR_WatershedGraph_setParentsToRoots (MR_WatershedGraph *_this)
 
MRC_API MR_std_pair_MR_GraphEdgeId_floatMR_WatershedGraph_findLowestBd (const MR_WatershedGraph *_this)
 
MRC_API MR_GraphVertId MR_WatershedGraph_merge (MR_WatershedGraph *_this, MR_GraphVertId v0, MR_GraphVertId v1)
 
MRC_API MR_GraphVertId MR_WatershedGraph_mergeViaBd (MR_WatershedGraph *_this, MR_GraphEdgeId bd)
 
MRC_API MR_FaceBitSetMR_WatershedGraph_getBasinFaces (const MR_WatershedGraph *_this, MR_GraphVertId basin)
 
MRC_API MR_Vector_MR_FaceBitSet_MR_GraphVertIdMR_WatershedGraph_getAllBasinFaces (const MR_WatershedGraph *_this, const bool *joinOverflowBasins)
 
MRC_API MR_FaceBitSetMR_WatershedGraph_getBasinFacesBelowLevel (const MR_WatershedGraph *_this, MR_GraphVertId basin, float waterLevel)
 
MRC_API double MR_WatershedGraph_computeBasinVolume (const MR_WatershedGraph *_this, MR_GraphVertId basin, float waterLevel)
 
MRC_API MR_UndirectedEdgeBitSetMR_WatershedGraph_getInterBasinEdges (const MR_WatershedGraph *_this, const bool *joinOverflowBasins)
 
MRC_API MR_std_vector_MR_WatershedGraph_OverflowPointMR_WatershedGraph_getOverflowPoints (const MR_WatershedGraph *_this)
 
MRC_API MR_Vector_MR_GraphVertId_MR_GraphVertIdMR_WatershedGraph_iniBasin2Tgt (const MR_WatershedGraph *_this, const bool *joinOverflowBasins)
 
MRC_API const MR_VertIdMR_WatershedGraph_BasinInfo_Get_lowestVert (const MR_WatershedGraph_BasinInfo *_this)
 
MRC_API void MR_WatershedGraph_BasinInfo_Set_lowestVert (MR_WatershedGraph_BasinInfo *_this, MR_VertId value)
 
MRC_API MR_VertIdMR_WatershedGraph_BasinInfo_GetMutable_lowestVert (MR_WatershedGraph_BasinInfo *_this)
 
MRC_API const float * MR_WatershedGraph_BasinInfo_Get_lowestLevel (const MR_WatershedGraph_BasinInfo *_this)
 
MRC_API void MR_WatershedGraph_BasinInfo_Set_lowestLevel (MR_WatershedGraph_BasinInfo *_this, float value)
 
MRC_API float * MR_WatershedGraph_BasinInfo_GetMutable_lowestLevel (MR_WatershedGraph_BasinInfo *_this)
 
MRC_API const float * MR_WatershedGraph_BasinInfo_Get_area (const MR_WatershedGraph_BasinInfo *_this)
 
MRC_API void MR_WatershedGraph_BasinInfo_Set_area (MR_WatershedGraph_BasinInfo *_this, float value)
 
MRC_API float * MR_WatershedGraph_BasinInfo_GetMutable_area (MR_WatershedGraph_BasinInfo *_this)
 
MRC_API const float * MR_WatershedGraph_BasinInfo_Get_lowestBdLevel (const MR_WatershedGraph_BasinInfo *_this)
 
MRC_API void MR_WatershedGraph_BasinInfo_Set_lowestBdLevel (MR_WatershedGraph_BasinInfo *_this, float value)
 
MRC_API float * MR_WatershedGraph_BasinInfo_GetMutable_lowestBdLevel (MR_WatershedGraph_BasinInfo *_this)
 
MRC_API const float * MR_WatershedGraph_BasinInfo_Get_maxVolume (const MR_WatershedGraph_BasinInfo *_this)
 
MRC_API void MR_WatershedGraph_BasinInfo_Set_maxVolume (MR_WatershedGraph_BasinInfo *_this, float value)
 
MRC_API float * MR_WatershedGraph_BasinInfo_GetMutable_maxVolume (MR_WatershedGraph_BasinInfo *_this)
 
MRC_API const float * MR_WatershedGraph_BasinInfo_Get_accVolume (const MR_WatershedGraph_BasinInfo *_this)
 
MRC_API void MR_WatershedGraph_BasinInfo_Set_accVolume (MR_WatershedGraph_BasinInfo *_this, float value)
 
MRC_API float * MR_WatershedGraph_BasinInfo_GetMutable_accVolume (MR_WatershedGraph_BasinInfo *_this)
 
MRC_API const float * MR_WatershedGraph_BasinInfo_Get_lastUpdateAmount (const MR_WatershedGraph_BasinInfo *_this)
 
MRC_API void MR_WatershedGraph_BasinInfo_Set_lastUpdateAmount (MR_WatershedGraph_BasinInfo *_this, float value)
 
MRC_API float * MR_WatershedGraph_BasinInfo_GetMutable_lastUpdateAmount (MR_WatershedGraph_BasinInfo *_this)
 
MRC_API const float * MR_WatershedGraph_BasinInfo_Get_lastMergeLevel (const MR_WatershedGraph_BasinInfo *_this)
 
MRC_API void MR_WatershedGraph_BasinInfo_Set_lastMergeLevel (MR_WatershedGraph_BasinInfo *_this, float value)
 
MRC_API float * MR_WatershedGraph_BasinInfo_GetMutable_lastMergeLevel (MR_WatershedGraph_BasinInfo *_this)
 
MRC_API const float * MR_WatershedGraph_BasinInfo_Get_lastMergeVolume (const MR_WatershedGraph_BasinInfo *_this)
 
MRC_API void MR_WatershedGraph_BasinInfo_Set_lastMergeVolume (MR_WatershedGraph_BasinInfo *_this, float value)
 
MRC_API float * MR_WatershedGraph_BasinInfo_GetMutable_lastMergeVolume (MR_WatershedGraph_BasinInfo *_this)
 
MRC_API const MR_GraphEdgeIdMR_WatershedGraph_BasinInfo_Get_overflowVia (const MR_WatershedGraph_BasinInfo *_this)
 
MRC_API void MR_WatershedGraph_BasinInfo_Set_overflowVia (MR_WatershedGraph_BasinInfo *_this, MR_GraphEdgeId value)
 
MRC_API MR_GraphEdgeIdMR_WatershedGraph_BasinInfo_GetMutable_overflowVia (MR_WatershedGraph_BasinInfo *_this)
 
MRC_API MR_WatershedGraph_BasinInfoMR_WatershedGraph_BasinInfo_DefaultConstruct (void)
 
MRC_API MR_WatershedGraph_BasinInfoMR_WatershedGraph_BasinInfo_DefaultConstructArray (size_t num_elems)
 
MRC_API const MR_WatershedGraph_BasinInfoMR_WatershedGraph_BasinInfo_OffsetPtr (const MR_WatershedGraph_BasinInfo *ptr, ptrdiff_t i)
 Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element.
 
MRC_API MR_WatershedGraph_BasinInfoMR_WatershedGraph_BasinInfo_OffsetMutablePtr (MR_WatershedGraph_BasinInfo *ptr, ptrdiff_t i)
 Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element.
 
MRC_API MR_WatershedGraph_BasinInfoMR_WatershedGraph_BasinInfo_ConstructFromAnother (const MR_WatershedGraph_BasinInfo *_other)
 
MRC_API void MR_WatershedGraph_BasinInfo_Destroy (const MR_WatershedGraph_BasinInfo *_this)
 Destroys a heap-allocated instance of MR_WatershedGraph_BasinInfo. Does nothing if the pointer is null.
 
MRC_API void MR_WatershedGraph_BasinInfo_DestroyArray (const MR_WatershedGraph_BasinInfo *_this)
 Destroys a heap-allocated array of MR_WatershedGraph_BasinInfo. Does nothing if the pointer is null.
 
MRC_API MR_WatershedGraph_BasinInfoMR_WatershedGraph_BasinInfo_AssignFromAnother (MR_WatershedGraph_BasinInfo *_this, const MR_WatershedGraph_BasinInfo *_other)
 
MRC_API float MR_WatershedGraph_BasinInfo_amountTillOverflow (const MR_WatershedGraph_BasinInfo *_this)
 
MRC_API float MR_WatershedGraph_BasinInfo_approxLevel (const MR_WatershedGraph_BasinInfo *_this)
 
MRC_API void MR_WatershedGraph_BasinInfo_updateAccVolume (MR_WatershedGraph_BasinInfo *_this, float amount)
 
MRC_API const MR_VertIdMR_WatershedGraph_BdInfo_Get_lowestVert (const MR_WatershedGraph_BdInfo *_this)
 
MRC_API void MR_WatershedGraph_BdInfo_Set_lowestVert (MR_WatershedGraph_BdInfo *_this, MR_VertId value)
 
MRC_API MR_VertIdMR_WatershedGraph_BdInfo_GetMutable_lowestVert (MR_WatershedGraph_BdInfo *_this)
 
MRC_API MR_WatershedGraph_BdInfoMR_WatershedGraph_BdInfo_DefaultConstruct (void)
 
MRC_API MR_WatershedGraph_BdInfoMR_WatershedGraph_BdInfo_DefaultConstructArray (size_t num_elems)
 
MRC_API MR_WatershedGraph_BdInfoMR_WatershedGraph_BdInfo_ConstructFrom (MR_VertId lowestVert)
 
MRC_API const MR_WatershedGraph_BdInfoMR_WatershedGraph_BdInfo_OffsetPtr (const MR_WatershedGraph_BdInfo *ptr, ptrdiff_t i)
 Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element.
 
MRC_API MR_WatershedGraph_BdInfoMR_WatershedGraph_BdInfo_OffsetMutablePtr (MR_WatershedGraph_BdInfo *ptr, ptrdiff_t i)
 Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element.
 
MRC_API MR_WatershedGraph_BdInfoMR_WatershedGraph_BdInfo_ConstructFromAnother (const MR_WatershedGraph_BdInfo *_other)
 
MRC_API void MR_WatershedGraph_BdInfo_Destroy (const MR_WatershedGraph_BdInfo *_this)
 Destroys a heap-allocated instance of MR_WatershedGraph_BdInfo. Does nothing if the pointer is null.
 
MRC_API void MR_WatershedGraph_BdInfo_DestroyArray (const MR_WatershedGraph_BdInfo *_this)
 Destroys a heap-allocated array of MR_WatershedGraph_BdInfo. Does nothing if the pointer is null.
 
MRC_API MR_WatershedGraph_BdInfoMR_WatershedGraph_BdInfo_AssignFromAnother (MR_WatershedGraph_BdInfo *_this, const MR_WatershedGraph_BdInfo *_other)
 
MRC_API const MR_VertIdMR_WatershedGraph_OverflowPoint_Get_v (const MR_WatershedGraph_OverflowPoint *_this)
 
MRC_API void MR_WatershedGraph_OverflowPoint_Set_v (MR_WatershedGraph_OverflowPoint *_this, MR_VertId value)
 
MRC_API MR_VertIdMR_WatershedGraph_OverflowPoint_GetMutable_v (MR_WatershedGraph_OverflowPoint *_this)
 
MRC_API const MR_GraphVertIdMR_WatershedGraph_OverflowPoint_Get_fullBasin (const MR_WatershedGraph_OverflowPoint *_this)
 
MRC_API void MR_WatershedGraph_OverflowPoint_Set_fullBasin (MR_WatershedGraph_OverflowPoint *_this, MR_GraphVertId value)
 
MRC_API MR_GraphVertIdMR_WatershedGraph_OverflowPoint_GetMutable_fullBasin (MR_WatershedGraph_OverflowPoint *_this)
 
MRC_API const MR_GraphVertIdMR_WatershedGraph_OverflowPoint_Get_overflowTo (const MR_WatershedGraph_OverflowPoint *_this)
 
MRC_API void MR_WatershedGraph_OverflowPoint_Set_overflowTo (MR_WatershedGraph_OverflowPoint *_this, MR_GraphVertId value)
 
MRC_API MR_GraphVertIdMR_WatershedGraph_OverflowPoint_GetMutable_overflowTo (MR_WatershedGraph_OverflowPoint *_this)
 
MRC_API MR_WatershedGraph_OverflowPointMR_WatershedGraph_OverflowPoint_DefaultConstruct (void)
 
MRC_API MR_WatershedGraph_OverflowPointMR_WatershedGraph_OverflowPoint_DefaultConstructArray (size_t num_elems)
 
MRC_API MR_WatershedGraph_OverflowPointMR_WatershedGraph_OverflowPoint_ConstructFrom (MR_VertId v, MR_GraphVertId fullBasin, MR_GraphVertId overflowTo)
 
MRC_API const MR_WatershedGraph_OverflowPointMR_WatershedGraph_OverflowPoint_OffsetPtr (const MR_WatershedGraph_OverflowPoint *ptr, ptrdiff_t i)
 Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element.
 
MRC_API MR_WatershedGraph_OverflowPointMR_WatershedGraph_OverflowPoint_OffsetMutablePtr (MR_WatershedGraph_OverflowPoint *ptr, ptrdiff_t i)
 Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element.
 
MRC_API MR_WatershedGraph_OverflowPointMR_WatershedGraph_OverflowPoint_ConstructFromAnother (const MR_WatershedGraph_OverflowPoint *_other)
 
MRC_API void MR_WatershedGraph_OverflowPoint_Destroy (const MR_WatershedGraph_OverflowPoint *_this)
 Destroys a heap-allocated instance of MR_WatershedGraph_OverflowPoint. Does nothing if the pointer is null.
 
MRC_API void MR_WatershedGraph_OverflowPoint_DestroyArray (const MR_WatershedGraph_OverflowPoint *_this)
 Destroys a heap-allocated array of MR_WatershedGraph_OverflowPoint. Does nothing if the pointer is null.
 
MRC_API MR_WatershedGraph_OverflowPointMR_WatershedGraph_OverflowPoint_AssignFromAnother (MR_WatershedGraph_OverflowPoint *_this, const MR_WatershedGraph_OverflowPoint *_other)
 

Typedef Documentation

◆ MR_FaceBitSet

typedef struct MR_FaceBitSet MR_FaceBitSet

◆ MR_Graph

typedef struct MR_Graph MR_Graph

◆ MR_Mesh

typedef struct MR_Mesh MR_Mesh

◆ MR_std_pair_MR_GraphEdgeId_float

◆ MR_std_vector_MR_WatershedGraph_OverflowPoint

◆ MR_UndirectedEdgeBitSet

◆ MR_Vector_int_MR_FaceId

◆ MR_Vector_MR_FaceBitSet_MR_GraphVertId

◆ MR_Vector_MR_GraphVertId_MR_GraphVertId

◆ MR_WatershedGraph

graphs representing rain basins on the mesh Generated from class MR::WatershedGraph. Supported MR_PassBy modes: MR_PassBy_Copy, MR_PassBy_Move (and MR_PassBy_DefaultArgument and MR_PassBy_NoObject if supported by the callee).

◆ MR_WatershedGraph_BasinInfo

associated with each vertex in graph Generated from class MR::WatershedGraph::BasinInfo. Supported MR_PassBy modes: MR_PassBy_DefaultConstruct, MR_PassBy_Copy, MR_PassBy_Move (and MR_PassBy_DefaultArgument and MR_PassBy_NoObject if supported by the callee).

◆ MR_WatershedGraph_BdInfo

associated with each edge in graph Generated from class MR::WatershedGraph::BdInfo. Supported MR_PassBy modes: MR_PassBy_DefaultConstruct, MR_PassBy_Copy, MR_PassBy_Move (and MR_PassBy_DefaultArgument and MR_PassBy_NoObject if supported by the callee).

◆ MR_WatershedGraph_OverflowPoint

describes a point where a flow from one basin overflows into another basin Generated from class MR::WatershedGraph::OverflowPoint. Supported MR_PassBy modes: MR_PassBy_DefaultConstruct, MR_PassBy_Copy, MR_PassBy_Move (and MR_PassBy_DefaultArgument and MR_PassBy_NoObject if supported by the callee).

Function Documentation

◆ MR_WatershedGraph_basinInfo()

MRC_API MR_WatershedGraph_BasinInfo * MR_WatershedGraph_basinInfo ( MR_WatershedGraph * _this,
MR_GraphVertId v )

Generated from method MR::WatershedGraph::basinInfo. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_WatershedGraph_BasinInfo_amountTillOverflow()

MRC_API float MR_WatershedGraph_BasinInfo_amountTillOverflow ( const MR_WatershedGraph_BasinInfo * _this)

amount of precipitation (in same units as mesh coordinates and water level), which can be added before overflowing the basin Generated from method MR::WatershedGraph::BasinInfo::amountTillOverflow. Parameter _this can not be null. It is a single object.

◆ MR_WatershedGraph_BasinInfo_approxLevel()

MRC_API float MR_WatershedGraph_BasinInfo_approxLevel ( const MR_WatershedGraph_BasinInfo * _this)

approximate current level of water (z-coordinate) in the basin Generated from method MR::WatershedGraph::BasinInfo::approxLevel. Parameter _this can not be null. It is a single object.

◆ MR_WatershedGraph_BasinInfo_AssignFromAnother()

MRC_API MR_WatershedGraph_BasinInfo * MR_WatershedGraph_BasinInfo_AssignFromAnother ( MR_WatershedGraph_BasinInfo * _this,
const MR_WatershedGraph_BasinInfo * _other )

Generated from method MR::WatershedGraph::BasinInfo::operator=. Parameter _this can not be null. It is a single object. Parameter _other can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_WatershedGraph_basinInfo_const()

MRC_API const MR_WatershedGraph_BasinInfo * MR_WatershedGraph_basinInfo_const ( const MR_WatershedGraph * _this,
MR_GraphVertId v )

returns data associated with given basin Generated from method MR::WatershedGraph::basinInfo. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_WatershedGraph_BasinInfo_ConstructFromAnother()

MRC_API MR_WatershedGraph_BasinInfo * MR_WatershedGraph_BasinInfo_ConstructFromAnother ( const MR_WatershedGraph_BasinInfo * _other)

Generated from constructor MR::WatershedGraph::BasinInfo::BasinInfo. Parameter _other can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_WatershedGraph_BasinInfo_Destroy() to free it when you're done using it.

◆ MR_WatershedGraph_BasinInfo_DefaultConstruct()

MRC_API MR_WatershedGraph_BasinInfo * MR_WatershedGraph_BasinInfo_DefaultConstruct ( void )

Constructs an empty (default-constructed) instance. Never returns null. Returns an instance allocated on the heap! Must call MR_WatershedGraph_BasinInfo_Destroy() to free it when you're done using it.

◆ MR_WatershedGraph_BasinInfo_DefaultConstructArray()

MRC_API MR_WatershedGraph_BasinInfo * MR_WatershedGraph_BasinInfo_DefaultConstructArray ( size_t num_elems)

Constructs an array of empty (default-constructed) instances, of the specified size. Will never return null. The array must be destroyed using MR_WatershedGraph_BasinInfo_DestroyArray(). Use MR_WatershedGraph_BasinInfo_OffsetMutablePtr() and MR_WatershedGraph_BasinInfo_OffsetPtr() to access the array elements.

◆ MR_WatershedGraph_BasinInfo_Destroy()

MRC_API void MR_WatershedGraph_BasinInfo_Destroy ( const MR_WatershedGraph_BasinInfo * _this)

Destroys a heap-allocated instance of MR_WatershedGraph_BasinInfo. Does nothing if the pointer is null.

◆ MR_WatershedGraph_BasinInfo_DestroyArray()

MRC_API void MR_WatershedGraph_BasinInfo_DestroyArray ( const MR_WatershedGraph_BasinInfo * _this)

Destroys a heap-allocated array of MR_WatershedGraph_BasinInfo. Does nothing if the pointer is null.

◆ MR_WatershedGraph_BasinInfo_Get_accVolume()

MRC_API const float * MR_WatershedGraph_BasinInfo_Get_accVolume ( const MR_WatershedGraph_BasinInfo * _this)

accumulated water volume in the basin so far Modifies a member variable of class MR::WatershedGraph::BasinInfo named accVolume. Parameter _this can not be null. It is a single object.

◆ MR_WatershedGraph_BasinInfo_Get_area()

MRC_API const float * MR_WatershedGraph_BasinInfo_Get_area ( const MR_WatershedGraph_BasinInfo * _this)

precipitation area that flows in this basin (and if it is full, continue flowing next) Modifies a member variable of class MR::WatershedGraph::BasinInfo named area. Parameter _this can not be null. It is a single object.

◆ MR_WatershedGraph_BasinInfo_Get_lastMergeLevel()

MRC_API const float * MR_WatershedGraph_BasinInfo_Get_lastMergeLevel ( const MR_WatershedGraph_BasinInfo * _this)

water level in the basin when it was formed (by merge or creation) Modifies a member variable of class MR::WatershedGraph::BasinInfo named lastMergeLevel. Parameter _this can not be null. It is a single object.

◆ MR_WatershedGraph_BasinInfo_Get_lastMergeVolume()

MRC_API const float * MR_WatershedGraph_BasinInfo_Get_lastMergeVolume ( const MR_WatershedGraph_BasinInfo * _this)

water volume in the basin when it was formed (by merge or creation) Modifies a member variable of class MR::WatershedGraph::BasinInfo named lastMergeVolume. Parameter _this can not be null. It is a single object.

◆ MR_WatershedGraph_BasinInfo_Get_lastUpdateAmount()

MRC_API const float * MR_WatershedGraph_BasinInfo_Get_lastUpdateAmount ( const MR_WatershedGraph_BasinInfo * _this)

the amount when accVolume was last updated Modifies a member variable of class MR::WatershedGraph::BasinInfo named lastUpdateAmount. Parameter _this can not be null. It is a single object.

◆ MR_WatershedGraph_BasinInfo_Get_lowestBdLevel()

MRC_API const float * MR_WatershedGraph_BasinInfo_Get_lowestBdLevel ( const MR_WatershedGraph_BasinInfo * _this)

lowest position on the boundary of the basin Modifies a member variable of class MR::WatershedGraph::BasinInfo named lowestBdLevel. Parameter _this can not be null. It is a single object.

◆ MR_WatershedGraph_BasinInfo_Get_lowestLevel()

MRC_API const float * MR_WatershedGraph_BasinInfo_Get_lowestLevel ( const MR_WatershedGraph_BasinInfo * _this)

lowest level (z-coordinate of lowestVert) in the basin Modifies a member variable of class MR::WatershedGraph::BasinInfo named lowestLevel. Parameter _this can not be null. It is a single object.

◆ MR_WatershedGraph_BasinInfo_Get_lowestVert()

MRC_API const MR_VertId * MR_WatershedGraph_BasinInfo_Get_lowestVert ( const MR_WatershedGraph_BasinInfo * _this)

in the whole basin Modifies a member variable of class MR::WatershedGraph::BasinInfo named lowestVert. Parameter _this can not be null. It is a single object.

◆ MR_WatershedGraph_BasinInfo_Get_maxVolume()

MRC_API const float * MR_WatershedGraph_BasinInfo_Get_maxVolume ( const MR_WatershedGraph_BasinInfo * _this)

full water volume to be accumulated in the basin till water reaches the lowest height on the boundary Modifies a member variable of class MR::WatershedGraph::BasinInfo named maxVolume. Parameter _this can not be null. It is a single object.

◆ MR_WatershedGraph_BasinInfo_Get_overflowVia()

MRC_API const MR_GraphEdgeId * MR_WatershedGraph_BasinInfo_Get_overflowVia ( const MR_WatershedGraph_BasinInfo * _this)

when level=lowestBdLevel, volume=0, all water from this basin overflows via this boundary Modifies a member variable of class MR::WatershedGraph::BasinInfo named overflowVia. Parameter _this can not be null. It is a single object.

◆ MR_WatershedGraph_BasinInfo_GetMutable_accVolume()

MRC_API float * MR_WatershedGraph_BasinInfo_GetMutable_accVolume ( MR_WatershedGraph_BasinInfo * _this)

the amount when accVolume was last updated Returns a pointer to a member variable of class MR::WatershedGraph::BasinInfo named lastUpdateAmount. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_WatershedGraph_BasinInfo_GetMutable_area()

MRC_API float * MR_WatershedGraph_BasinInfo_GetMutable_area ( MR_WatershedGraph_BasinInfo * _this)

lowest position on the boundary of the basin Returns a pointer to a member variable of class MR::WatershedGraph::BasinInfo named lowestBdLevel. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_WatershedGraph_BasinInfo_GetMutable_lastMergeLevel()

MRC_API float * MR_WatershedGraph_BasinInfo_GetMutable_lastMergeLevel ( MR_WatershedGraph_BasinInfo * _this)

water volume in the basin when it was formed (by merge or creation) Returns a pointer to a member variable of class MR::WatershedGraph::BasinInfo named lastMergeVolume. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_WatershedGraph_BasinInfo_GetMutable_lastMergeVolume()

MRC_API float * MR_WatershedGraph_BasinInfo_GetMutable_lastMergeVolume ( MR_WatershedGraph_BasinInfo * _this)

when level=lowestBdLevel, volume=0, all water from this basin overflows via this boundary Returns a pointer to a member variable of class MR::WatershedGraph::BasinInfo named overflowVia. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_WatershedGraph_BasinInfo_GetMutable_lastUpdateAmount()

MRC_API float * MR_WatershedGraph_BasinInfo_GetMutable_lastUpdateAmount ( MR_WatershedGraph_BasinInfo * _this)

water level in the basin when it was formed (by merge or creation) Returns a pointer to a member variable of class MR::WatershedGraph::BasinInfo named lastMergeLevel. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_WatershedGraph_BasinInfo_GetMutable_lowestBdLevel()

MRC_API float * MR_WatershedGraph_BasinInfo_GetMutable_lowestBdLevel ( MR_WatershedGraph_BasinInfo * _this)

full water volume to be accumulated in the basin till water reaches the lowest height on the boundary Returns a pointer to a member variable of class MR::WatershedGraph::BasinInfo named maxVolume. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_WatershedGraph_BasinInfo_GetMutable_lowestLevel()

MRC_API float * MR_WatershedGraph_BasinInfo_GetMutable_lowestLevel ( MR_WatershedGraph_BasinInfo * _this)

precipitation area that flows in this basin (and if it is full, continue flowing next) Returns a pointer to a member variable of class MR::WatershedGraph::BasinInfo named area. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_WatershedGraph_BasinInfo_GetMutable_lowestVert()

MRC_API MR_VertId * MR_WatershedGraph_BasinInfo_GetMutable_lowestVert ( MR_WatershedGraph_BasinInfo * _this)

lowest level (z-coordinate of lowestVert) in the basin Returns a pointer to a member variable of class MR::WatershedGraph::BasinInfo named lowestLevel. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_WatershedGraph_BasinInfo_GetMutable_maxVolume()

MRC_API float * MR_WatershedGraph_BasinInfo_GetMutable_maxVolume ( MR_WatershedGraph_BasinInfo * _this)

accumulated water volume in the basin so far Returns a pointer to a member variable of class MR::WatershedGraph::BasinInfo named accVolume. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_WatershedGraph_BasinInfo_GetMutable_overflowVia()

MRC_API MR_GraphEdgeId * MR_WatershedGraph_BasinInfo_GetMutable_overflowVia ( MR_WatershedGraph_BasinInfo * _this)

◆ MR_WatershedGraph_BasinInfo_OffsetMutablePtr()

MRC_API MR_WatershedGraph_BasinInfo * MR_WatershedGraph_BasinInfo_OffsetMutablePtr ( MR_WatershedGraph_BasinInfo * ptr,
ptrdiff_t i )

Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element.

◆ MR_WatershedGraph_BasinInfo_OffsetPtr()

MRC_API const MR_WatershedGraph_BasinInfo * MR_WatershedGraph_BasinInfo_OffsetPtr ( const MR_WatershedGraph_BasinInfo * ptr,
ptrdiff_t i )

Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element.

◆ MR_WatershedGraph_BasinInfo_Set_accVolume()

MRC_API void MR_WatershedGraph_BasinInfo_Set_accVolume ( MR_WatershedGraph_BasinInfo * _this,
float value )

accumulated water volume in the basin so far Returns a mutable pointer to a member variable of class MR::WatershedGraph::BasinInfo named accVolume. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_WatershedGraph_BasinInfo_Set_area()

MRC_API void MR_WatershedGraph_BasinInfo_Set_area ( MR_WatershedGraph_BasinInfo * _this,
float value )

precipitation area that flows in this basin (and if it is full, continue flowing next) Returns a mutable pointer to a member variable of class MR::WatershedGraph::BasinInfo named area. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_WatershedGraph_BasinInfo_Set_lastMergeLevel()

MRC_API void MR_WatershedGraph_BasinInfo_Set_lastMergeLevel ( MR_WatershedGraph_BasinInfo * _this,
float value )

water level in the basin when it was formed (by merge or creation) Returns a mutable pointer to a member variable of class MR::WatershedGraph::BasinInfo named lastMergeLevel. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_WatershedGraph_BasinInfo_Set_lastMergeVolume()

MRC_API void MR_WatershedGraph_BasinInfo_Set_lastMergeVolume ( MR_WatershedGraph_BasinInfo * _this,
float value )

water volume in the basin when it was formed (by merge or creation) Returns a mutable pointer to a member variable of class MR::WatershedGraph::BasinInfo named lastMergeVolume. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_WatershedGraph_BasinInfo_Set_lastUpdateAmount()

MRC_API void MR_WatershedGraph_BasinInfo_Set_lastUpdateAmount ( MR_WatershedGraph_BasinInfo * _this,
float value )

the amount when accVolume was last updated Returns a mutable pointer to a member variable of class MR::WatershedGraph::BasinInfo named lastUpdateAmount. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_WatershedGraph_BasinInfo_Set_lowestBdLevel()

MRC_API void MR_WatershedGraph_BasinInfo_Set_lowestBdLevel ( MR_WatershedGraph_BasinInfo * _this,
float value )

lowest position on the boundary of the basin Returns a mutable pointer to a member variable of class MR::WatershedGraph::BasinInfo named lowestBdLevel. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_WatershedGraph_BasinInfo_Set_lowestLevel()

MRC_API void MR_WatershedGraph_BasinInfo_Set_lowestLevel ( MR_WatershedGraph_BasinInfo * _this,
float value )

lowest level (z-coordinate of lowestVert) in the basin Returns a mutable pointer to a member variable of class MR::WatershedGraph::BasinInfo named lowestLevel. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_WatershedGraph_BasinInfo_Set_lowestVert()

MRC_API void MR_WatershedGraph_BasinInfo_Set_lowestVert ( MR_WatershedGraph_BasinInfo * _this,
MR_VertId value )

in the whole basin Returns a mutable pointer to a member variable of class MR::WatershedGraph::BasinInfo named lowestVert. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_WatershedGraph_BasinInfo_Set_maxVolume()

MRC_API void MR_WatershedGraph_BasinInfo_Set_maxVolume ( MR_WatershedGraph_BasinInfo * _this,
float value )

full water volume to be accumulated in the basin till water reaches the lowest height on the boundary Returns a mutable pointer to a member variable of class MR::WatershedGraph::BasinInfo named maxVolume. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_WatershedGraph_BasinInfo_Set_overflowVia()

MRC_API void MR_WatershedGraph_BasinInfo_Set_overflowVia ( MR_WatershedGraph_BasinInfo * _this,
MR_GraphEdgeId value )

when level=lowestBdLevel, volume=0, all water from this basin overflows via this boundary Returns a mutable pointer to a member variable of class MR::WatershedGraph::BasinInfo named overflowVia. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_WatershedGraph_BasinInfo_updateAccVolume()

MRC_API void MR_WatershedGraph_BasinInfo_updateAccVolume ( MR_WatershedGraph_BasinInfo * _this,
float amount )

updates accumulated volume in the basin to the moment of given precipitation amount Generated from method MR::WatershedGraph::BasinInfo::updateAccVolume. Parameter _this can not be null. It is a single object. on this boundary Returns a pointer to a member variable of class MR::WatershedGraph::BdInfo named lowestVert. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_WatershedGraph_bdInfo()

MRC_API MR_WatershedGraph_BdInfo * MR_WatershedGraph_bdInfo ( MR_WatershedGraph * _this,
MR_GraphEdgeId e )

Generated from method MR::WatershedGraph::bdInfo. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_WatershedGraph_BdInfo_AssignFromAnother()

MRC_API MR_WatershedGraph_BdInfo * MR_WatershedGraph_BdInfo_AssignFromAnother ( MR_WatershedGraph_BdInfo * _this,
const MR_WatershedGraph_BdInfo * _other )

Generated from method MR::WatershedGraph::BdInfo::operator=. Parameter _this can not be null. It is a single object. Parameter _other can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_WatershedGraph_bdInfo_const()

MRC_API const MR_WatershedGraph_BdInfo * MR_WatershedGraph_bdInfo_const ( const MR_WatershedGraph * _this,
MR_GraphEdgeId e )

returns data associated with given boundary between basins Generated from method MR::WatershedGraph::bdInfo. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_WatershedGraph_BdInfo_ConstructFrom()

MRC_API MR_WatershedGraph_BdInfo * MR_WatershedGraph_BdInfo_ConstructFrom ( MR_VertId lowestVert)

Constructs MR::WatershedGraph::BdInfo elementwise. Never returns null. Returns an instance allocated on the heap! Must call MR_WatershedGraph_BdInfo_Destroy() to free it when you're done using it.

◆ MR_WatershedGraph_BdInfo_ConstructFromAnother()

MRC_API MR_WatershedGraph_BdInfo * MR_WatershedGraph_BdInfo_ConstructFromAnother ( const MR_WatershedGraph_BdInfo * _other)

Generated from constructor MR::WatershedGraph::BdInfo::BdInfo. Parameter _other can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_WatershedGraph_BdInfo_Destroy() to free it when you're done using it.

◆ MR_WatershedGraph_BdInfo_DefaultConstruct()

MRC_API MR_WatershedGraph_BdInfo * MR_WatershedGraph_BdInfo_DefaultConstruct ( void )

Constructs an empty (default-constructed) instance. Never returns null. Returns an instance allocated on the heap! Must call MR_WatershedGraph_BdInfo_Destroy() to free it when you're done using it.

◆ MR_WatershedGraph_BdInfo_DefaultConstructArray()

MRC_API MR_WatershedGraph_BdInfo * MR_WatershedGraph_BdInfo_DefaultConstructArray ( size_t num_elems)

Constructs an array of empty (default-constructed) instances, of the specified size. Will never return null. The array must be destroyed using MR_WatershedGraph_BdInfo_DestroyArray(). Use MR_WatershedGraph_BdInfo_OffsetMutablePtr() and MR_WatershedGraph_BdInfo_OffsetPtr() to access the array elements.

◆ MR_WatershedGraph_BdInfo_Destroy()

MRC_API void MR_WatershedGraph_BdInfo_Destroy ( const MR_WatershedGraph_BdInfo * _this)

Destroys a heap-allocated instance of MR_WatershedGraph_BdInfo. Does nothing if the pointer is null.

◆ MR_WatershedGraph_BdInfo_DestroyArray()

MRC_API void MR_WatershedGraph_BdInfo_DestroyArray ( const MR_WatershedGraph_BdInfo * _this)

Destroys a heap-allocated array of MR_WatershedGraph_BdInfo. Does nothing if the pointer is null.

◆ MR_WatershedGraph_BdInfo_Get_lowestVert()

MRC_API const MR_VertId * MR_WatershedGraph_BdInfo_Get_lowestVert ( const MR_WatershedGraph_BdInfo * _this)

on this boundary Modifies a member variable of class MR::WatershedGraph::BdInfo named lowestVert. Parameter _this can not be null. It is a single object.

◆ MR_WatershedGraph_BdInfo_GetMutable_lowestVert()

MRC_API MR_VertId * MR_WatershedGraph_BdInfo_GetMutable_lowestVert ( MR_WatershedGraph_BdInfo * _this)

◆ MR_WatershedGraph_BdInfo_OffsetMutablePtr()

MRC_API MR_WatershedGraph_BdInfo * MR_WatershedGraph_BdInfo_OffsetMutablePtr ( MR_WatershedGraph_BdInfo * ptr,
ptrdiff_t i )

Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element.

◆ MR_WatershedGraph_BdInfo_OffsetPtr()

MRC_API const MR_WatershedGraph_BdInfo * MR_WatershedGraph_BdInfo_OffsetPtr ( const MR_WatershedGraph_BdInfo * ptr,
ptrdiff_t i )

Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element.

◆ MR_WatershedGraph_BdInfo_Set_lowestVert()

MRC_API void MR_WatershedGraph_BdInfo_Set_lowestVert ( MR_WatershedGraph_BdInfo * _this,
MR_VertId value )

on this boundary Returns a mutable pointer to a member variable of class MR::WatershedGraph::BdInfo named lowestVert. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_WatershedGraph_computeBasinVolume()

MRC_API double MR_WatershedGraph_computeBasinVolume ( const MR_WatershedGraph * _this,
MR_GraphVertId basin,
float waterLevel )

returns water volume in basin when its surface reaches given level, which must be in between the lowest basin level and the lowest level on basin's boundary Generated from method MR::WatershedGraph::computeBasinVolume. Parameter _this can not be null. It is a single object.

◆ MR_WatershedGraph_Construct()

MRC_API MR_WatershedGraph * MR_WatershedGraph_Construct ( const MR_Mesh * mesh,
const MR_Vector_int_MR_FaceId * face2basin,
int numBasins )

constructs the graph from given mesh, heights in z-coordinate, and initial subdivision on basins Generated from constructor MR::WatershedGraph::WatershedGraph. Parameter mesh can not be null. It is a single object. Parameter face2basin can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_WatershedGraph_Destroy() to free it when you're done using it.

◆ MR_WatershedGraph_ConstructFromAnother()

MRC_API MR_WatershedGraph * MR_WatershedGraph_ConstructFromAnother ( MR_PassBy _other_pass_by,
MR_WatershedGraph * _other )

Generated from constructor MR::WatershedGraph::WatershedGraph. Never returns null. Returns an instance allocated on the heap! Must call MR_WatershedGraph_Destroy() to free it when you're done using it.

◆ MR_WatershedGraph_Destroy()

MRC_API void MR_WatershedGraph_Destroy ( const MR_WatershedGraph * _this)

Destroys a heap-allocated instance of MR_WatershedGraph. Does nothing if the pointer is null.

◆ MR_WatershedGraph_DestroyArray()

MRC_API void MR_WatershedGraph_DestroyArray ( const MR_WatershedGraph * _this)

Destroys a heap-allocated array of MR_WatershedGraph. Does nothing if the pointer is null.

◆ MR_WatershedGraph_findLowestBd()

MRC_API MR_std_pair_MR_GraphEdgeId_float * MR_WatershedGraph_findLowestBd ( const MR_WatershedGraph * _this)

finds the lowest boundary between basins and its height, which is defined as the minimal different between lowest boundary point and lowest point in a basin Generated from method MR::WatershedGraph::findLowestBd. Parameter _this can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_std_pair_MR_GraphEdgeId_float_Destroy() to free it when you're done using it.

◆ MR_WatershedGraph_flowsFinallyTo()

MRC_API MR_GraphVertId MR_WatershedGraph_flowsFinallyTo ( const MR_WatershedGraph * _this,
MR_GraphVertId v,
const bool * exceptOutside )

returns the basin where the flow from this basin finally goes (it can be self id if the basin is not full yet);

Parameters
exceptOutsideif true then the method returns the basin that receives water flow from (v) just before outside Generated from method MR::WatershedGraph::flowsFinallyTo. Parameter _this can not be null. It is a single object. Parameter exceptOutside has a default argument: false, pass a null pointer to use it.

◆ MR_WatershedGraph_flowsTo()

MRC_API MR_GraphVertId MR_WatershedGraph_flowsTo ( const MR_WatershedGraph * _this,
MR_GraphVertId v )

returns the basin where the flow from this basin goes next (it can be self id if the basin is not full yet) Generated from method MR::WatershedGraph::flowsTo. Parameter _this can not be null. It is a single object.

◆ MR_WatershedGraph_getAllBasinFaces()

MRC_API MR_Vector_MR_FaceBitSet_MR_GraphVertId * MR_WatershedGraph_getAllBasinFaces ( const MR_WatershedGraph * _this,
const bool * joinOverflowBasins )

returns the mesh faces of each valid basin;

Parameters
joinOverflowBasinsif true then overflowing basins will be merged in the target basins (except for overflow in outside) Generated from method MR::WatershedGraph::getAllBasinFaces. Parameter _this can not be null. It is a single object. Parameter joinOverflowBasins has a default argument: false, pass a null pointer to use it. Never returns null. Returns an instance allocated on the heap! Must call MR_Vector_MR_FaceBitSet_MR_GraphVertId_Destroy() to free it when you're done using it.

◆ MR_WatershedGraph_getBasinFaces()

MRC_API MR_FaceBitSet * MR_WatershedGraph_getBasinFaces ( const MR_WatershedGraph * _this,
MR_GraphVertId basin )

returns the mesh faces of given basin Generated from method MR::WatershedGraph::getBasinFaces. Parameter _this can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_FaceBitSet_Destroy() to free it when you're done using it.

◆ MR_WatershedGraph_getBasinFacesBelowLevel()

MRC_API MR_FaceBitSet * MR_WatershedGraph_getBasinFacesBelowLevel ( const MR_WatershedGraph * _this,
MR_GraphVertId basin,
float waterLevel )

returns the mesh faces of given basin with at least one vertex below given level Generated from method MR::WatershedGraph::getBasinFacesBelowLevel. Parameter _this can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_FaceBitSet_Destroy() to free it when you're done using it.

◆ MR_WatershedGraph_getHeightAt()

MRC_API float MR_WatershedGraph_getHeightAt ( const MR_WatershedGraph * _this,
MR_VertId v )

returns height at given vertex or FLT_MAX if the vertex is invalid Generated from method MR::WatershedGraph::getHeightAt. Parameter _this can not be null. It is a single object.

◆ MR_WatershedGraph_getInterBasinEdges()

MRC_API MR_UndirectedEdgeBitSet * MR_WatershedGraph_getInterBasinEdges ( const MR_WatershedGraph * _this,
const bool * joinOverflowBasins )

returns the mesh edges between current basins

Parameters
joinOverflowBasinsif true then overflowing basins will be merged in the target basins (except for overflow in outside) Generated from method MR::WatershedGraph::getInterBasinEdges. Parameter _this can not be null. It is a single object. Parameter joinOverflowBasins has a default argument: false, pass a null pointer to use it. Never returns null. Returns an instance allocated on the heap! Must call MR_UndirectedEdgeBitSet_Destroy() to free it when you're done using it.

◆ MR_WatershedGraph_getOverflowPoints()

MRC_API MR_std_vector_MR_WatershedGraph_OverflowPoint * MR_WatershedGraph_getOverflowPoints ( const MR_WatershedGraph * _this)

returns all overflow points in the graph Generated from method MR::WatershedGraph::getOverflowPoints. Parameter _this can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_std_vector_MR_WatershedGraph_OverflowPoint_Destroy() to free it when you're done using it.

◆ MR_WatershedGraph_getRootBasin()

MRC_API MR_GraphVertId MR_WatershedGraph_getRootBasin ( const MR_WatershedGraph * _this,
MR_GraphVertId v )

for valid basin returns self id; for invalid basin returns the id of basin it was merged in Generated from method MR::WatershedGraph::getRootBasin. Parameter _this can not be null. It is a single object.

◆ MR_WatershedGraph_graph()

MRC_API const MR_Graph * MR_WatershedGraph_graph ( const MR_WatershedGraph * _this)

returns underlying graph where each basin is a vertex Generated from method MR::WatershedGraph::graph. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_WatershedGraph_iniBasin2Tgt()

MRC_API MR_Vector_MR_GraphVertId_MR_GraphVertId * MR_WatershedGraph_iniBasin2Tgt ( const MR_WatershedGraph * _this,
const bool * joinOverflowBasins )

computes a map from initial basin id to a valid basin in which it was merged

Parameters
joinOverflowBasinsif true then overflowing basins will be merged in the target basins (except for overflow in outside) Generated from method MR::WatershedGraph::iniBasin2Tgt. Parameter _this can not be null. It is a single object. Parameter joinOverflowBasins has a default argument: false, pass a null pointer to use it. Never returns null. Returns an instance allocated on the heap! Must call MR_Vector_MR_GraphVertId_MR_GraphVertId_Destroy() to free it when you're done using it. in the whole basin Returns a pointer to a member variable of class MR::WatershedGraph::BasinInfo named lowestVert. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_WatershedGraph_merge()

MRC_API MR_GraphVertId MR_WatershedGraph_merge ( MR_WatershedGraph * _this,
MR_GraphVertId v0,
MR_GraphVertId v1 )

merges basin v1 into basin v0, v1 is deleted after that, returns v0 Generated from method MR::WatershedGraph::merge. Parameter _this can not be null. It is a single object.

◆ MR_WatershedGraph_mergeViaBd()

MRC_API MR_GraphVertId MR_WatershedGraph_mergeViaBd ( MR_WatershedGraph * _this,
MR_GraphEdgeId bd )

merges two basins sharing given boundary, returns remaining basin Generated from method MR::WatershedGraph::mergeViaBd. Parameter _this can not be null. It is a single object.

◆ MR_WatershedGraph_numBasins()

MRC_API int MR_WatershedGraph_numBasins ( const MR_WatershedGraph * _this)

returns the current number of basins (excluding special "outside" basin) Generated from method MR::WatershedGraph::numBasins. Parameter _this can not be null. It is a single object.

◆ MR_WatershedGraph_OffsetMutablePtr()

MRC_API MR_WatershedGraph * MR_WatershedGraph_OffsetMutablePtr ( MR_WatershedGraph * ptr,
ptrdiff_t i )

Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element.

◆ MR_WatershedGraph_OffsetPtr()

MRC_API const MR_WatershedGraph * MR_WatershedGraph_OffsetPtr ( const MR_WatershedGraph * ptr,
ptrdiff_t i )

Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element.

◆ MR_WatershedGraph_outsideId()

MRC_API MR_GraphVertId MR_WatershedGraph_outsideId ( const MR_WatershedGraph * _this)

returns special "basin" representing outside areas of the mesh Generated from method MR::WatershedGraph::outsideId. Parameter _this can not be null. It is a single object.

◆ MR_WatershedGraph_OverflowPoint_AssignFromAnother()

MRC_API MR_WatershedGraph_OverflowPoint * MR_WatershedGraph_OverflowPoint_AssignFromAnother ( MR_WatershedGraph_OverflowPoint * _this,
const MR_WatershedGraph_OverflowPoint * _other )

Generated from method MR::WatershedGraph::OverflowPoint::operator=. Parameter _this can not be null. It is a single object. Parameter _other can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_WatershedGraph_OverflowPoint_ConstructFrom()

MRC_API MR_WatershedGraph_OverflowPoint * MR_WatershedGraph_OverflowPoint_ConstructFrom ( MR_VertId v,
MR_GraphVertId fullBasin,
MR_GraphVertId overflowTo )

Constructs MR::WatershedGraph::OverflowPoint elementwise. Never returns null. Returns an instance allocated on the heap! Must call MR_WatershedGraph_OverflowPoint_Destroy() to free it when you're done using it.

◆ MR_WatershedGraph_OverflowPoint_ConstructFromAnother()

MRC_API MR_WatershedGraph_OverflowPoint * MR_WatershedGraph_OverflowPoint_ConstructFromAnother ( const MR_WatershedGraph_OverflowPoint * _other)

Generated from constructor MR::WatershedGraph::OverflowPoint::OverflowPoint. Parameter _other can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_WatershedGraph_OverflowPoint_Destroy() to free it when you're done using it.

◆ MR_WatershedGraph_OverflowPoint_DefaultConstruct()

MRC_API MR_WatershedGraph_OverflowPoint * MR_WatershedGraph_OverflowPoint_DefaultConstruct ( void )

Constructs an empty (default-constructed) instance. Never returns null. Returns an instance allocated on the heap! Must call MR_WatershedGraph_OverflowPoint_Destroy() to free it when you're done using it.

◆ MR_WatershedGraph_OverflowPoint_DefaultConstructArray()

MRC_API MR_WatershedGraph_OverflowPoint * MR_WatershedGraph_OverflowPoint_DefaultConstructArray ( size_t num_elems)

Constructs an array of empty (default-constructed) instances, of the specified size. Will never return null. The array must be destroyed using MR_WatershedGraph_OverflowPoint_DestroyArray(). Use MR_WatershedGraph_OverflowPoint_OffsetMutablePtr() and MR_WatershedGraph_OverflowPoint_OffsetPtr() to access the array elements.

◆ MR_WatershedGraph_OverflowPoint_Destroy()

MRC_API void MR_WatershedGraph_OverflowPoint_Destroy ( const MR_WatershedGraph_OverflowPoint * _this)

Destroys a heap-allocated instance of MR_WatershedGraph_OverflowPoint. Does nothing if the pointer is null.

◆ MR_WatershedGraph_OverflowPoint_DestroyArray()

MRC_API void MR_WatershedGraph_OverflowPoint_DestroyArray ( const MR_WatershedGraph_OverflowPoint * _this)

Destroys a heap-allocated array of MR_WatershedGraph_OverflowPoint. Does nothing if the pointer is null.

◆ MR_WatershedGraph_OverflowPoint_Get_fullBasin()

MRC_API const MR_GraphVertId * MR_WatershedGraph_OverflowPoint_Get_fullBasin ( const MR_WatershedGraph_OverflowPoint * _this)

Returns a pointer to a member variable of class MR::WatershedGraph::OverflowPoint named fullBasin. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_WatershedGraph_OverflowPoint_Get_overflowTo()

MRC_API const MR_GraphVertId * MR_WatershedGraph_OverflowPoint_Get_overflowTo ( const MR_WatershedGraph_OverflowPoint * _this)

Returns a pointer to a member variable of class MR::WatershedGraph::OverflowPoint named overflowTo. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_WatershedGraph_OverflowPoint_Get_v()

MRC_API const MR_VertId * MR_WatershedGraph_OverflowPoint_Get_v ( const MR_WatershedGraph_OverflowPoint * _this)

Returns a pointer to a member variable of class MR::WatershedGraph::OverflowPoint named v. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_WatershedGraph_OverflowPoint_GetMutable_fullBasin()

MRC_API MR_GraphVertId * MR_WatershedGraph_OverflowPoint_GetMutable_fullBasin ( MR_WatershedGraph_OverflowPoint * _this)

Returns a mutable pointer to a member variable of class MR::WatershedGraph::OverflowPoint named fullBasin. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_WatershedGraph_OverflowPoint_GetMutable_overflowTo()

MRC_API MR_GraphVertId * MR_WatershedGraph_OverflowPoint_GetMutable_overflowTo ( MR_WatershedGraph_OverflowPoint * _this)

Returns a mutable pointer to a member variable of class MR::WatershedGraph::OverflowPoint named overflowTo. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_WatershedGraph_OverflowPoint_GetMutable_v()

MRC_API MR_VertId * MR_WatershedGraph_OverflowPoint_GetMutable_v ( MR_WatershedGraph_OverflowPoint * _this)

Returns a mutable pointer to a member variable of class MR::WatershedGraph::OverflowPoint named v. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_WatershedGraph_OverflowPoint_OffsetMutablePtr()

MRC_API MR_WatershedGraph_OverflowPoint * MR_WatershedGraph_OverflowPoint_OffsetMutablePtr ( MR_WatershedGraph_OverflowPoint * ptr,
ptrdiff_t i )

Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element.

◆ MR_WatershedGraph_OverflowPoint_OffsetPtr()

MRC_API const MR_WatershedGraph_OverflowPoint * MR_WatershedGraph_OverflowPoint_OffsetPtr ( const MR_WatershedGraph_OverflowPoint * ptr,
ptrdiff_t i )

Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element.

◆ MR_WatershedGraph_OverflowPoint_Set_fullBasin()

MRC_API void MR_WatershedGraph_OverflowPoint_Set_fullBasin ( MR_WatershedGraph_OverflowPoint * _this,
MR_GraphVertId value )

Modifies a member variable of class MR::WatershedGraph::OverflowPoint named fullBasin. Parameter _this can not be null. It is a single object.

◆ MR_WatershedGraph_OverflowPoint_Set_overflowTo()

MRC_API void MR_WatershedGraph_OverflowPoint_Set_overflowTo ( MR_WatershedGraph_OverflowPoint * _this,
MR_GraphVertId value )

Modifies a member variable of class MR::WatershedGraph::OverflowPoint named overflowTo. Parameter _this can not be null. It is a single object.

◆ MR_WatershedGraph_OverflowPoint_Set_v()

MRC_API void MR_WatershedGraph_OverflowPoint_Set_v ( MR_WatershedGraph_OverflowPoint * _this,
MR_VertId value )

Modifies a member variable of class MR::WatershedGraph::OverflowPoint named v. Parameter _this can not be null. It is a single object.

◆ MR_WatershedGraph_setParentsToRoots()

MRC_API void MR_WatershedGraph_setParentsToRoots ( MR_WatershedGraph * _this)

replaces parent of each basin with its computed root; this speeds up following calls to getRootBasin() Generated from method MR::WatershedGraph::setParentsToRoots. Parameter _this can not be null. It is a single object.

◆ MR_WatershedGraph_totalArea()

MRC_API float MR_WatershedGraph_totalArea ( const MR_WatershedGraph * _this)

returns total precipitation area Generated from method MR::WatershedGraph::totalArea. Parameter _this can not be null. It is a single object.