48 const std::function<
float(
size_t)> & amountById,
49 const std::function<
const FaceBitSet*(
size_t)> & regionById,
67 const std::function<
float(
size_t)> & amountById )
const;
75 const VertScalars & heights_;
76 VertMap downFlowVert_;
79 std::vector<VertId> vertsSortedDesc_;
#define MRMESH_API
Definition MRMeshFwd.h:80
std::vector<T>-like container that requires specific indexing type,
Definition MRVector.h:23
UndirectedEdgeScalars flowPerEdge
Definition MRAggregateFlow.h:55
VertScalars computeFlow(const std::vector< MeshTriPoint > &starts, const OutputFlows &out={}) const
same with all amounts equal to 1
float amountGreaterThan
output in outPolyline only the flows with the amount greater than
Definition MRAggregateFlow.h:29
MeshTriPoint point
point on the mesh, where this flow starts
Definition MRAggregateFlow.h:17
float amount
amount of flow, e.g. can be proportional to the horizontal area associated with the start point
Definition MRAggregateFlow.h:19
UndirectedEdgeScalars * pFlowPerEdge
optional output: flow in each line of outPolyline
Definition MRAggregateFlow.h:27
HashMap< VertId, Flows > computeFlowsPerBasin(const std::vector< MeshTriPoint > &starts) const
same with all amounts equal to 1
Polyline3 * pPolyline
optional output: lines of all flows
Definition MRAggregateFlow.h:25
VertScalars computeFlow(const std::vector< FlowOrigin > &starts, const OutputFlows &out={}) const
UndirectedEdgeBitSet computeCatchmentDelineation() const
FlowAggregator(const Mesh &mesh, const VertScalars &heights)
prepares the processing of given mesh with given height in each vertex
HashMap< VertId, Flows > computeFlowsPerBasin(size_t numStarts, const std::function< MeshTriPoint(size_t)> &startById, const std::function< float(size_t)> &amountById) const
general version that supplies starts in a functional way
HashMap< VertId, Flows > computeFlowsPerBasin(const std::vector< FlowOrigin > &starts) const
Polyline3 polyline
Definition MRAggregateFlow.h:54
VertScalars computeFlow(size_t numStarts, const std::function< MeshTriPoint(size_t)> &startById, const std::function< float(size_t)> &amountById, const std::function< const FaceBitSet *(size_t)> ®ionById, const OutputFlows &out={}) const
general version that supplies starts in a functional way
phmap::flat_hash_map< K, V, Hash, Eq > HashMap
Definition MRMeshFwd.h:606
only for bindings generation
Definition MRCameraOrientationPlugin.h:8
Definition MRAggregateFlow.h:53
Definition MRAggregateFlow.h:15
Definition MRMeshTriPoint.h:26
Definition MRAggregateFlow.h:23