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
33
39
45
48
51
60
68
70typedef struct MR_GCommand MR_GCommand;
71
74
75// radius of the milling tool
80
81// radius of the milling tool
85
86// radius of the milling tool
91
92// size of voxel needed to offset mesh
97
98// size of voxel needed to offset mesh
102
103// size of voxel needed to offset mesh
108
109// distance between sections built along Z axis
110// in Constant Cusp mode sectionStep should be bigger than voxelSize (x1.2 or more is recomended)
115
116// distance between sections built along Z axis
117// in Constant Cusp mode sectionStep should be bigger than voxelSize (x1.2 or more is recomended)
121
122// distance between sections built along Z axis
123// in Constant Cusp mode sectionStep should be bigger than voxelSize (x1.2 or more is recomended)
128
129// if distance to the next section is smaller than it, transition will be performed along the surface
130// otherwise transition will be through the safe plane
135
136// if distance to the next section is smaller than it, transition will be performed along the surface
137// otherwise transition will be through the safe plane
141
142// if distance to the next section is smaller than it, transition will be performed along the surface
143// otherwise transition will be through the safe plane
148
149// when the mill is moving down, it will be slowed down in this distance from mesh
154
155// when the mill is moving down, it will be slowed down in this distance from mesh
159
160// when the mill is moving down, it will be slowed down in this distance from mesh
165
166// when the mill is moving up, it will be slowed down in this distance from mesh
171
172// when the mill is moving up, it will be slowed down in this distance from mesh
176
177// when the mill is moving up, it will be slowed down in this distance from mesh
182
183// speed of slow movement down
188
189// speed of slow movement down
193
194// speed of slow movement down
199
200// speed of slow movement up
205
206// speed of slow movement up
210
211// speed of slow movement up
216
217// speed of regular milling
222
223// speed of regular milling
227
228// speed of regular milling
233
234// z-coordinate of plane where tool can move in any direction without touching the object
239
240// z-coordinate of plane where tool can move in any direction without touching the object
244
245// z-coordinate of plane where tool can move in any direction without touching the object
250
251// which direction isolines or sections should be passed in
256
257// which direction isolines or sections should be passed in
261
262// which direction isolines or sections should be passed in
267
268// mesh can be transformed using xf parameter
273
274// mesh can be transformed using xf parameter
278
279// mesh can be transformed using xf parameter
284
285// if true then a tool path for a flat milling tool will be generated
290
291// if true then a tool path for a flat milling tool will be generated
295
296// if true then a tool path for a flat milling tool will be generated
301
302// callback for reporting on progress
307
308// callback for reporting on progress
312
313// callback for reporting on progress
318
319// if > 0 - expand the trajectory creation area and create toolpath to mill excess material to make empty areas.
320// The area has the shape of a box.
321// Lacing specific only.
326
327// if > 0 - expand the trajectory creation area and create toolpath to mill excess material to make empty areas.
328// The area has the shape of a box.
329// Lacing specific only.
333
334// if > 0 - expand the trajectory creation area and create toolpath to mill excess material to make empty areas.
335// The area has the shape of a box.
336// Lacing specific only.
341
342// optional output, stores isolines without transits
347
348// optional output, stores isolines without transits
352
353// optional output, stores isolines without transits
358
359// optional output, polyline containing start vertices for isolines
364
365// optional output, polyline containing start vertices for isolines
369
370// optional output, polyline containing start vertices for isolines
375
376// start vertices on the offset mesh used for calcutating isolines
381
382// start vertices on the offset mesh used for calcutating isolines
386
387// start vertices on the offset mesh used for calcutating isolines
392
397
401
406
410
415
418MRC_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);
419
422
425
430
434
438
441
444
449
450// if true isolines will be processed from center point to the boundary (usually it means from up to down)
455
456// if true isolines will be processed from center point to the boundary (usually it means from up to down)
460
461// if true isolines will be processed from center point to the boundary (usually it means from up to down)
466
470
475
478
481
485
488
492
495
498
503
504// maximal deviation from given line
509
510// maximal deviation from given line
514
515// maximal deviation from given line
520
521// maximal length of the line
526
527// maximal length of the line
531
532// maximal length of the line
537
538// callback for reporting on progress
543
544// callback for reporting on progress
548
549// callback for reporting on progress
554
558
563
567
570
573
577
580
583
588
589// maximal deviation of arc from given path
594
595// maximal deviation of arc from given path
599
600// maximal deviation of arc from given path
605
606// maximal radius of the arc
611
612// maximal radius of the arc
616
617// maximal radius of the arc
622
623// callback for reporting on progress
628
629// callback for reporting on progress
633
634// callback for reporting on progress
639
643
648
652
655
658
662
665
668
673
674// type of command GX (G0, G1, etc). By default - G1
679
680// type of command GX (G0, G1, etc). By default - G1
684
685// type of command GX (G0, G1, etc). By default - G1
690
691// Place for comment
696
697// Place for comment
701
702// Place for comment
707
708// feedrate for move
712MRC_API const float *MR_GCommand_Get_feed(const MR_GCommand *_this);
713
714// feedrate for move
717MRC_API void MR_GCommand_Set_feed(MR_GCommand *_this, float value);
718
719// feedrate for move
724
725// coordinates of destination point
729MRC_API const float *MR_GCommand_Get_x(const MR_GCommand *_this);
730
731// coordinates of destination point
734MRC_API void MR_GCommand_Set_x(MR_GCommand *_this, float value);
735
736// coordinates of destination point
741
745MRC_API const float *MR_GCommand_Get_y(const MR_GCommand *_this);
746
749MRC_API void MR_GCommand_Set_y(MR_GCommand *_this, float value);
750
755
759MRC_API const float *MR_GCommand_Get_z(const MR_GCommand *_this);
760
763MRC_API void MR_GCommand_Set_z(MR_GCommand *_this, float value);
764
769
770// if moveType is ArcCW or ArcCCW center of the arc shoult be specified
775
776// if moveType is ArcCW or ArcCCW center of the arc shoult be specified
780
781// if moveType is ArcCW or ArcCCW center of the arc shoult be specified
786
790
795
798MRC_API MR_GCommand *MR_GCommand_ConstructFrom(MR_MoveType type, MR_ArcPlane arcPlane, float feed, float x, float y, float z, MR_Vector3f arcCenter);
799
801MRC_API const MR_GCommand *MR_GCommand_OffsetPtr(const MR_GCommand *ptr, ptrdiff_t i);
802
805
810
813
816
822
823// mesh after fixing undercuts and offset
828
829// mesh after fixing undercuts and offset
833
834// mesh after fixing undercuts and offset
839
840// selected region projected from the original mesh to the offset
845
846// selected region projected from the original mesh to the offset
850
851// selected region projected from the original mesh to the offset
856
857// constains type of movement and its feed
862
863// constains type of movement and its feed
867
868// constains type of movement and its feed
873
877
882
885MRC_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);
886
889
892
896
899
902
907
908// compute path of the milling tool for the given mesh with parameters ( direction of milling is from up to down along Z-direction )
909// this toolpath is built from the parallel sections along Z-axis
910// mesh can be transformed using xf parameter
916
917// Slices are built along the axis defined by cutDirection argument (can be Axis::X or Axis::Y)
923
924// compute path of the milling tool for the given mesh with parameters ( direction of milling is from up to down along Z-direction )
925// this toolpath is built from geodesic parallels divercing from the given start point or from the bounaries of selected areas
926// if neither is specified, the lowest section by XY plane will be used as a start contour
927// mesh can be transformed using xf parameter
933
934// generates G-Code for milling tool
939
940// interpolates several points lying on the same straight line with one move
946
947// interpolates given path with arcs
953
954// makes the given selection more smooth with shifthing a boundary of the selection outside and back. Input mesh is changed because we have to cut new edges along the new boundaries
955// \param expandOffset defines how much the boundary is expanded
956// \param expandOffset defines how much the boundary is shrinked after that
961MRC_API MR_FaceBitSet *MR_smoothSelection(MR_Mesh *mesh, const MR_FaceBitSet *region, float expandOffset, float shrinkOffset);
962
963#ifdef __cplusplus
964} // extern "C"
965#endif
struct MR_std_function_bool_from_float MR_std_function_bool_from_float
Definition MR3mf.h:10
struct MR_FaceBitSet MR_FaceBitSet
Definition MRAABBTreeBase.h:24
struct MR_MeshPart MR_MeshPart
Definition MRAABBTree.h:14
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:19
struct MR_Mesh MR_Mesh
Definition MRCtm.h:12
MRC_API const float * MR_ToolPathParams_Get_plungeLength(const MR_ToolPathParams *_this)
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 void MR_ToolPathParams_Set_isolines(MR_ToolPathParams *_this, MR_std_vector_std_vector_MR_Vector3f *value)
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 MR_std_function_bool_from_float * MR_ToolPathParams_GetMutable_cb(MR_ToolPathParams *_this)
MRC_API MR_ConstantCuspParams * MR_ToolPathParams_MutableStaticDowncastTo_MR_ConstantCuspParams(MR_ToolPathParams *object)
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 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 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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
struct MR_ToolPathParams MR_ToolPathParams
Definition MRToolPath.h:38
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 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
Generated from class MR::LineInterpolationParams.
Definition MRToolPath.h:47
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 MR_ArcInterpolationParams * MR_ArcInterpolationParams_DefaultConstruct(void)
MRC_API MR_ConstantCuspParams * MR_ConstantCuspParams_AssignFromAnother(MR_ConstantCuspParams *_this, MR_PassBy _other_pass_by, MR_ConstantCuspParams *_other)
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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 MR_GCommand * MR_GCommand_ConstructFrom(MR_MoveType type, MR_ArcPlane arcPlane, float feed, float x, float y, float z, MR_Vector3f arcCenter)
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 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 MR_GCommand * MR_GCommand_DefaultConstruct(void)
struct MR_ConstantCuspParams MR_ConstantCuspParams
Definition MRToolPath.h:44
MRC_API const MR_ArcInterpolationParams * MR_ArcInterpolationParams_OffsetPtr(const MR_ArcInterpolationParams *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_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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MRC_API MR_FaceBitSet * MR_ToolPathResult_GetMutable_modifiedRegion(MR_ToolPathResult *_this)
MRC_API float * MR_ToolPathParams_GetMutable_retractFeed(MR_ToolPathParams *_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
Definition MRToolPath.h:62
@ MR_ArcPlane_XZ
Definition MRToolPath.h:65
@ MR_ArcPlane_YZ
Definition MRToolPath.h:66
@ MR_ArcPlane_None
Definition MRToolPath.h:63
@ MR_ArcPlane_XY
Definition MRToolPath.h:64
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_ToolPathParams * MR_ToolPathParams_OffsetMutablePtr(MR_ToolPathParams *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_std_vector_std_vector_MR_Vector3f ** MR_ToolPathParams_GetMutable_isolines(MR_ToolPathParams *_this)
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 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 const MR_ConstantCuspParams * MR_ToolPathParams_StaticDowncastTo_MR_ConstantCuspParams(const MR_ToolPathParams *object)
MRC_API MR_expected_MR_ToolPathResult_std_string * MR_constantCuspToolPath(const MR_MeshPart *mp, const MR_ConstantCuspParams *params)
MRC_API MR_ToolPathParams * MR_ToolPathParams_DefaultConstruct(void)
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MRC_API float * MR_ToolPathParams_GetMutable_plungeFeed(MR_ToolPathParams *_this)
MRC_API MR_std_function_bool_from_float * MR_ArcInterpolationParams_GetMutable_cb(MR_ArcInterpolationParams *_this)
MRC_API MR_std_vector_std_vector_MR_Vector3f *const * MR_ToolPathParams_Get_isolines(const MR_ToolPathParams *_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 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_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 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
Definition MRToolPath.h:53
@ MR_MoveType_FastLinear
Definition MRToolPath.h:55
@ MR_MoveType_ArcCCW
Definition MRToolPath.h:58
@ MR_MoveType_None
Definition MRToolPath.h:54
@ MR_MoveType_Linear
Definition MRToolPath.h:56
@ MR_MoveType_ArcCW
Definition MRToolPath.h:57
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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_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 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 float * MR_GCommand_GetMutable_feed(MR_GCommand *_this)
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MRC_API MR_MoveType * MR_GCommand_GetMutable_type(MR_GCommand *_this)
MRC_API MR_ArcInterpolationParams * MR_ArcInterpolationParams_OffsetMutablePtr(MR_ArcInterpolationParams *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_ArcInterpolationParams * MR_ArcInterpolationParams_ConstructFromAnother(MR_PassBy _other_pass_by, MR_ArcInterpolationParams *_other)
MRC_API void MR_ToolPathParams_Set_toolpathExpansion(MR_ToolPathParams *_this, float value)
MR_BypassDirection
Definition MRToolPath.h:29
@ MR_BypassDirection_CounterClockwise
Definition MRToolPath.h:31
@ MR_BypassDirection_Clockwise
Definition MRToolPath.h:30
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 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 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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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
Generated from class MR::ArcInterpolationParams.
Definition MRToolPath.h:50
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)
Upcasts an instance of MR::ConstantCuspParams to its base class MR::ToolPathParams.
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:19
struct MR_ToolPathResult MR_ToolPathResult
Definition expected_MR_ToolPathResult_std_string.h:12
struct MR_expected_MR_ToolPathResult_std_string MR_expected_MR_ToolPathResult_std_string
Definition expected_MR_ToolPathResult_std_string.h:18
#define MRC_API
Definition exports.h:11
struct MR_std_shared_ptr_MR_ObjectGcode MR_std_shared_ptr_MR_ObjectGcode
Definition std_shared_ptr_MR_ObjectGcode.h:17
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:36
Definition MRVector3.h:50