MeshLib C Docs
Loading...
Searching...
No Matches
MRToolPath.h
Go to the documentation of this file.
1#pragma once
2
3#include <MRCMesh/MRAxis.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_AffineXf3f MR_AffineXf3f; // Defined in `#include <MRCMesh/MRAffineXf.h>`.
16typedef struct MR_FaceBitSet MR_FaceBitSet; // Defined in `#include <MRCMesh/MRBitSet.h>`.
17typedef struct MR_Mesh MR_Mesh; // Defined in `#include <MRCMesh/MRMesh.h>`.
18typedef struct MR_MeshPart MR_MeshPart; // Defined in `#include <MRCMesh/MRMeshPart.h>`.
19typedef struct MR_expected_MR_ToolPathResult_std_string MR_expected_MR_ToolPathResult_std_string; // Defined in `#include <MRCMisc/expected_MR_ToolPathResult_std_string.h>`.
20typedef struct MR_expected_void_std_string MR_expected_void_std_string; // Defined in `#include <MRCMisc/expected_void_std_string.h>`.
21typedef struct MR_std_function_bool_from_float MR_std_function_bool_from_float; // Defined in `#include <MRCMisc/std_function_bool_from_float.h>`.
22typedef struct MR_std_shared_ptr_MR_ObjectGcode MR_std_shared_ptr_MR_ObjectGcode; // Defined in `#include <MRCMisc/std_shared_ptr_MR_ObjectGcode.h>`.
23typedef struct MR_std_vector_MR_GCommand MR_std_vector_MR_GCommand; // Defined in `#include <MRCMisc/std_vector_MR_GCommand.h>`.
24typedef struct MR_std_vector_MR_Vector3f MR_std_vector_MR_Vector3f; // Defined in `#include <MRCMisc/std_vector_MR_Vector3f.h>`.
25typedef struct MR_std_vector_std_vector_MR_Vector3f MR_std_vector_std_vector_MR_Vector3f; // Defined in `#include <MRCMisc/std_vector_std_vector_MR_Vector3f.h>`.
26
27
36
44
52
57
62
77
90
94typedef struct MR_GCommand MR_GCommand;
95
100
107
113
120
127
133
140
148
155
163
171
178
186
193
199
206
213
219
226
233
239
246
253
259
266
273
279
286
293
299
306
313
320
327
334
341
348
355
361
368
375
382
389
397
404
412
419
426
433
440
447
454
461
468
475
482
489
496
500
505
516MRC_API MR_ToolPathParams *MR_ToolPathParams_ConstructFrom(float millRadius, float voxelSize, float sectionStep, float critTransitionLength, float plungeLength, float retractLength, float plungeFeed, float retractFeed, float baseFeed, float safeZ, MR_BypassDirection bypassDir, const MR_AffineXf3f *xf, bool flatTool, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb, float toolpathExpansion, MR_std_vector_std_vector_MR_Vector3f *isolines, MR_std_vector_std_vector_MR_Vector3f *startContours, MR_std_vector_MR_Vector3f *startVertices, MR_MeshPart *offsetMesh);
517
521
525
530
533
536
543
550
556
563
570
576
583
590
596
603
611
618
626
634
641
649
656
662
669
676
682
689
696
702
709
716
722
729
736
742
749
756
762
769
776
783
790
797
804
811
818
824
831
838
845
852
860
867
875
882
889
896
903
910
917
924
931
938
945
952
959
963
968
972
976
981
985
991
996
1001
1004
1007
1014
1021
1027
1034
1041
1047
1054
1061
1068
1075
1079
1084
1090
1094
1098
1103
1106
1109
1116
1123
1129
1136
1143
1149
1156
1163
1170
1177
1181
1186
1192
1196
1200
1205
1208
1211
1218
1225
1232
1239
1246
1253
1260
1266MRC_API const float *MR_GCommand_Get_feed(const MR_GCommand *_this);
1267
1272MRC_API void MR_GCommand_Set_feed(MR_GCommand *_this, float value);
1273
1280
1286MRC_API const float *MR_GCommand_Get_x(const MR_GCommand *_this);
1287
1292MRC_API void MR_GCommand_Set_x(MR_GCommand *_this, float value);
1293
1300
1305MRC_API const float *MR_GCommand_Get_y(const MR_GCommand *_this);
1306
1310MRC_API void MR_GCommand_Set_y(MR_GCommand *_this, float value);
1311
1317
1322MRC_API const float *MR_GCommand_Get_z(const MR_GCommand *_this);
1323
1327MRC_API void MR_GCommand_Set_z(MR_GCommand *_this, float value);
1328
1334
1341
1348
1355
1359
1364
1371MRC_API MR_GCommand *MR_GCommand_ConstructFrom(MR_MoveType type, MR_ArcPlane arcPlane, float feed, float x, float y, float z, MR_Vector3f arcCenter);
1372
1376
1380
1386
1389
1392
1400
1407
1414
1421
1428
1435
1442
1449
1456
1463
1467
1472
1479MRC_API MR_ToolPathResult *MR_ToolPathResult_ConstructFrom(MR_PassBy modifiedMesh_pass_by, MR_Mesh *modifiedMesh, MR_PassBy modifiedRegion_pass_by, MR_FaceBitSet *modifiedRegion, MR_PassBy commands_pass_by, MR_std_vector_MR_GCommand *commands);
1480
1484
1488
1493
1496
1499
1506
1518
1530
1543
1551
1562
1573
1585MRC_API MR_FaceBitSet *MR_smoothSelection(MR_Mesh *mesh, const MR_FaceBitSet *region, float expandOffset, float shrinkOffset);
1586
1587#ifdef __cplusplus
1588} // extern "C"
1589#endif
struct MR_std_function_bool_from_float MR_std_function_bool_from_float
Definition MR3mf.h:10
struct MR_FaceBitSet MR_FaceBitSet
Definition MRAABBTree.h:17
struct MR_MeshPart MR_MeshPart
Definition MRAABBTree.h:19
MR_Axis
Definition MRAxis.h:9
struct MR_std_vector_MR_Vector3f MR_std_vector_MR_Vector3f
Definition MRBestFit.h:25
struct MR_std_vector_std_vector_MR_Vector3f MR_std_vector_std_vector_MR_Vector3f
Definition MRContour.h:17
struct MR_expected_void_std_string MR_expected_void_std_string
Definition MRCtm.h:26
struct MR_Mesh MR_Mesh
Definition MRCtm.h:16
MRC_API const float * MR_ToolPathParams_Get_plungeLength(const MR_ToolPathParams *_this)
MRC_API MR_ConstantCuspParams * MR_ConstantCuspParams_MutableStaticDowncastFrom_MR_ToolPathParams(MR_ToolPathParams *object)
MRC_API float * MR_ToolPathParams_GetMutable_voxelSize(MR_ToolPathParams *_this)
MRC_API float * MR_ToolPathParams_GetMutable_toolpathExpansion(MR_ToolPathParams *_this)
MRC_API float * MR_ToolPathParams_GetMutable_baseFeed(MR_ToolPathParams *_this)
MRC_API MR_GCommand * MR_GCommand_DefaultConstructArray(size_t num_elems)
MRC_API void MR_ArcInterpolationParams_DestroyArray(const MR_ArcInterpolationParams *_this)
Destroys a heap-allocated array of MR_ArcInterpolationParams. Does nothing if the pointer is null.
MRC_API void MR_GCommand_Set_x(MR_GCommand *_this, float value)
MRC_API void MR_LineInterpolationParams_Set_maxLength(MR_LineInterpolationParams *_this, float value)
MRC_API float * MR_LineInterpolationParams_GetMutable_maxLength(MR_LineInterpolationParams *_this)
MRC_API void MR_ToolPathParams_Set_cb(MR_ToolPathParams *_this, MR_PassBy value_pass_by, MR_std_function_bool_from_float *value)
MRC_API MR_LineInterpolationParams * MR_LineInterpolationParams_DefaultConstruct(void)
MRC_API const MR_Mesh * MR_ToolPathResult_Get_modifiedMesh(const MR_ToolPathResult *_this)
MRC_API MR_ConstantCuspParams * MR_ConstantCuspParams_DefaultConstructArray(size_t num_elems)
MRC_API void MR_LineInterpolationParams_Set_eps(MR_LineInterpolationParams *_this, float value)
MRC_API MR_expected_void_std_string * MR_interpolateArcs(MR_std_vector_MR_GCommand *commands, const MR_ArcInterpolationParams *params, MR_Axis axis)
MRC_API float * MR_ConstantCuspParams_GetMutable_voxelSize(MR_ConstantCuspParams *_this)
MRC_API void MR_ToolPathParams_Set_isolines(MR_ToolPathParams *_this, MR_std_vector_std_vector_MR_Vector3f *value)
MRC_API const float * MR_ConstantCuspParams_Get_millRadius(const MR_ConstantCuspParams *_this)
MRC_API float * MR_ConstantCuspParams_GetMutable_critTransitionLength(MR_ConstantCuspParams *_this)
MRC_API void MR_ArcInterpolationParams_Destroy(const MR_ArcInterpolationParams *_this)
Destroys a heap-allocated instance of MR_ArcInterpolationParams. Does nothing if the pointer is null.
MRC_API const float * MR_ToolPathParams_Get_retractLength(const MR_ToolPathParams *_this)
MRC_API MR_ArcInterpolationParams * MR_ArcInterpolationParams_ConstructFrom(float eps, float maxRadius, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb)
MRC_API void MR_GCommand_Destroy(const MR_GCommand *_this)
Destroys a heap-allocated instance of MR_GCommand. Does nothing if the pointer is null.
MRC_API const MR_AffineXf3f *const * MR_ToolPathParams_Get_xf(const MR_ToolPathParams *_this)
MRC_API void MR_LineInterpolationParams_Destroy(const MR_LineInterpolationParams *_this)
Destroys a heap-allocated instance of MR_LineInterpolationParams. Does nothing if the pointer is null...
MRC_API const float * MR_ConstantCuspParams_Get_plungeFeed(const MR_ConstantCuspParams *_this)
MRC_API MR_std_function_bool_from_float * MR_ToolPathParams_GetMutable_cb(MR_ToolPathParams *_this)
MRC_API MR_ToolPathParams * MR_ToolPathParams_ConstructFrom(float millRadius, float voxelSize, float sectionStep, float critTransitionLength, float plungeLength, float retractLength, float plungeFeed, float retractFeed, float baseFeed, float safeZ, MR_BypassDirection bypassDir, const MR_AffineXf3f *xf, bool flatTool, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb, float toolpathExpansion, MR_std_vector_std_vector_MR_Vector3f *isolines, MR_std_vector_std_vector_MR_Vector3f *startContours, MR_std_vector_MR_Vector3f *startVertices, MR_MeshPart *offsetMesh)
MRC_API MR_std_vector_std_vector_MR_Vector3f ** MR_ConstantCuspParams_GetMutable_isolines(MR_ConstantCuspParams *_this)
MRC_API void MR_ToolPathParams_Set_bypassDir(MR_ToolPathParams *_this, MR_BypassDirection value)
MRC_API void MR_ToolPathParams_Set_xf(MR_ToolPathParams *_this, const MR_AffineXf3f *value)
MRC_API const float * MR_ConstantCuspParams_Get_sectionStep(const MR_ConstantCuspParams *_this)
MRC_API const MR_std_function_bool_from_float * MR_ConstantCuspParams_Get_cb(const MR_ConstantCuspParams *_this)
MRC_API void MR_GCommand_Set_y(MR_GCommand *_this, float value)
MRC_API void MR_ArcInterpolationParams_Set_cb(MR_ArcInterpolationParams *_this, MR_PassBy value_pass_by, MR_std_function_bool_from_float *value)
MRC_API void MR_ToolPathResult_Destroy(const MR_ToolPathResult *_this)
Destroys a heap-allocated instance of MR_ToolPathResult. Does nothing if the pointer is null.
MRC_API MR_Mesh * MR_ToolPathResult_GetMutable_modifiedMesh(MR_ToolPathResult *_this)
MRC_API MR_ToolPathResult * MR_ToolPathResult_OffsetMutablePtr(MR_ToolPathResult *ptr, ptrdiff_t i)
struct MR_ToolPathParams MR_ToolPathParams
Definition MRToolPath.h:43
MRC_API MR_std_vector_MR_GCommand * MR_ToolPathResult_GetMutable_commands(MR_ToolPathResult *_this)
MRC_API MR_BypassDirection * MR_ToolPathParams_GetMutable_bypassDir(MR_ToolPathParams *_this)
MRC_API void MR_ConstantCuspParams_Set_startContours(MR_ConstantCuspParams *_this, MR_std_vector_std_vector_MR_Vector3f *value)
MRC_API float * MR_ArcInterpolationParams_GetMutable_eps(MR_ArcInterpolationParams *_this)
MRC_API MR_GCommand * MR_GCommand_ConstructFromAnother(const MR_GCommand *_other)
MRC_API MR_ToolPathParams * MR_ToolPathParams_ConstructFromAnother(MR_PassBy _other_pass_by, MR_ToolPathParams *_other)
MRC_API float * MR_ToolPathParams_GetMutable_critTransitionLength(MR_ToolPathParams *_this)
MRC_API MR_ArcPlane * MR_GCommand_GetMutable_arcPlane(MR_GCommand *_this)
MRC_API const float * MR_ToolPathParams_Get_baseFeed(const MR_ToolPathParams *_this)
MRC_API const float * MR_ToolPathParams_Get_toolpathExpansion(const MR_ToolPathParams *_this)
MRC_API float * MR_LineInterpolationParams_GetMutable_eps(MR_LineInterpolationParams *_this)
MRC_API MR_ToolPathResult * MR_ToolPathResult_ConstructFromAnother(MR_PassBy _other_pass_by, MR_ToolPathResult *_other)
MRC_API const MR_ToolPathParams * MR_ConstantCuspParams_UpcastTo_MR_ToolPathParams(const MR_ConstantCuspParams *object)
MRC_API const float * MR_ToolPathParams_Get_critTransitionLength(const MR_ToolPathParams *_this)
MRC_API void MR_ToolPathResult_Set_commands(MR_ToolPathResult *_this, MR_PassBy value_pass_by, MR_std_vector_MR_GCommand *value)
MRC_API MR_std_function_bool_from_float * MR_LineInterpolationParams_GetMutable_cb(MR_LineInterpolationParams *_this)
MRC_API void MR_ToolPathParams_Set_retractLength(MR_ToolPathParams *_this, float value)
MRC_API MR_std_vector_MR_Vector3f *const * MR_ToolPathParams_Get_startVertices(const MR_ToolPathParams *_this)
MRC_API void MR_ToolPathParams_Set_flatTool(MR_ToolPathParams *_this, bool value)
MRC_API MR_std_vector_MR_Vector3f ** MR_ToolPathParams_GetMutable_startVertices(MR_ToolPathParams *_this)
MRC_API void MR_ToolPathParams_Set_plungeLength(MR_ToolPathParams *_this, float value)
MRC_API MR_ConstantCuspParams * MR_ConstantCuspParams_ConstructFromAnother(MR_PassBy _other_pass_by, MR_ConstantCuspParams *_other)
struct MR_LineInterpolationParams MR_LineInterpolationParams
Definition MRToolPath.h:56
MRC_API const float * MR_ConstantCuspParams_Get_retractFeed(const MR_ConstantCuspParams *_this)
MRC_API void MR_GCommand_Set_feed(MR_GCommand *_this, float value)
MRC_API void MR_ConstantCuspParams_Destroy(const MR_ConstantCuspParams *_this)
Destroys a heap-allocated instance of MR_ConstantCuspParams. Does nothing if the pointer is null.
MRC_API void MR_ConstantCuspParams_Set_flatTool(MR_ConstantCuspParams *_this, bool value)
MRC_API MR_ArcInterpolationParams * MR_ArcInterpolationParams_DefaultConstruct(void)
MRC_API const float * MR_ConstantCuspParams_Get_toolpathExpansion(const MR_ConstantCuspParams *_this)
MRC_API const MR_ConstantCuspParams * MR_ConstantCuspParams_StaticDowncastFrom_MR_ToolPathParams(const MR_ToolPathParams *object)
MRC_API MR_ConstantCuspParams * MR_ConstantCuspParams_AssignFromAnother(MR_ConstantCuspParams *_this, MR_PassBy _other_pass_by, MR_ConstantCuspParams *_other)
MRC_API void MR_ConstantCuspParams_Set_retractLength(MR_ConstantCuspParams *_this, float value)
MRC_API void MR_ToolPathParams_Set_sectionStep(MR_ToolPathParams *_this, float value)
MRC_API const float * MR_GCommand_Get_z(const MR_GCommand *_this)
MRC_API void MR_ToolPathResult_Set_modifiedRegion(MR_ToolPathResult *_this, MR_PassBy value_pass_by, MR_FaceBitSet *value)
MRC_API const MR_GCommand * MR_GCommand_OffsetPtr(const MR_GCommand *ptr, ptrdiff_t i)
MRC_API float * MR_GCommand_GetMutable_z(MR_GCommand *_this)
MRC_API float * MR_ToolPathParams_GetMutable_millRadius(MR_ToolPathParams *_this)
MRC_API void MR_ArcInterpolationParams_Set_maxRadius(MR_ArcInterpolationParams *_this, float value)
MRC_API void MR_ConstantCuspParams_Set_bypassDir(MR_ConstantCuspParams *_this, MR_BypassDirection value)
MRC_API MR_GCommand * MR_GCommand_ConstructFrom(MR_MoveType type, MR_ArcPlane arcPlane, float feed, float x, float y, float z, MR_Vector3f arcCenter)
MRC_API MR_std_vector_std_vector_MR_Vector3f ** MR_ConstantCuspParams_GetMutable_startContours(MR_ConstantCuspParams *_this)
MRC_API const MR_MoveType * MR_GCommand_Get_type(const MR_GCommand *_this)
MRC_API void MR_LineInterpolationParams_DestroyArray(const MR_LineInterpolationParams *_this)
Destroys a heap-allocated array of MR_LineInterpolationParams. Does nothing if the pointer is null.
MRC_API void MR_ToolPathParams_Set_startVertices(MR_ToolPathParams *_this, MR_std_vector_MR_Vector3f *value)
MRC_API void MR_GCommand_DestroyArray(const MR_GCommand *_this)
Destroys a heap-allocated array of MR_GCommand. Does nothing if the pointer is null.
MRC_API void MR_ConstantCuspParams_DestroyArray(const MR_ConstantCuspParams *_this)
Destroys a heap-allocated array of MR_ConstantCuspParams. Does nothing if the pointer is null.
MRC_API MR_LineInterpolationParams * MR_LineInterpolationParams_AssignFromAnother(MR_LineInterpolationParams *_this, MR_PassBy _other_pass_by, MR_LineInterpolationParams *_other)
MRC_API void MR_ConstantCuspParams_Set_sectionStep(MR_ConstantCuspParams *_this, float value)
MRC_API bool * MR_ConstantCuspParams_GetMutable_flatTool(MR_ConstantCuspParams *_this)
MRC_API const float * MR_ConstantCuspParams_Get_voxelSize(const MR_ConstantCuspParams *_this)
MRC_API const MR_BypassDirection * MR_ConstantCuspParams_Get_bypassDir(const MR_ConstantCuspParams *_this)
MRC_API const float * MR_ArcInterpolationParams_Get_eps(const MR_ArcInterpolationParams *_this)
MRC_API void MR_ToolPathParams_Set_startContours(MR_ToolPathParams *_this, MR_std_vector_std_vector_MR_Vector3f *value)
MRC_API void MR_ConstantCuspParams_Set_isolines(MR_ConstantCuspParams *_this, MR_std_vector_std_vector_MR_Vector3f *value)
MRC_API void MR_ConstantCuspParams_Set_plungeLength(MR_ConstantCuspParams *_this, float value)
MRC_API MR_GCommand * MR_GCommand_DefaultConstruct(void)
MRC_API void MR_ConstantCuspParams_Set_startVertices(MR_ConstantCuspParams *_this, MR_std_vector_MR_Vector3f *value)
struct MR_ConstantCuspParams MR_ConstantCuspParams
Definition MRToolPath.h:51
MRC_API MR_MeshPart *const * MR_ConstantCuspParams_Get_offsetMesh(const MR_ConstantCuspParams *_this)
MRC_API MR_std_vector_MR_Vector3f ** MR_ConstantCuspParams_GetMutable_startVertices(MR_ConstantCuspParams *_this)
MRC_API const MR_ArcInterpolationParams * MR_ArcInterpolationParams_OffsetPtr(const MR_ArcInterpolationParams *ptr, ptrdiff_t i)
MRC_API float * MR_GCommand_GetMutable_x(MR_GCommand *_this)
MRC_API const float * MR_ToolPathParams_Get_sectionStep(const MR_ToolPathParams *_this)
MRC_API const MR_ToolPathParams * MR_ToolPathParams_OffsetPtr(const MR_ToolPathParams *ptr, ptrdiff_t i)
MRC_API const bool * MR_ConstantCuspParams_Get_fromCenterToBoundary(const MR_ConstantCuspParams *_this)
MRC_API MR_ConstantCuspParams * MR_ConstantCuspParams_DefaultConstruct(void)
MRC_API MR_LineInterpolationParams * MR_LineInterpolationParams_OffsetMutablePtr(MR_LineInterpolationParams *ptr, ptrdiff_t i)
MRC_API MR_FaceBitSet * MR_ToolPathResult_GetMutable_modifiedRegion(MR_ToolPathResult *_this)
MRC_API float * MR_ToolPathParams_GetMutable_retractFeed(MR_ToolPathParams *_this)
MRC_API const bool * MR_ConstantCuspParams_Get_flatTool(const MR_ConstantCuspParams *_this)
MRC_API const MR_Vector3f * MR_GCommand_Get_arcCenter(const MR_GCommand *_this)
MRC_API void MR_ToolPathParams_DestroyArray(const MR_ToolPathParams *_this)
Destroys a heap-allocated array of MR_ToolPathParams. Does nothing if the pointer is null.
MRC_API MR_LineInterpolationParams * MR_LineInterpolationParams_ConstructFrom(float eps, float maxLength, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb)
MR_ArcPlane
G-code arc plane selection.
Definition MRToolPath.h:80
@ MR_ArcPlane_XZ
G19 — YZ plane.
Definition MRToolPath.h:86
@ MR_ArcPlane_YZ
Definition MRToolPath.h:88
@ MR_ArcPlane_None
No plane selected.
Definition MRToolPath.h:82
@ MR_ArcPlane_XY
G18 — XZ plane.
Definition MRToolPath.h:84
MRC_API const float * MR_ArcInterpolationParams_Get_maxRadius(const MR_ArcInterpolationParams *_this)
MRC_API MR_ArcInterpolationParams * MR_ArcInterpolationParams_DefaultConstructArray(size_t num_elems)
MRC_API MR_std_vector_std_vector_MR_Vector3f *const * MR_ConstantCuspParams_Get_startContours(const MR_ConstantCuspParams *_this)
MRC_API float * MR_ConstantCuspParams_GetMutable_sectionStep(MR_ConstantCuspParams *_this)
MRC_API MR_ToolPathParams * MR_ToolPathParams_OffsetMutablePtr(MR_ToolPathParams *ptr, ptrdiff_t i)
MRC_API MR_std_vector_std_vector_MR_Vector3f ** MR_ToolPathParams_GetMutable_isolines(MR_ToolPathParams *_this)
MRC_API MR_std_vector_MR_Vector3f *const * MR_ConstantCuspParams_Get_startVertices(const MR_ConstantCuspParams *_this)
MRC_API void MR_ConstantCuspParams_Set_cb(MR_ConstantCuspParams *_this, MR_PassBy value_pass_by, MR_std_function_bool_from_float *value)
MRC_API void MR_ToolPathResult_DestroyArray(const MR_ToolPathResult *_this)
Destroys a heap-allocated array of MR_ToolPathResult. Does nothing if the pointer is null.
MRC_API void MR_ToolPathParams_Set_offsetMesh(MR_ToolPathParams *_this, MR_MeshPart *value)
MRC_API const float * MR_ToolPathParams_Get_millRadius(const MR_ToolPathParams *_this)
MRC_API float * MR_ConstantCuspParams_GetMutable_retractFeed(MR_ConstantCuspParams *_this)
MRC_API MR_std_shared_ptr_MR_ObjectGcode * MR_exportToolPathToGCode(const MR_std_vector_MR_GCommand *commands)
MRC_API const MR_ArcPlane * MR_GCommand_Get_arcPlane(const MR_GCommand *_this)
MRC_API float * MR_ArcInterpolationParams_GetMutable_maxRadius(MR_ArcInterpolationParams *_this)
MRC_API MR_LineInterpolationParams * MR_LineInterpolationParams_DefaultConstructArray(size_t num_elems)
MRC_API const float * MR_GCommand_Get_x(const MR_GCommand *_this)
MRC_API MR_FaceBitSet * MR_smoothSelection(MR_Mesh *mesh, const MR_FaceBitSet *region, float expandOffset, float shrinkOffset)
MRC_API bool * MR_ToolPathParams_GetMutable_flatTool(MR_ToolPathParams *_this)
MRC_API const bool * MR_ToolPathParams_Get_flatTool(const MR_ToolPathParams *_this)
MRC_API MR_expected_MR_ToolPathResult_std_string * MR_constantCuspToolPath(const MR_MeshPart *mp, const MR_ConstantCuspParams *params)
MRC_API const float * MR_ConstantCuspParams_Get_safeZ(const MR_ConstantCuspParams *_this)
MRC_API const MR_AffineXf3f *const * MR_ConstantCuspParams_Get_xf(const MR_ConstantCuspParams *_this)
MRC_API MR_ToolPathParams * MR_ToolPathParams_DefaultConstruct(void)
MRC_API void MR_ConstantCuspParams_Set_toolpathExpansion(MR_ConstantCuspParams *_this, float value)
MRC_API void MR_ToolPathParams_Set_millRadius(MR_ToolPathParams *_this, float value)
MRC_API const MR_LineInterpolationParams * MR_LineInterpolationParams_OffsetPtr(const MR_LineInterpolationParams *ptr, ptrdiff_t i)
MRC_API float * MR_ConstantCuspParams_GetMutable_retractLength(MR_ConstantCuspParams *_this)
MRC_API MR_std_vector_std_vector_MR_Vector3f *const * MR_ConstantCuspParams_Get_isolines(const MR_ConstantCuspParams *_this)
MRC_API void MR_ConstantCuspParams_Set_voxelSize(MR_ConstantCuspParams *_this, float value)
MRC_API float * MR_ToolPathParams_GetMutable_plungeFeed(MR_ToolPathParams *_this)
MRC_API void MR_ConstantCuspParams_Set_offsetMesh(MR_ConstantCuspParams *_this, MR_MeshPart *value)
MRC_API float * MR_ConstantCuspParams_GetMutable_safeZ(MR_ConstantCuspParams *_this)
MRC_API MR_std_function_bool_from_float * MR_ArcInterpolationParams_GetMutable_cb(MR_ArcInterpolationParams *_this)
MRC_API float * MR_ConstantCuspParams_GetMutable_toolpathExpansion(MR_ConstantCuspParams *_this)
MRC_API MR_std_vector_std_vector_MR_Vector3f *const * MR_ToolPathParams_Get_isolines(const MR_ToolPathParams *_this)
MRC_API float * MR_ConstantCuspParams_GetMutable_millRadius(MR_ConstantCuspParams *_this)
MRC_API MR_MeshPart *const * MR_ToolPathParams_Get_offsetMesh(const MR_ToolPathParams *_this)
MRC_API void MR_ToolPathParams_Set_baseFeed(MR_ToolPathParams *_this, float value)
MRC_API MR_std_vector_std_vector_MR_Vector3f ** MR_ToolPathParams_GetMutable_startContours(MR_ToolPathParams *_this)
MRC_API MR_std_function_bool_from_float * MR_ConstantCuspParams_GetMutable_cb(MR_ConstantCuspParams *_this)
MRC_API const MR_std_function_bool_from_float * MR_LineInterpolationParams_Get_cb(const MR_LineInterpolationParams *_this)
MRC_API void MR_GCommand_Set_arcPlane(MR_GCommand *_this, MR_ArcPlane value)
MRC_API float * MR_ToolPathParams_GetMutable_safeZ(MR_ToolPathParams *_this)
MRC_API void MR_ConstantCuspParams_Set_plungeFeed(MR_ConstantCuspParams *_this, float value)
MRC_API void MR_ArcInterpolationParams_Set_eps(MR_ArcInterpolationParams *_this, float value)
MRC_API void MR_ToolPathParams_Destroy(const MR_ToolPathParams *_this)
Destroys a heap-allocated instance of MR_ToolPathParams. Does nothing if the pointer is null.
MRC_API void MR_LineInterpolationParams_Set_cb(MR_LineInterpolationParams *_this, MR_PassBy value_pass_by, MR_std_function_bool_from_float *value)
MRC_API MR_ToolPathParams * MR_ToolPathParams_AssignFromAnother(MR_ToolPathParams *_this, MR_PassBy _other_pass_by, MR_ToolPathParams *_other)
MRC_API float * MR_ConstantCuspParams_GetMutable_baseFeed(MR_ConstantCuspParams *_this)
MRC_API const float * MR_ToolPathParams_Get_voxelSize(const MR_ToolPathParams *_this)
MRC_API void MR_ToolPathResult_Set_modifiedMesh(MR_ToolPathResult *_this, MR_PassBy value_pass_by, MR_Mesh *value)
MR_MoveType
G-code move command type.
Definition MRToolPath.h:65
@ MR_MoveType_FastLinear
G1 linear interpolation at feed rate.
Definition MRToolPath.h:69
@ MR_MoveType_ArcCCW
Definition MRToolPath.h:75
@ MR_MoveType_None
No movement.
Definition MRToolPath.h:67
@ MR_MoveType_Linear
G2 circular interpolation, clockwise.
Definition MRToolPath.h:71
@ MR_MoveType_ArcCW
G3 circular interpolation, counter-clockwise.
Definition MRToolPath.h:73
MRC_API MR_expected_void_std_string * MR_interpolateLines(MR_std_vector_MR_GCommand *commands, const MR_LineInterpolationParams *params, MR_Axis axis)
MRC_API float * MR_ToolPathParams_GetMutable_retractLength(MR_ToolPathParams *_this)
MRC_API const MR_ToolPathResult * MR_ToolPathResult_OffsetPtr(const MR_ToolPathResult *ptr, ptrdiff_t i)
MRC_API float * MR_ConstantCuspParams_GetMutable_plungeFeed(MR_ConstantCuspParams *_this)
MRC_API void MR_GCommand_Set_arcCenter(MR_GCommand *_this, MR_Vector3f value)
MRC_API const float * MR_ToolPathParams_Get_retractFeed(const MR_ToolPathParams *_this)
MRC_API const float * MR_ConstantCuspParams_Get_plungeLength(const MR_ConstantCuspParams *_this)
MRC_API const float * MR_LineInterpolationParams_Get_maxLength(const MR_LineInterpolationParams *_this)
MRC_API MR_ArcInterpolationParams * MR_ArcInterpolationParams_AssignFromAnother(MR_ArcInterpolationParams *_this, MR_PassBy _other_pass_by, MR_ArcInterpolationParams *_other)
MRC_API float * MR_ToolPathParams_GetMutable_plungeLength(MR_ToolPathParams *_this)
MRC_API MR_Vector3f * MR_GCommand_GetMutable_arcCenter(MR_GCommand *_this)
MRC_API MR_ToolPathResult * MR_ToolPathResult_DefaultConstruct(void)
MRC_API void MR_ConstantCuspParams_Set_xf(MR_ConstantCuspParams *_this, const MR_AffineXf3f *value)
MRC_API const MR_BypassDirection * MR_ToolPathParams_Get_bypassDir(const MR_ToolPathParams *_this)
MRC_API float * MR_GCommand_GetMutable_y(MR_GCommand *_this)
MRC_API MR_LineInterpolationParams * MR_LineInterpolationParams_ConstructFromAnother(MR_PassBy _other_pass_by, MR_LineInterpolationParams *_other)
MRC_API const MR_std_vector_MR_GCommand * MR_ToolPathResult_Get_commands(const MR_ToolPathResult *_this)
MRC_API void MR_ConstantCuspParams_Set_millRadius(MR_ConstantCuspParams *_this, float value)
MRC_API float * MR_GCommand_GetMutable_feed(MR_GCommand *_this)
MRC_API const float * MR_ConstantCuspParams_Get_baseFeed(const MR_ConstantCuspParams *_this)
MRC_API void MR_ConstantCuspParams_Set_critTransitionLength(MR_ConstantCuspParams *_this, float value)
MRC_API void MR_ConstantCuspParams_Set_baseFeed(MR_ConstantCuspParams *_this, float value)
MRC_API void MR_ConstantCuspParams_Set_safeZ(MR_ConstantCuspParams *_this, float value)
MRC_API MR_std_vector_std_vector_MR_Vector3f *const * MR_ToolPathParams_Get_startContours(const MR_ToolPathParams *_this)
MRC_API MR_expected_MR_ToolPathResult_std_string * MR_constantZToolPath(const MR_MeshPart *mp, const MR_ToolPathParams *params)
MRC_API const MR_ConstantCuspParams * MR_ConstantCuspParams_OffsetPtr(const MR_ConstantCuspParams *ptr, ptrdiff_t i)
MRC_API MR_MoveType * MR_GCommand_GetMutable_type(MR_GCommand *_this)
MRC_API MR_ArcInterpolationParams * MR_ArcInterpolationParams_OffsetMutablePtr(MR_ArcInterpolationParams *ptr, ptrdiff_t i)
MRC_API MR_ArcInterpolationParams * MR_ArcInterpolationParams_ConstructFromAnother(MR_PassBy _other_pass_by, MR_ArcInterpolationParams *_other)
MRC_API const float * MR_ConstantCuspParams_Get_retractLength(const MR_ConstantCuspParams *_this)
MRC_API void MR_ToolPathParams_Set_toolpathExpansion(MR_ToolPathParams *_this, float value)
MR_BypassDirection
Direction in which the tool traverses each contour.
Definition MRToolPath.h:30
@ MR_BypassDirection_CounterClockwise
Definition MRToolPath.h:34
@ MR_BypassDirection_Clockwise
Tool moves clockwise around the section.
Definition MRToolPath.h:32
MRC_API void MR_ToolPathParams_Set_safeZ(MR_ToolPathParams *_this, float value)
MRC_API const float * MR_ToolPathParams_Get_safeZ(const MR_ToolPathParams *_this)
MRC_API const float * MR_ToolPathParams_Get_plungeFeed(const MR_ToolPathParams *_this)
MRC_API void MR_ConstantCuspParams_Set_retractFeed(MR_ConstantCuspParams *_this, float value)
MRC_API const MR_std_function_bool_from_float * MR_ToolPathParams_Get_cb(const MR_ToolPathParams *_this)
MRC_API void MR_ToolPathParams_Set_critTransitionLength(MR_ToolPathParams *_this, float value)
MRC_API void MR_GCommand_Set_z(MR_GCommand *_this, float value)
MRC_API const float * MR_GCommand_Get_feed(const MR_GCommand *_this)
MRC_API void MR_ToolPathParams_Set_voxelSize(MR_ToolPathParams *_this, float value)
MRC_API const MR_FaceBitSet * MR_ToolPathResult_Get_modifiedRegion(const MR_ToolPathResult *_this)
MRC_API float * MR_ConstantCuspParams_GetMutable_plungeLength(MR_ConstantCuspParams *_this)
MRC_API const MR_AffineXf3f ** MR_ConstantCuspParams_GetMutable_xf(MR_ConstantCuspParams *_this)
MRC_API const float * MR_ConstantCuspParams_Get_critTransitionLength(const MR_ConstantCuspParams *_this)
MRC_API MR_BypassDirection * MR_ConstantCuspParams_GetMutable_bypassDir(MR_ConstantCuspParams *_this)
MRC_API void MR_ToolPathParams_Set_plungeFeed(MR_ToolPathParams *_this, float value)
MRC_API MR_GCommand * MR_GCommand_AssignFromAnother(MR_GCommand *_this, const MR_GCommand *_other)
MRC_API void MR_ToolPathParams_Set_retractFeed(MR_ToolPathParams *_this, float value)
MRC_API MR_ConstantCuspParams * MR_ConstantCuspParams_OffsetMutablePtr(MR_ConstantCuspParams *ptr, ptrdiff_t i)
MRC_API void MR_ConstantCuspParams_Set_fromCenterToBoundary(MR_ConstantCuspParams *_this, bool value)
MRC_API MR_ToolPathResult * MR_ToolPathResult_DefaultConstructArray(size_t num_elems)
MRC_API bool * MR_ConstantCuspParams_GetMutable_fromCenterToBoundary(MR_ConstantCuspParams *_this)
MRC_API const MR_AffineXf3f ** MR_ToolPathParams_GetMutable_xf(MR_ToolPathParams *_this)
MRC_API float * MR_ToolPathParams_GetMutable_sectionStep(MR_ToolPathParams *_this)
MRC_API MR_GCommand * MR_GCommand_OffsetMutablePtr(MR_GCommand *ptr, ptrdiff_t i)
MRC_API MR_ToolPathResult * MR_ToolPathResult_AssignFromAnother(MR_ToolPathResult *_this, MR_PassBy _other_pass_by, MR_ToolPathResult *_other)
MRC_API MR_MeshPart ** MR_ToolPathParams_GetMutable_offsetMesh(MR_ToolPathParams *_this)
struct MR_ArcInterpolationParams MR_ArcInterpolationParams
Definition MRToolPath.h:61
MRC_API MR_expected_MR_ToolPathResult_std_string * MR_lacingToolPath(const MR_MeshPart *mp, const MR_ToolPathParams *params, MR_Axis cutDirection)
MRC_API MR_ToolPathParams * MR_ConstantCuspParams_MutableUpcastTo_MR_ToolPathParams(MR_ConstantCuspParams *object)
MRC_API MR_MeshPart ** MR_ConstantCuspParams_GetMutable_offsetMesh(MR_ConstantCuspParams *_this)
MRC_API MR_ToolPathResult * MR_ToolPathResult_ConstructFrom(MR_PassBy modifiedMesh_pass_by, MR_Mesh *modifiedMesh, MR_PassBy modifiedRegion_pass_by, MR_FaceBitSet *modifiedRegion, MR_PassBy commands_pass_by, MR_std_vector_MR_GCommand *commands)
MRC_API const MR_std_function_bool_from_float * MR_ArcInterpolationParams_Get_cb(const MR_ArcInterpolationParams *_this)
MRC_API const float * MR_GCommand_Get_y(const MR_GCommand *_this)
MRC_API MR_ToolPathParams * MR_ToolPathParams_DefaultConstructArray(size_t num_elems)
MRC_API const float * MR_LineInterpolationParams_Get_eps(const MR_LineInterpolationParams *_this)
MRC_API void MR_GCommand_Set_type(MR_GCommand *_this, MR_MoveType value)
MR_PassBy
Definition common.h:23
struct MR_ToolPathResult MR_ToolPathResult
Definition expected_MR_ToolPathResult_std_string.h:13
struct MR_expected_MR_ToolPathResult_std_string MR_expected_MR_ToolPathResult_std_string
Definition expected_MR_ToolPathResult_std_string.h:19
#define MRC_API
Definition include/MRCMisc/exports.h:11
struct MR_std_shared_ptr_MR_ObjectGcode MR_std_shared_ptr_MR_ObjectGcode
Definition std_shared_ptr_MR_ObjectGcode.h:20
struct MR_std_vector_MR_GCommand MR_std_vector_MR_GCommand
Definition std_vector_MR_GCommand.h:18
struct MR_GCommand MR_GCommand
Definition std_vector_MR_GCommand.h:13
Definition MRAffineXf.h:39
Generated from class MR::Vector3f.
Definition MRVector3.h:47