MeshLib C Docs
Loading...
Searching...
No Matches
MREdgePathsBuilder.h
Go to the documentation of this file.
1#pragma once
2
3#include <MRCMesh/MRId.h>
4#include <MRCMesh/MRVector3.h>
5#include <MRCMisc/common.h>
6#include <MRCMisc/exports.h>
7
8#include <stdbool.h>
9#include <stddef.h>
10
11#ifdef __cplusplus
12extern "C" {
13#endif
14
15typedef struct MR_Mesh MR_Mesh; // Defined in `#include <MRCMesh/MRMesh.h>`.
16typedef struct MR_MeshTopology MR_MeshTopology; // Defined in `#include <MRCMesh/MRMeshTopology.h>`.
17typedef struct MR_MeshTriPoint MR_MeshTriPoint; // Defined in `#include <MRCMesh/MRMeshTriPoint.h>`.
18typedef struct MR_VertCoords MR_VertCoords; // Defined in `#include <MRCMesh/MRVector.h>`.
19typedef struct MR_phmap_flat_hash_map_MR_VertId_MR_VertPathInfo MR_phmap_flat_hash_map_MR_VertId_MR_VertPathInfo; // Defined in `#include <MRCMisc/phmap_flat_hash_map_MR_VertId_MR_VertPathInfo.h>`.
20typedef struct MR_std_function_float_from_MR_EdgeId MR_std_function_float_from_MR_EdgeId; // Defined in `#include <MRCMisc/std_function_float_from_MR_EdgeId.h>`.
21typedef struct MR_std_vector_MR_EdgeId MR_std_vector_MR_EdgeId; // Defined in `#include <MRCMisc/std_vector_MR_EdgeId.h>`.
22
23
27
31
35
42
46
50
55
63
64// edge from this vertex to its predecessor in the forest
69
70// edge from this vertex to its predecessor in the forest
74
75// edge from this vertex to its predecessor in the forest
80
81// best summed metric to reach this vertex
86
87// best summed metric to reach this vertex
91
92// best summed metric to reach this vertex
97
101
106
110
113
116
121
124
127
133
137
141
144
147
153
156
159
165
172
179
185
190
195
201
206
212
217
221
226
232
237
243
250
256
263
269
274
280
284
289
293
296
299
304
307
310
316
320
323
326
331
335
341
344
347
353
360
367
373
378
383
389
394
400
405
409
414
420
425
431
438
444
451
457
462
468
472
477
481
484
487
492
495
498
504
508
513
516
519
524
527
530
536
540
545
549
554
559
563
568
572
577
581
584
587
592
595
598
604
608
612
615
618
622
625
630
637
640
643
644#ifdef __cplusplus
645} // extern "C"
646#endif
struct MR_MeshTopology MR_MeshTopology
Definition MR2DContoursTriangulation.h:16
struct MR_VertCoords MR_VertCoords
Definition MRAABBTreePoints.h:22
struct MR_MeshTriPoint MR_MeshTriPoint
Definition MRAggregateFlow.h:13
struct MR_std_vector_MR_EdgeId MR_std_vector_MR_EdgeId
Definition MRContoursStitch.h:11
struct MR_Mesh MR_Mesh
Definition MRCtm.h:13
struct MR_std_function_float_from_MR_EdgeId MR_std_function_float_from_MR_EdgeId
Definition MREdgeMetric.h:12
MRC_API MR_TrivialMetricToPenalty * MR_TrivialMetricToPenalty_OffsetMutablePtr(MR_TrivialMetricToPenalty *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MRC_API void MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_ReachedVert_Set_backward(MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_ReachedVert *_this, MR_EdgeId value)
MRC_API MR_EdgeId * MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_ReachedVert_GetMutable_backward(MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_ReachedVert *_this)
MRC_API const MR_EdgePathsAStarBuilder * MR_EdgePathsAStarBuilder_OffsetPtr(const MR_EdgePathsAStarBuilder *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MRC_API MR_EdgePathsBuilderT_MR_MetricToAStarPenalty * MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_OffsetMutablePtr(MR_EdgePathsBuilderT_MR_MetricToAStarPenalty *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MRC_API MR_EdgePathsAStarBuilder * MR_EdgePathsAStarBuilder_Construct_MR_MeshTriPoint(const MR_Mesh *mesh, const MR_MeshTriPoint *target, const MR_MeshTriPoint *start)
MRC_API MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_ReachedVert * MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_growOneEdge(MR_EdgePathsBuilderT_MR_MetricToAStarPenalty *_this)
MRC_API const MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_ReachedVert * MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_ReachedVert_OffsetPtr(const MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_ReachedVert *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MRC_API MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_ReachedVert * MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_ReachedVert_OffsetMutablePtr(MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_ReachedVert *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MRC_API MR_MetricToAStarPenalty * MR_MetricToAStarPenalty_DefaultConstructArray(size_t num_elems)
MRC_API MR_EdgePathsBuilderT_MR_MetricToAStarPenalty * MR_EdgePathsAStarBuilder_MutableUpcastTo_MR_EdgePathsBuilderT_MR_MetricToAStarPenalty(MR_EdgePathsAStarBuilder *object)
Upcasts an instance of MR::EdgePathsAStarBuilder to its base class MR::EdgePathsBuilderT<MR::MetricTo...
MRC_API float * MR_VertPathInfo_GetMutable_metric(MR_VertPathInfo *_this)
MRC_API MR_EdgePathsAStarBuilder * MR_EdgePathsAStarBuilder_OffsetMutablePtr(MR_EdgePathsAStarBuilder *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MRC_API float MR_MetricToAStarPenalty_call(const MR_MetricToAStarPenalty *_this, float metric, MR_VertId v)
MRC_API const MR_EdgeId * MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_ReachedVert_Get_backward(const MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_ReachedVert *_this)
MRC_API void MR_EdgePathsAStarBuilder_DestroyArray(const MR_EdgePathsAStarBuilder *_this)
Destroys a heap-allocated array of MR_EdgePathsAStarBuilder. Does nothing if the pointer is null.
MRC_API MR_EdgeId * MR_VertPathInfo_GetMutable_back(MR_VertPathInfo *_this)
MRC_API MR_EdgeId * MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_ReachedVert_GetMutable_backward(MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_ReachedVert *_this)
MRC_API MR_MetricToAStarPenalty * MR_MetricToAStarPenalty_ConstructFromAnother(const MR_MetricToAStarPenalty *_other)
MRC_API const MR_phmap_flat_hash_map_MR_VertId_MR_VertPathInfo * MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_vertPathInfoMap(const MR_EdgePathsBuilderT_MR_MetricToAStarPenalty *_this)
MRC_API void MR_MetricToAStarPenalty_Destroy(const MR_MetricToAStarPenalty *_this)
Destroys a heap-allocated instance of MR_MetricToAStarPenalty. Does nothing if the pointer is null.
struct MR_phmap_flat_hash_map_MR_VertId_MR_VertPathInfo MR_phmap_flat_hash_map_MR_VertId_MR_VertPathInfo
Definition MREdgePathsBuilder.h:19
MRC_API void MR_EdgePathsAStarBuilder_Destroy(const MR_EdgePathsAStarBuilder *_this)
Destroys a heap-allocated instance of MR_EdgePathsAStarBuilder. Does nothing if the pointer is null.
MRC_API void MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_Destroy(const MR_EdgePathsBuilderT_MR_MetricToAStarPenalty *_this)
Destroys a heap-allocated instance of MR_EdgePathsBuilderT_MR_MetricToAStarPenalty....
MRC_API void MR_VertPathInfo_Set_metric(MR_VertPathInfo *_this, float value)
MRC_API MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_ReachedVert * MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_ReachedVert_ConstructFromAnother(const MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_ReachedVert *_other)
struct MR_TrivialMetricToPenalty MR_TrivialMetricToPenalty
Definition MREdgePathsBuilder.h:49
MRC_API const MR_Vector3f * MR_MetricToAStarPenalty_Get_target(const MR_MetricToAStarPenalty *_this)
MRC_API MR_std_vector_MR_EdgeId * MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_getPathBack(const MR_EdgePathsBuilderT_MR_MetricToAStarPenalty *_this, MR_VertId backpathStart)
MRC_API const float * MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_ReachedVert_Get_penalty(const MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_ReachedVert *_this)
MRC_API float MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_doneDistance(const MR_EdgePathsBuilderT_MR_MetricToAStarPenalty *_this)
MRC_API MR_EdgePathsBuilderT_MR_MetricToAStarPenalty * MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_Construct(const MR_MeshTopology *topology, const MR_std_function_float_from_MR_EdgeId *metric)
MRC_API MR_VertPathInfo * MR_VertPathInfo_OffsetMutablePtr(MR_VertPathInfo *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MRC_API bool MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_addOrgRingSteps(MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty *_this, const MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_ReachedVert *rv)
MRC_API void MR_MetricToAStarPenalty_Set_points(MR_MetricToAStarPenalty *_this, const MR_VertCoords *value)
MRC_API MR_VertPathInfo * MR_VertPathInfo_ConstructFromAnother(const MR_VertPathInfo *_other)
MRC_API MR_VertPathInfo * MR_VertPathInfo_AssignFromAnother(MR_VertPathInfo *_this, const MR_VertPathInfo *_other)
MRC_API const MR_MetricToAStarPenalty * MR_MetricToAStarPenalty_OffsetPtr(const MR_MetricToAStarPenalty *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MRC_API const MR_EdgeId * MR_VertPathInfo_Get_back(const MR_VertPathInfo *_this)
MRC_API MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_ReachedVert * MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_reachNext(MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty *_this)
MRC_API bool MR_VertPathInfo_isStart(const MR_VertPathInfo *_this)
MRC_API MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_ReachedVert * MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_ReachedVert_DefaultConstruct(void)
MRC_API MR_MetricToAStarPenalty * MR_MetricToAStarPenalty_AssignFromAnother(MR_MetricToAStarPenalty *_this, const MR_MetricToAStarPenalty *_other)
MRC_API void MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_ReachedVert_DestroyArray(const MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_ReachedVert *_this)
Destroys a heap-allocated array of MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_ReachedVert....
MRC_API void MR_VertPathInfo_Set_back(MR_VertPathInfo *_this, MR_EdgeId value)
MRC_API const MR_phmap_flat_hash_map_MR_VertId_MR_VertPathInfo * MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_vertPathInfoMap(const MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty *_this)
struct MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty
Definition MREdgePathsBuilder.h:30
struct MR_MetricToAStarPenalty MR_MetricToAStarPenalty
Definition MREdgePathsBuilder.h:54
struct MR_VertPathInfo MR_VertPathInfo
Definition MREdgePathsBuilder.h:26
MRC_API void MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_ReachedVert_Set_v(MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_ReachedVert *_this, MR_VertId value)
MRC_API MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_ReachedVert * MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_ReachedVert_OffsetMutablePtr(MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_ReachedVert *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MRC_API float * MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_ReachedVert_GetMutable_metric(MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_ReachedVert *_this)
MRC_API void MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_ReachedVert_Set_backward(MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_ReachedVert *_this, MR_EdgeId value)
MRC_API const MR_VertId * MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_ReachedVert_Get_v(const MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_ReachedVert *_this)
MRC_API float * MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_ReachedVert_GetMutable_penalty(MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_ReachedVert *_this)
MRC_API MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_ReachedVert * MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_ReachedVert_AssignFromAnother(MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_ReachedVert *_this, const MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_ReachedVert *_other)
MRC_API float * MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_ReachedVert_GetMutable_metric(MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_ReachedVert *_this)
MRC_API void MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_ReachedVert_Set_penalty(MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_ReachedVert *_this, float value)
MRC_API void MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_ReachedVert_Set_metric(MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_ReachedVert *_this, float value)
MRC_API void MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_ReachedVert_Set_penalty(MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_ReachedVert *_this, float value)
MRC_API const float * MR_VertPathInfo_Get_metric(const MR_VertPathInfo *_this)
MRC_API const float * MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_ReachedVert_Get_metric(const MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_ReachedVert *_this)
MRC_API void MR_TrivialMetricToPenalty_Destroy(const MR_TrivialMetricToPenalty *_this)
Destroys a heap-allocated instance of MR_TrivialMetricToPenalty. Does nothing if the pointer is null.
MRC_API bool MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_addOrgRingSteps(MR_EdgePathsBuilderT_MR_MetricToAStarPenalty *_this, const MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_ReachedVert *rv)
MRC_API void MR_MetricToAStarPenalty_DestroyArray(const MR_MetricToAStarPenalty *_this)
Destroys a heap-allocated array of MR_MetricToAStarPenalty. Does nothing if the pointer is null.
MRC_API MR_TrivialMetricToPenalty * MR_TrivialMetricToPenalty_DefaultConstruct(void)
MRC_API const MR_EdgeId * MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_ReachedVert_Get_backward(const MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_ReachedVert *_this)
MRC_API MR_MetricToAStarPenalty * MR_MetricToAStarPenalty_DefaultConstruct(void)
MRC_API const MR_VertId * MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_ReachedVert_Get_v(const MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_ReachedVert *_this)
MRC_API MR_VertPathInfo * MR_VertPathInfo_DefaultConstructArray(size_t num_elems)
MRC_API void MR_VertPathInfo_DestroyArray(const MR_VertPathInfo *_this)
Destroys a heap-allocated array of MR_VertPathInfo. Does nothing if the pointer is null.
MRC_API float MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_doneDistance(const MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty *_this)
MRC_API MR_VertPathInfo * MR_VertPathInfo_DefaultConstruct(void)
MRC_API MR_EdgePathsAStarBuilder * MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_MutableStaticDowncastTo_MR_EdgePathsAStarBuilder(MR_EdgePathsBuilderT_MR_MetricToAStarPenalty *object)
MRC_API MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_ReachedVert * MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_ReachedVert_AssignFromAnother(MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_ReachedVert *_this, const MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_ReachedVert *_other)
MRC_API const MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_ReachedVert * MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_ReachedVert_OffsetPtr(const MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_ReachedVert *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MRC_API const MR_EdgePathsBuilderT_MR_MetricToAStarPenalty * MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_OffsetPtr(const MR_EdgePathsBuilderT_MR_MetricToAStarPenalty *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MRC_API void MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_ReachedVert_Destroy(const MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_ReachedVert *_this)
Destroys a heap-allocated instance of MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_ReachedVert....
struct MR_EdgePathsBuilderT_MR_MetricToAStarPenalty MR_EdgePathsBuilderT_MR_MetricToAStarPenalty
Definition MREdgePathsBuilder.h:41
MRC_API MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_ReachedVert * MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_ReachedVert_ConstructFrom(MR_VertId v, MR_EdgeId backward, float penalty, float metric)
MRC_API MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_ReachedVert * MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_ReachedVert_ConstructFrom(MR_VertId v, MR_EdgeId backward, float penalty, float metric)
MRC_API const MR_EdgePathsAStarBuilder * MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_StaticDowncastTo_MR_EdgePathsAStarBuilder(const MR_EdgePathsBuilderT_MR_MetricToAStarPenalty *object)
MRC_API MR_std_vector_MR_EdgeId * MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_getPathBack(const MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty *_this, MR_VertId backpathStart)
MRC_API void MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_ReachedVert_DestroyArray(const MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_ReachedVert *_this)
Destroys a heap-allocated array of MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_ReachedVert....
MRC_API const MR_VertPathInfo * MR_VertPathInfo_OffsetPtr(const MR_VertPathInfo *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MRC_API MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_ReachedVert * MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_ReachedVert_DefaultConstruct(void)
MRC_API MR_VertId * MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_ReachedVert_GetMutable_v(MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_ReachedVert *_this)
MRC_API const MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty * MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_OffsetPtr(const MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MRC_API MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_ReachedVert * MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_ReachedVert_DefaultConstructArray(size_t num_elems)
MRC_API const float * MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_ReachedVert_Get_metric(const MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_ReachedVert *_this)
MRC_API MR_VertPathInfo * MR_VertPathInfo_ConstructFrom(MR_EdgeId back, float metric)
MRC_API MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty * MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_ConstructFromAnother(MR_PassBy _other_pass_by, MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty *_other)
MRC_API MR_TrivialMetricToPenalty * MR_TrivialMetricToPenalty_ConstructFromAnother(const MR_TrivialMetricToPenalty *_other)
MRC_API const float * MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_ReachedVert_Get_penalty(const MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_ReachedVert *_this)
MRC_API float * MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_ReachedVert_GetMutable_penalty(MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_ReachedVert *_this)
MRC_API MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty * MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_OffsetMutablePtr(MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
struct MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_ReachedVert MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_ReachedVert
Definition MREdgePathsBuilder.h:34
MRC_API MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_ReachedVert * MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_ReachedVert_DefaultConstructArray(size_t num_elems)
MRC_API MR_MetricToAStarPenalty * MR_MetricToAStarPenalty_OffsetMutablePtr(MR_MetricToAStarPenalty *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MRC_API bool MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_done(const MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty *_this)
MRC_API const MR_EdgePathsBuilderT_MR_MetricToAStarPenalty * MR_EdgePathsAStarBuilder_UpcastTo_MR_EdgePathsBuilderT_MR_MetricToAStarPenalty(const MR_EdgePathsAStarBuilder *object)
MRC_API MR_MetricToAStarPenalty * MR_MetricToAStarPenalty_ConstructFrom(const MR_VertCoords *points, MR_Vector3f target)
MRC_API MR_VertId * MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_ReachedVert_GetMutable_v(MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_ReachedVert *_this)
MRC_API void MR_TrivialMetricToPenalty_DestroyArray(const MR_TrivialMetricToPenalty *_this)
Destroys a heap-allocated array of MR_TrivialMetricToPenalty. Does nothing if the pointer is null.
MRC_API bool MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_addStart(MR_EdgePathsBuilderT_MR_MetricToAStarPenalty *_this, MR_VertId startVert, float startMetric)
MRC_API MR_TrivialMetricToPenalty * MR_TrivialMetricToPenalty_AssignFromAnother(MR_TrivialMetricToPenalty *_this, const MR_TrivialMetricToPenalty *_other)
MRC_API MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_ReachedVert * MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_reachNext(MR_EdgePathsBuilderT_MR_MetricToAStarPenalty *_this)
MRC_API MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_ReachedVert * MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_growOneEdge(MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty *_this)
MRC_API MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_ReachedVert * MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_ReachedVert_ConstructFromAnother(const MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_ReachedVert *_other)
MRC_API float MR_TrivialMetricToPenalty_call(const MR_TrivialMetricToPenalty *_this, float metric, MR_VertId _2)
MRC_API MR_Vector3f * MR_MetricToAStarPenalty_GetMutable_target(MR_MetricToAStarPenalty *_this)
MRC_API void MR_MetricToAStarPenalty_Set_target(MR_MetricToAStarPenalty *_this, MR_Vector3f value)
MRC_API const MR_VertCoords ** MR_MetricToAStarPenalty_GetMutable_points(MR_MetricToAStarPenalty *_this)
MRC_API const MR_VertCoords *const * MR_MetricToAStarPenalty_Get_points(const MR_MetricToAStarPenalty *_this)
MRC_API void MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_Destroy(const MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty *_this)
Destroys a heap-allocated instance of MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty....
MRC_API MR_EdgePathsBuilderT_MR_MetricToAStarPenalty * MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_ConstructFromAnother(MR_PassBy _other_pass_by, MR_EdgePathsBuilderT_MR_MetricToAStarPenalty *_other)
MRC_API MR_TrivialMetricToPenalty * MR_TrivialMetricToPenalty_DefaultConstructArray(size_t num_elems)
struct MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_ReachedVert MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_ReachedVert
Definition MREdgePathsBuilder.h:45
MRC_API const MR_VertPathInfo * MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_getVertInfo(const MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty *_this, MR_VertId v)
MRC_API MR_EdgePathsAStarBuilder * MR_EdgePathsAStarBuilder_ConstructFromAnother(MR_PassBy _other_pass_by, MR_EdgePathsAStarBuilder *_other)
MRC_API bool MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_addStart(MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty *_this, MR_VertId startVert, float startMetric)
MRC_API void MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_ReachedVert_Set_metric(MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_ReachedVert *_this, float value)
MRC_API const MR_TrivialMetricToPenalty * MR_TrivialMetricToPenalty_OffsetPtr(const MR_TrivialMetricToPenalty *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MRC_API const MR_VertPathInfo * MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_getVertInfo(const MR_EdgePathsBuilderT_MR_MetricToAStarPenalty *_this, MR_VertId v)
MRC_API bool MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_done(const MR_EdgePathsBuilderT_MR_MetricToAStarPenalty *_this)
MRC_API MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty * MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_Construct(const MR_MeshTopology *topology, const MR_std_function_float_from_MR_EdgeId *metric)
MRC_API void MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_DestroyArray(const MR_EdgePathsBuilderT_MR_MetricToAStarPenalty *_this)
Destroys a heap-allocated array of MR_EdgePathsBuilderT_MR_MetricToAStarPenalty. Does nothing if the ...
MRC_API void MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_ReachedVert_Set_v(MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_ReachedVert *_this, MR_VertId value)
struct MR_EdgePathsAStarBuilder MR_EdgePathsAStarBuilder
Definition MREdgePathsBuilder.h:62
MRC_API void MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_ReachedVert_Destroy(const MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_ReachedVert *_this)
Destroys a heap-allocated instance of MR_EdgePathsBuilderT_MR_MetricToAStarPenalty_ReachedVert....
MRC_API void MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty_DestroyArray(const MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty *_this)
Destroys a heap-allocated array of MR_EdgePathsBuilderT_MR_TrivialMetricToPenalty....
MRC_API void MR_VertPathInfo_Destroy(const MR_VertPathInfo *_this)
Destroys a heap-allocated instance of MR_VertPathInfo. Does nothing if the pointer is null.
MRC_API MR_EdgePathsAStarBuilder * MR_EdgePathsAStarBuilder_Construct_MR_VertId(const MR_Mesh *mesh, MR_VertId target, MR_VertId start)
MR_PassBy
Definition common.h:19
#define MRC_API
Definition exports.h:11
Definition MRId.h:152
Definition MRVector3.h:51
Definition MRId.h:56