24#ifndef OCCTL_HPP_PRIM_HPP
25#define OCCTL_HPP_PRIM_HPP
64 return {{0.0, 0.0, 0.0}, {0.0, 0.0, 1.0}, {1.0, 0.0, 0.0}};
78 const ::occtl_axis2_placement_t& thePlacement = detail::default_ax2())
136 const double theRadius,
137 const ::occtl_axis2_placement_t& thePlacement = detail::default_ax2())
141 anInfo.
radius = theRadius;
150 const double theRadius,
151 const double theHeight,
152 const ::occtl_axis2_placement_t& thePlacement = detail::default_ax2())
156 anInfo.
radius = theRadius;
157 anInfo.
height = theHeight;
168 const double theHeight,
169 const ::occtl_axis2_placement_t& thePlacement = detail::default_ax2())
175 anInfo.
height = theHeight;
184 const double theMajor,
185 const double theMinor,
186 const ::occtl_axis2_placement_t& thePlacement = detail::default_ax2())
190 anInfo.
r1 = theMajor;
191 anInfo.
r2 = theMinor;
204 const ::occtl_axis2_placement_t& thePlacement = detail::default_ax2())
221 const ::occtl_point3_t& theRefPoint)
235 const ::occtl_vector3_t& theDirection,
236 const bool theCopy =
false,
237 const bool theCanonize =
true)
242 anInfo.
copy = theCopy ? 1 : 0;
243 anInfo.
canonize = theCanonize ? 1 : 0;
253 int section_count = 9;
254 bool make_solid =
true;
256 double pres3d = 1.0e-6;
261 const NodeId& theProfileWire,
262 const ::occtl_axis1_placement_t& theAxis,
263 const double theHeight,
264 const double theAngle,
269 anInfo.
axis = theAxis;
270 anInfo.
height = theHeight;
271 anInfo.
angle = theAngle;
273 anInfo.
make_solid = theOptions.make_solid ? 1 : 0;
274 anInfo.
ruled = theOptions.ruled ? 1 : 0;
275 anInfo.
pres3d = theOptions.pres3d;
284 const NodeId& theProfileWire,
285 const ::occtl_axis1_placement_t& theAxis,
286 const double theHeight,
287 const double theAngle,
292 anInfo.
axis = theAxis;
293 anInfo.
height = theHeight;
294 anInfo.
angle = theAngle;
296 anInfo.
make_solid = theOptions.make_solid ? 1 : 0;
297 anInfo.
ruled = theOptions.ruled ? 1 : 0;
298 anInfo.
pres3d = theOptions.pres3d;
308 const ::occtl_axis1_placement_t& theAxis,
309 const double theAngle = 6.283185307179586,
310 const bool theCopy =
false)
314 anInfo.
axis = theAxis;
315 anInfo.
angle = theAngle;
316 anInfo.
copy = theCopy ? 1 : 0;
337 const std::vector<NodeId>& theSections,
338 const bool theIsSolid =
false,
339 const bool theRuled =
false,
340 const double thePres3d = 1.0e-6)
342 std::vector<::occtl_node_id_t> aRaw;
343 aRaw.reserve(theSections.size());
344 for (
const NodeId& aSec : theSections)
346 aRaw.push_back(aSec.get());
350 anInfo.
sections = aRaw.empty() ? nullptr : aRaw.data();
352 anInfo.
is_solid = theIsSolid ? 1 : 0;
353 anInfo.
ruled = theRuled ? 1 : 0;
354 anInfo.
pres3d = thePres3d;
363 const std::vector<::occtl_point3_t>& thePoints,
364 const bool theClosed =
false)
367 anInfo.
points = thePoints.empty() ? nullptr : thePoints.data();
369 anInfo.
closed = theClosed ? 1 : 0;
380 const double theCircumradius,
381 const ::occtl_axis2_placement_t& thePlacement = detail::default_ax2(),
382 const double theRotation = 0.0)
387 anInfo.
sides = theSides;
397 const double theWidth,
398 const double theHeight,
399 const ::occtl_axis2_placement_t& thePlacement = detail::default_ax2())
403 anInfo.
width = theWidth;
404 anInfo.
height = theHeight;
413 const double theRadius,
414 const ::occtl_axis2_placement_t& thePlacement = detail::default_ax2())
418 anInfo.
radius = theRadius;
427 const double theMajor,
428 const double theMinor,
429 const ::occtl_axis2_placement_t& thePlacement = detail::default_ax2())
433 anInfo.
major = theMajor;
434 anInfo.
minor = theMinor;
443 const ::occtl_point3_t& theStart,
444 const ::occtl_point3_t& theVia,
445 const ::occtl_point3_t& theEnd)
448 anInfo.
start = theStart;
459 const double theRadius,
460 const double theStartAngle,
461 const double theEndAngle,
462 const ::occtl_axis2_placement_t& thePlacement = detail::default_ax2())
466 anInfo.
radius = theRadius;
477 const std::vector<::occtl_point3_t>& thePoints,
478 const int theDegreeMin = 3,
479 const int theDegreeMax = 8,
480 const double theTolerance = 1.0e-3)
483 anInfo.
points = thePoints.empty() ? nullptr : thePoints.data();
496 const double theWidth,
497 const double theHeight,
498 const ::occtl_axis2_placement_t& thePlacement = detail::default_ax2())
502 anInfo.
width = theWidth;
503 anInfo.
height = theHeight;
512 const double theRadius,
513 const ::occtl_axis2_placement_t& thePlacement = detail::default_ax2())
517 anInfo.
radius = theRadius;
527 const std::vector<NodeId>& theInners = {})
529 std::vector<::occtl_node_id_t> anInnerIds;
530 anInnerIds.reserve(theInners.size());
531 for (
const NodeId& anInner : theInners)
533 anInnerIds.push_back(anInner.get());
538 anInfo.
inner_wires = anInnerIds.empty() ? nullptr : anInnerIds.data();
550 double tolerance = 1.0e-7;
551 bool make_face =
false;
556 const std::vector<occtl_point3_t>& thePoints,
557 const std::vector<NodeId>& theVertices = {},
558 const ConvexHull2dOptions& theOptions = {})
560 std::vector<::occtl_node_id_t> aVertexIds;
561 aVertexIds.reserve(theVertices.size());
562 for (
const NodeId& aVertex : theVertices)
564 aVertexIds.push_back(aVertex.get());
569 anInfo.
points = thePoints.empty() ? nullptr : thePoints.data();
571 anInfo.
vertices = aVertexIds.empty() ? nullptr : aVertexIds.data();
574 anInfo.
make_face = theOptions.make_face ? 1 : 0;
586 bool approximate =
false;
592 const double theWidth,
597 anInfo.
width = theWidth;
598 anInfo.
normal = theOptions.normal;
599 anInfo.
join = theOptions.join;
600 anInfo.
approximate = theOptions.approximate ? 1 : 0;
611 bool use_parameter_range =
false;
612 double first_parameter = 0.0;
613 double last_parameter = 0.0;
640 bool with_contact =
false;
641 bool with_correction =
false;
642 bool make_solid =
false;
647 const NodeId& theSpineWire,
648 const std::vector<NodeId>& theProfiles,
651 std::vector<::occtl_node_id_t> aProfiles;
652 aProfiles.reserve(theProfiles.size());
653 for (
const NodeId& aP : theProfiles)
655 aProfiles.push_back(aP.get());
660 anInfo.
profiles = aProfiles.empty() ? nullptr : aProfiles.data();
662 anInfo.
mode = theOptions.mode;
668 anInfo.
make_solid = theOptions.make_solid ? 1 : 0;
678 double scale_first = 1.0;
679 double scale_last = 1.0;
684 bool with_contact =
false;
685 bool with_correction =
false;
686 bool make_solid =
false;
691 const NodeId& theSpineWire,
700 anInfo.
mode = theOptions.mode;
706 anInfo.
make_solid = theOptions.make_solid ? 1 : 0;
716 std::vector<double> parameters;
717 std::vector<double> scales;
722 bool with_contact =
false;
723 bool with_correction =
false;
724 bool make_solid =
false;
729 const NodeId& theSpineWire,
734 OCCTL_PRIM_PIPE_SHELL_INTERPOLATED_LAW_INFO_INIT;
737 anInfo.
parameters = theOptions.parameters.empty() ? nullptr : theOptions.parameters.data();
738 anInfo.
scales = theOptions.scales.empty() ? nullptr : theOptions.scales.data();
740 theOptions.parameters.size() == theOptions.scales.size() ? theOptions.parameters.size() : 0;
741 anInfo.
mode = theOptions.mode;
747 anInfo.
make_solid = theOptions.make_solid ? 1 : 0;
757 double tolerance = 1.0e-3;
760 bool intersection =
false;
761 bool self_intersection =
false;
762 bool remove_internal_edges =
false;
768 const double theOffset,
773 anInfo.
offset = theOffset;
775 anInfo.
mode = theOptions.mode;
776 anInfo.
join = theOptions.join;
790 const std::vector<NodeId>& theClosingFaces,
791 const double theOffset,
794 std::vector<::occtl_node_id_t> aClosing;
795 aClosing.reserve(theClosingFaces.size());
796 for (
const NodeId& aF : theClosingFaces)
798 aClosing.push_back(aF.get());
803 anInfo.
closing_faces = aClosing.empty() ? nullptr : aClosing.data();
805 anInfo.
offset = theOffset;
807 anInfo.
mode = theOptions.mode;
808 anInfo.
join = theOptions.join;
821 const double theHeight,
822 const double theTaperAngle)
826 anInfo.
height = theHeight;
836 const NodeId& theProfileFace,
837 const double theHeight,
838 const double theTaperAngle)
842 anInfo.
height = theHeight;
852 const NodeId& theSectionA,
853 const NodeId& theSectionB)
877 const NodeId& theBaseShape,
879 const NodeId& theSketchFace,
880 const ::occtl_direction3_t& theDirection,
888 anInfo.
combine = theOptions.combine;
889 anInfo.
modify = theOptions.modify ? 1 : 0;
892 anInfo.
length = theOptions.length;
910 const NodeId& theBaseShape,
912 const NodeId& theSketchFace,
913 const NodeId& theTargetShape,
914 const ::occtl_direction3_t& theDirection,
923 anInfo.
side = theOptions.side;
924 anInfo.
combine = theOptions.combine;
925 anInfo.
modify = theOptions.modify ? 1 : 0;
926 anInfo.
limit = theOptions.limit;
945 const NodeId& theBaseShape,
946 const NodeId& theProfileFace,
947 const NodeId& theSketchFace,
948 const double theTaperAngle,
956 anInfo.
combine = theOptions.combine;
957 anInfo.
modify = theOptions.modify ? 1 : 0;
960 anInfo.
length = theOptions.length;
974 bool with_control =
true;
979 const NodeId& theBaseShape,
980 const ::occtl_axis1_placement_t& theAxis,
981 const double theRadius,
986 anInfo.
axis = theAxis;
987 anInfo.
radius = theRadius;
988 anInfo.
kind = theOptions.kind;
989 anInfo.
p_from = theOptions.p_from;
990 anInfo.
p_to = theOptions.p_to;
991 anInfo.
length = theOptions.length;
1001 const double theLength,
1002 const double theWidth,
1003 const ::occtl_axis2_placement_t& thePlacement = detail::default_ax2())
1007 anInfo.
length = theLength;
1008 anInfo.
width = theWidth;
1017 const double theOuterRadius,
1018 const double theInnerRadius,
1019 const double theHeight,
1020 const ::occtl_axis2_placement_t& thePlacement = detail::default_ax2())
1026 anInfo.
height = theHeight;
1035 const double theRadius,
1036 const double thePitch,
1037 const double theHeight,
1038 const ::occtl_axis2_placement_t& thePlacement = detail::default_ax2(),
1039 const bool theLeftHanded =
false)
1043 anInfo.
radius = theRadius;
1044 anInfo.
pitch = thePitch;
1045 anInfo.
height = theHeight;
1056 const double theRadius,
1057 const std::vector<NodeId>& theVertices = {})
1059 std::vector<::occtl_node_id_t> aVerts;
1060 aVerts.reserve(theVertices.size());
1061 for (
const NodeId& aV : theVertices)
1063 aVerts.push_back(aV.get());
1068 anInfo.
vertices = aVerts.empty() ? nullptr : aVerts.data();
1070 anInfo.
radius = theRadius;
1074 return NodeId(anId);
1080 double radius = 0.0;
1081 uint32_t search_steps = 32u;
1093 anInfo.
radius = theOptions.radius;
Non-owning reference to a 2D geometric curve stored in a graph.
Definition curves2d.hpp:56
occtl_rep_id_t id() const noexcept
Returns the representation id.
Definition curves2d.hpp:72
RAII handle for a topology graph. Mirrors occtl_graph_t.
Definition topo.hpp:1444
::occtl_graph_t * get() const noexcept
Borrows-it pointer to the underlying C handle, for direct ABI calls.
Definition topo.hpp:1494
Session-local identity of a graph node. Mirrors occtl_node_id_t.
Definition topo.hpp:52
::occtl_node_id_t get() const noexcept
Borrows-it view of the underlying C value type, for direct ABI calls.
Definition topo.hpp:64
C++ veneer for the core module.
void check(const ::occtl_status_t theStatus)
Throw on non-OK; otherwise a no-op.
Definition core.hpp:85
C++ veneer for 2D curve representations in the topology graph.
OCCT-Light: primitives module public API umbrella.
enum occtl_prim_until_kind occtl_prim_until_kind_t
enum occtl_prim_brake_side occtl_prim_brake_side_t
occtl_status_t occtl_prim_make_extrude_tapered(occtl_graph_t *graph, const occtl_prim_extrude_tapered_info_t *info, occtl_node_id_t *out_shape)
struct occtl_prim_face_from_boundary_curves_options occtl_prim_face_from_boundary_curves_options_t
occtl_status_t occtl_prim_make_face_from_curve_grid(occtl_graph_t *graph, const occtl_prim_face_from_curve_grid_options_t *options, occtl_node_id_t *out_face)
occtl_status_t occtl_prim_make_draft_prism(occtl_graph_t *graph, const occtl_prim_draft_prism_info_t *info, occtl_node_id_t *out_shape)
occtl_status_t occtl_prim_make_face_from_surface(occtl_graph_t *graph, const occtl_prim_face_from_surface_options_t *options, occtl_node_id_t *out_face)
occtl_status_t occtl_prim_make_feat_prism(occtl_graph_t *graph, const occtl_prim_feat_prism_info_t *info, occtl_node_id_t *out_shape)
occtl_status_t occtl_prim_make_ruled_surface(occtl_graph_t *graph, const occtl_prim_ruled_surface_info_t *info, occtl_node_id_t *out_shape)
occtl_status_t occtl_prim_make_brake_formed(const occtl_graph_t *graph, const occtl_prim_brake_formed_options_t *options, occtl_graph_t **out_graph, occtl_node_id_t *out_root)
@ OCCTL_EXTRUDE_UNTIL_NEXT
Definition occtl_prim_feature.h:721
enum occtl_prim_feat_combine occtl_prim_feat_combine_t
occtl_status_t occtl_prim_make_feat_draft_prism(occtl_graph_t *graph, const occtl_prim_feat_draft_prism_info_t *info, occtl_node_id_t *out_shape)
struct occtl_prim_face_from_point_grid_options occtl_prim_face_from_point_grid_options_t
enum occtl_prim_cylindrical_hole_kind occtl_prim_cylindrical_hole_kind_t
struct occtl_prim_brake_formed_options occtl_prim_brake_formed_options_t
struct occtl_prim_face_from_curve_grid_options occtl_prim_face_from_curve_grid_options_t
enum occtl_prim_extrude_until_side occtl_prim_extrude_until_side_t
@ OCCTL_UNTIL_LENGTH
Definition occtl_prim_feature.h:616
occtl_status_t occtl_prim_make_cylindrical_hole(occtl_graph_t *graph, const occtl_prim_cylindrical_hole_info_t *info, occtl_node_id_t *out_shape)
occtl_status_t occtl_prim_make_face_from_boundary_curves(occtl_graph_t *graph, const occtl_prim_face_from_boundary_curves_options_t *options, occtl_node_id_t *out_face)
@ OCCTL_FEAT_FUSE
Definition occtl_prim_feature.h:632
occtl_status_t occtl_prim_make_extrude_until(occtl_graph_t *graph, const occtl_prim_extrude_until_info_t *info, occtl_node_id_t *out_shape)
occtl_status_t occtl_prim_make_face_from_point_grid(occtl_graph_t *graph, const occtl_prim_face_from_point_grid_options_t *options, occtl_node_id_t *out_face)
struct occtl_prim_face_from_surface_options occtl_prim_face_from_surface_options_t
@ OCCTL_CYLINDRICAL_HOLE_THROUGH_ALL
Definition occtl_prim_feature.h:900
occtl_status_t occtl_prim_make_regular_polygon(occtl_graph_t *graph, const occtl_prim_regular_polygon_info_t *info, occtl_node_id_t *out_wire)
occtl_status_t occtl_prim_make_circle(occtl_graph_t *graph, const occtl_prim_circle_info_t *info, occtl_node_id_t *out_wire)
occtl_status_t occtl_prim_make_slot(occtl_graph_t *graph, const occtl_prim_slot_info_t *info, occtl_node_id_t *out_wire)
occtl_status_t occtl_prim_make_planar_face(occtl_graph_t *graph, const occtl_prim_planar_face_info_t *info, occtl_node_id_t *out_face)
occtl_status_t occtl_prim_make_rectangle(occtl_graph_t *graph, const occtl_prim_rectangle_info_t *info, occtl_node_id_t *out_wire)
occtl_status_t occtl_prim_make_fillet_2d(occtl_graph_t *graph, const occtl_prim_fillet_2d_info_t *info, occtl_node_id_t *out_face)
occtl_status_t occtl_prim_make_arc_3pt(occtl_graph_t *graph, const occtl_prim_arc_3pt_info_t *info, occtl_node_id_t *out_wire)
occtl_status_t occtl_prim_make_helix(occtl_graph_t *graph, const occtl_prim_helix_info_t *info, occtl_node_id_t *out_wire)
occtl_status_t occtl_prim_make_disk(occtl_graph_t *graph, const occtl_prim_disk_info_t *info, occtl_node_id_t *out_face)
occtl_status_t occtl_prim_make_full_round_2d(occtl_graph_t *graph, const occtl_prim_full_round_2d_info_t *info, occtl_node_id_t *out_face)
occtl_status_t occtl_prim_make_ellipse(occtl_graph_t *graph, const occtl_prim_ellipse_info_t *info, occtl_node_id_t *out_wire)
occtl_status_t occtl_prim_make_tube(occtl_graph_t *graph, const occtl_prim_tube_info_t *info, occtl_node_id_t *out_solid)
occtl_status_t occtl_prim_make_polyline(occtl_graph_t *graph, const occtl_prim_polyline_info_t *info, occtl_node_id_t *out_wire)
occtl_status_t occtl_prim_make_arc_center(occtl_graph_t *graph, const occtl_prim_arc_center_info_t *info, occtl_node_id_t *out_wire)
occtl_status_t occtl_prim_make_spline(occtl_graph_t *graph, const occtl_prim_spline_info_t *info, occtl_node_id_t *out_wire)
occtl_status_t occtl_prim_make_trace(occtl_graph_t *graph, const occtl_prim_trace_info_t *info, occtl_node_id_t *out_face)
occtl_status_t occtl_prim_make_constrained_edge(occtl_graph_t *graph, const occtl_prim_constrained_edge_info_t *info, occtl_node_id_t *out_edge)
occtl_status_t occtl_prim_make_convex_hull_2d(occtl_graph_t *graph, const occtl_prim_convex_hull_2d_info_t *info, occtl_node_id_t *out_node)
occtl_status_t occtl_prim_make_plane(occtl_graph_t *graph, const occtl_prim_plane_info_t *info, occtl_node_id_t *out_face)
occtl_status_t occtl_prim_make_wedge(occtl_graph_t *graph, const occtl_prim_wedge_info_t *info, occtl_node_id_t *out_solid)
occtl_status_t occtl_prim_make_cone(occtl_graph_t *graph, const occtl_prim_cone_info_t *info, occtl_node_id_t *out_solid)
occtl_status_t occtl_prim_make_torus(occtl_graph_t *graph, const occtl_prim_torus_info_t *info, occtl_node_id_t *out_solid)
occtl_status_t occtl_prim_make_cylinder(occtl_graph_t *graph, const occtl_prim_cylinder_info_t *info, occtl_node_id_t *out_solid)
occtl_status_t occtl_prim_make_sphere(occtl_graph_t *graph, const occtl_prim_sphere_info_t *info, occtl_node_id_t *out_solid)
occtl_status_t occtl_prim_make_box(occtl_graph_t *graph, const occtl_prim_box_info_t *info, occtl_node_id_t *out_solid)
occtl_status_t occtl_prim_make_halfspace(occtl_graph_t *graph, const occtl_prim_halfspace_info_t *info, occtl_node_id_t *out_solid)
@ OCCTL_PIPE_TRANSITION_MODIFIED
Definition occtl_prim_sweep.h:480
occtl_status_t occtl_prim_make_offset_shape(occtl_graph_t *graph, const occtl_prim_offset_shape_info_t *info, occtl_node_id_t *out_shape)
occtl_status_t occtl_prim_make_pipe_shell_interpolated_law(occtl_graph_t *graph, const occtl_prim_pipe_shell_interpolated_law_info_t *info, occtl_node_id_t *out_shape)
occtl_status_t occtl_prim_make_pipe(occtl_graph_t *graph, const occtl_prim_pipe_info_t *info, occtl_node_id_t *out_shape)
occtl_status_t occtl_prim_make_loft(occtl_graph_t *graph, const occtl_prim_loft_info_t *info, occtl_node_id_t *out_shape)
occtl_status_t occtl_prim_make_extrude_twist(occtl_graph_t *graph, const occtl_prim_extrude_twist_info_t *info, occtl_node_id_t *out_shape)
occtl_status_t occtl_prim_make_pipe_shell_linear_law(occtl_graph_t *graph, const occtl_prim_pipe_shell_linear_law_info_t *info, occtl_node_id_t *out_shape)
occtl_status_t occtl_prim_make_prism(occtl_graph_t *graph, const occtl_prim_prism_info_t *info, occtl_node_id_t *out_shape)
enum occtl_prim_pipe_transition occtl_prim_pipe_transition_t
@ OCCTL_OFFSET_MODE_SKIN
Definition occtl_prim_sweep.h:774
enum occtl_prim_offset_mode occtl_prim_offset_mode_t
occtl_status_t occtl_prim_make_twist_extrusion(occtl_graph_t *graph, const occtl_prim_twist_extrusion_info_t *info, occtl_node_id_t *out_shape)
occtl_status_t occtl_prim_make_revol(occtl_graph_t *graph, const occtl_prim_revol_info_t *info, occtl_node_id_t *out_shape)
@ OCCTL_PIPE_MODE_CORRECTED_FRENET
Definition occtl_prim_sweep.h:463
occtl_status_t occtl_prim_make_pipe_shell(occtl_graph_t *graph, const occtl_prim_pipe_shell_info_t *info, occtl_node_id_t *out_shape)
occtl_status_t occtl_prim_make_thick_solid(occtl_graph_t *graph, const occtl_prim_thick_solid_info_t *info, occtl_node_id_t *out_solid)
@ OCCTL_OFFSET_JOIN_ARC
Definition occtl_topo_build.h:209
@ OCCTL_TOPO_WIRE_OFFSET_2D_JOIN_ARC
Definition occtl_topo_build.h:194
enum occtl_offset_join_type occtl_offset_join_type_t
enum occtl_topo_wire_offset_2d_join occtl_topo_wire_offset_2d_join_t
#define OCCTL_NODE_ID_INVALID
Definition occtl_topo_types.h:138
struct occtl_graph occtl_graph_t
Definition occtl_topo_types.h:152
NodeId make_full_round_2d(Graph &theGraph, const NodeId &theFace, const NodeId &theEdge, const FullRound2dOptions &theOptions={})
Replaces a selected planar Face edge with a full-round arc.
Definition prim.hpp:1085
NodeId make_face_from_boundary_curves(Graph &theGraph, const FaceFromBoundaryCurvesOptions &theOptions)
Builds a Face directly from boundary-curve surface filling.
Definition prim.hpp:108
inline ::occtl_axis2_placement_t default_ax2() noexcept
Default axis2 placement: origin + Z (main) + X. Matches OCCT's gp::XOY().
Definition prim.hpp:62
NodeId make_convex_hull_2d(Graph &theGraph, const std::vector< occtl_point3_t > &thePoints, const std::vector< NodeId > &theVertices={}, const ConvexHull2dOptions &theOptions={})
Builds a convex-hull Wire or planar Face from points and Vertex nodes.
Definition prim.hpp:555
NodeId make_constrained_curve_edge(Graph &theGraph, const Curve2d &theCurve, const ConstrainedCurveEdgeOptions &theOptions={})
Places a 2D curve on a sketch plane and inserts the resulting Edge.
Definition prim.hpp:617
NodeId make_pipe_shell(Graph &theGraph, const NodeId &theSpineWire, const std::vector< NodeId > &theProfiles, const PipeShellOptions &theOptions={})
Rich pipe-shell sweep with explicit mode / transition / contact control.
Definition prim.hpp:646
NodeId make_revol(Graph &theGraph, const NodeId &theProfile, const ::occtl_axis1_placement_t &theAxis, const double theAngle=6.283185307179586, const bool theCopy=false)
Builds a revolution of theProfile around theAxis by theAngle radians.
Definition prim.hpp:306
NodeId make_arc_center(Graph &theGraph, const double theRadius, const double theStartAngle, const double theEndAngle, const ::occtl_axis2_placement_t &thePlacement=detail::default_ax2())
Builds a circular-arc Wire from a center frame, radius, and angle range.
Definition prim.hpp:458
NodeId make_regular_polygon(Graph &theGraph, const int theSides, const double theCircumradius, const ::occtl_axis2_placement_t &thePlacement=detail::default_ax2(), const double theRotation=0.0)
Builds a regular-polygon Wire inscribed in a circle.
Definition prim.hpp:377
NodeId make_tube(Graph &theGraph, const double theOuterRadius, const double theInnerRadius, const double theHeight, const ::occtl_axis2_placement_t &thePlacement=detail::default_ax2())
Builds a hollow-cylinder (tube) Solid.
Definition prim.hpp:1016
::occtl_prim_brake_side_t BrakeSide
Brake-forming offset side.
Definition prim.hpp:54
NodeId make_fillet_2d(Graph &theGraph, const NodeId &theFace, const double theRadius, const std::vector< NodeId > &theVertices={})
Rounds every corner of a planar Face to a uniform radius.
Definition prim.hpp:1054
NodeId make_planar_face(Graph &theGraph, const NodeId &theOuter, const std::vector< NodeId > &theInners={})
Builds a planar Face from a closed outer Wire and optional inner Wires (holes).
Definition prim.hpp:525
NodeId make_face_from_point_grid(Graph &theGraph, const FaceFromPointGridOptions &theOptions)
Builds a Face directly from a point-grid B-spline surface.
Definition prim.hpp:100
NodeId make_extrude_tapered(Graph &theGraph, const NodeId &theProfileFace, const double theHeight, const double theTaperAngle)
Builds a tapered extrusion solid from one Face profile.
Definition prim.hpp:835
NodeId make_slot(Graph &theGraph, const double theLength, const double theWidth, const ::occtl_axis2_placement_t &thePlacement=detail::default_ax2())
Builds a closed slot (stadium) Wire.
Definition prim.hpp:1000
NodeId make_thick_solid(Graph &theGraph, const NodeId &theSolid, const std::vector< NodeId > &theClosingFaces, const double theOffset, const OffsetOptions &theOptions={})
Hollows theSolid into a thick-walled solid (the "shell" CAD op). theClosingFaces are dropped to leave...
Definition prim.hpp:788
NodeId make_loft(Graph &theGraph, const std::vector< NodeId > &theSections, const bool theIsSolid=false, const bool theRuled=false, const double thePres3d=1.0e-6)
Lofts a sequence of Wire / Vertex sections into a shell or solid.
Definition prim.hpp:336
NodeId make_prism(Graph &theGraph, const NodeId &theProfile, const ::occtl_vector3_t &theDirection, const bool theCopy=false, const bool theCanonize=true)
Builds a linear extrusion of theProfile by theDirection.
Definition prim.hpp:233
NodeId make_pipe(Graph &theGraph, const NodeId &theProfile, const NodeId &theSpineWire)
Sweeps theProfile along theSpineWire.
Definition prim.hpp:324
NodeId make_sphere(Graph &theGraph, const double theRadius, const ::occtl_axis2_placement_t &thePlacement=detail::default_ax2())
Builds a Sphere and returns its Solid NodeId. Throws on failure.
Definition prim.hpp:135
NodeId make_box(Graph &theGraph, const double theDx, const double theDy, const double theDz, const ::occtl_axis2_placement_t &thePlacement=detail::default_ax2())
Builds a Box and returns its Solid NodeId. Throws on failure.
Definition prim.hpp:74
NodeId make_torus(Graph &theGraph, const double theMajor, const double theMinor, const ::occtl_axis2_placement_t &thePlacement=detail::default_ax2())
Builds a Torus and returns its Solid NodeId. Throws on failure.
Definition prim.hpp:183
std::pair< Graph, NodeId > make_brake_formed(const Graph &theGraph, const BrakeFormedOptions &theOptions)
Builds a sheet-metal brake-formed solid from a planar bend line.
Definition prim.hpp:125
NodeId make_cylinder(Graph &theGraph, const double theRadius, const double theHeight, const ::occtl_axis2_placement_t &thePlacement=detail::default_ax2())
Builds a Cylinder and returns its Solid NodeId. Throws on failure.
Definition prim.hpp:149
NodeId make_plane(Graph &theGraph, const double theWidth, const double theHeight, const ::occtl_axis2_placement_t &thePlacement=detail::default_ax2())
Builds a rectangular planar Face.
Definition prim.hpp:495
NodeId make_disk(Graph &theGraph, const double theRadius, const ::occtl_axis2_placement_t &thePlacement=detail::default_ax2())
Builds a circular planar Face.
Definition prim.hpp:511
NodeId make_ellipse(Graph &theGraph, const double theMajor, const double theMinor, const ::occtl_axis2_placement_t &thePlacement=detail::default_ax2())
Builds a closed elliptical Wire.
Definition prim.hpp:426
NodeId make_cone(Graph &theGraph, const double theR1, const double theR2, const double theHeight, const ::occtl_axis2_placement_t &thePlacement=detail::default_ax2())
Builds a Cone and returns its Solid NodeId. Throws on failure.
Definition prim.hpp:165
NodeId make_cylindrical_hole(Graph &theGraph, const NodeId &theBaseShape, const ::occtl_axis1_placement_t &theAxis, const double theRadius, const CylindricalHoleOptions &theOptions={})
Cuts a cylindrical hole feature into theBaseShape.
Definition prim.hpp:978
NodeId make_draft_prism(Graph &theGraph, const NodeId &theProfile, const double theHeight, const double theTaperAngle)
Builds a tapered prism solid from one Face profile.
Definition prim.hpp:819
NodeId make_wedge(Graph &theGraph, const double theDx, const double theDy, const double theDz, const double theLtx, const ::occtl_axis2_placement_t &thePlacement=detail::default_ax2())
Builds a right-angular Wedge and returns its Solid NodeId. Throws on failure.
Definition prim.hpp:199
NodeId make_pipe_shell_linear_law(Graph &theGraph, const NodeId &theSpineWire, const NodeId &theProfile, const PipeShellLinearLawOptions &theOptions={})
Rich pipe-shell sweep with linear profile scaling along the spine.
Definition prim.hpp:690
NodeId make_feat_draft_prism(Graph &theGraph, const NodeId &theBaseShape, const NodeId &theProfileFace, const NodeId &theSketchFace, const double theTaperAngle, const FeatDraftPrismOptions &theOptions={})
Builds a draft-prism feature on an existing body.
Definition prim.hpp:944
NodeId make_offset_shape(Graph &theGraph, const NodeId &theShape, const double theOffset, const OffsetOptions &theOptions={})
Builds an offset of theShape (wire / face / shell / solid).
Definition prim.hpp:766
NodeId make_face_from_surface(Graph &theGraph, const FaceFromSurfaceOptions &theOptions)
Builds a Face from a surface handle and optional boundary wires.
Definition prim.hpp:92
NodeId make_halfspace(Graph &theGraph, const NodeId &theFace, const ::occtl_point3_t &theRefPoint)
Builds a HalfSpace bounded by theFace on the side of theRefPoint.
Definition prim.hpp:219
NodeId make_ruled_surface(Graph &theGraph, const NodeId &theSectionA, const NodeId &theSectionB)
Builds a ruled Face or Shell between two Edge or Wire sections.
Definition prim.hpp:851
NodeId make_circle(Graph &theGraph, const double theRadius, const ::occtl_axis2_placement_t &thePlacement=detail::default_ax2())
Builds a closed circular Wire.
Definition prim.hpp:412
NodeId make_rectangle(Graph &theGraph, const double theWidth, const double theHeight, const ::occtl_axis2_placement_t &thePlacement=detail::default_ax2())
Builds a closed rectangle Wire centred on thePlacement.
Definition prim.hpp:396
NodeId make_spline(Graph &theGraph, const std::vector<::occtl_point3_t > &thePoints, const int theDegreeMin=3, const int theDegreeMax=8, const double theTolerance=1.0e-3)
Builds a B-spline Wire approximating points.
Definition prim.hpp:476
NodeId make_trace(Graph &theGraph, const NodeId &thePath, const double theWidth, const TraceOptions &theOptions={})
Builds a constant-width planar Face around an Edge or open Wire path.
Definition prim.hpp:590
NodeId make_twist_extrusion(Graph &theGraph, const NodeId &theProfileWire, const ::occtl_axis1_placement_t &theAxis, const double theHeight, const double theAngle, const TwistExtrusionOptions &theOptions={})
Builds a twisted extrusion of a closed Wire profile.
Definition prim.hpp:260
NodeId make_pipe_shell_interpolated_law(Graph &theGraph, const NodeId &theSpineWire, const NodeId &theProfile, const PipeShellInterpolatedLawOptions &theOptions)
Rich pipe-shell sweep with interpolated profile scaling along the spine.
Definition prim.hpp:728
NodeId make_extrude_until(Graph &theGraph, const NodeId &theBaseShape, const NodeId &theProfile, const NodeId &theSketchFace, const NodeId &theTargetShape, const ::occtl_direction3_t &theDirection, const ExtrudeUntilOptions &theOptions={})
Builds a feature extrusion from a profile until a target shape.
Definition prim.hpp:909
NodeId make_arc_3pt(Graph &theGraph, const ::occtl_point3_t &theStart, const ::occtl_point3_t &theVia, const ::occtl_point3_t &theEnd)
Builds a circular-arc Wire through three points.
Definition prim.hpp:442
NodeId make_extrude_twist(Graph &theGraph, const NodeId &theProfileWire, const ::occtl_axis1_placement_t &theAxis, const double theHeight, const double theAngle, const TwistExtrusionOptions &theOptions={})
Builds a twisted extrusion of a closed Wire profile.
Definition prim.hpp:283
NodeId make_face_from_curve_grid(Graph &theGraph, const FaceFromCurveGridOptions &theOptions)
Builds a Face directly from a curve-grid Gordon surface.
Definition prim.hpp:117
NodeId make_polyline(Graph &theGraph, const std::vector<::occtl_point3_t > &thePoints, const bool theClosed=false)
Builds an open or closed polyline Wire from thePoints.
Definition prim.hpp:362
NodeId make_helix(Graph &theGraph, const double theRadius, const double thePitch, const double theHeight, const ::occtl_axis2_placement_t &thePlacement=detail::default_ax2(), const bool theLeftHanded=false)
Builds a helical Wire.
Definition prim.hpp:1034
NodeId make_feat_prism(Graph &theGraph, const NodeId &theBaseShape, const NodeId &theProfile, const NodeId &theSketchFace, const ::occtl_direction3_t &theDirection, const FeatPrismOptions &theOptions={})
Builds a feature prism — extrude a profile on an existing body until a target / length / through all.
Definition prim.hpp:876
Options for make_constrained_curve_edge.
Definition prim.hpp:609
Options for make_convex_hull_2d.
Definition prim.hpp:548
Options for make_cylindrical_hole.
Definition prim.hpp:969
Options for make_extrude_until.
Definition prim.hpp:901
Options for make_feat_draft_prism.
Definition prim.hpp:935
Options for make_feat_prism.
Definition prim.hpp:866
Options for make_full_round_2d.
Definition prim.hpp:1079
Options for make_offset_shape and make_thick_solid.
Definition prim.hpp:756
Options for make_pipe_shell_interpolated_law.
Definition prim.hpp:715
Options for make_pipe_shell_linear_law.
Definition prim.hpp:677
Options for make_pipe_shell. Mirrors the C info struct in a more idiomatic form.
Definition prim.hpp:635
Options for make_trace.
Definition prim.hpp:583
Options for make_twist_extrusion.
Definition prim.hpp:252
Definition occtl_geom.h:128
Definition occtl_geom.h:98
Definition occtl_topo_types.h:50
Definition occtl_prim_sketch.h:660
occtl_point3_t via
Definition occtl_prim_sketch.h:664
occtl_point3_t start
Definition occtl_prim_sketch.h:663
occtl_point3_t end
Definition occtl_prim_sketch.h:665
Definition occtl_prim_sketch.h:720
double radius
Definition occtl_prim_sketch.h:724
double end_angle
Definition occtl_prim_sketch.h:726
double start_angle
Definition occtl_prim_sketch.h:725
occtl_axis2_placement_t placement
Definition occtl_prim_sketch.h:723
Definition occtl_prim_solid.h:48
double dz
Definition occtl_prim_solid.h:54
occtl_axis2_placement_t placement
Definition occtl_prim_solid.h:51
double dx
Definition occtl_prim_solid.h:52
double dy
Definition occtl_prim_solid.h:53
Definition occtl_prim_sketch.h:234
double radius
Definition occtl_prim_sketch.h:238
occtl_axis2_placement_t placement
Definition occtl_prim_sketch.h:237
Definition occtl_prim_solid.h:251
double height
Definition occtl_prim_solid.h:257
double r2
Definition occtl_prim_solid.h:256
occtl_axis2_placement_t placement
Definition occtl_prim_solid.h:254
double r1
Definition occtl_prim_solid.h:255
Definition occtl_prim_sketch.h:581
occtl_axis2_placement_t placement
Definition occtl_prim_sketch.h:585
occtl_rep_id_t curve
Definition occtl_prim_sketch.h:584
double last_parameter
Definition occtl_prim_sketch.h:588
double first_parameter
Definition occtl_prim_sketch.h:587
int32_t use_parameter_range
Definition occtl_prim_sketch.h:586
Definition occtl_prim_sketch.h:423
occtl_axis2_placement_t placement
Definition occtl_prim_sketch.h:426
size_t point_count
Definition occtl_prim_sketch.h:428
const occtl_node_id_t * vertices
Definition occtl_prim_sketch.h:429
double tolerance
Definition occtl_prim_sketch.h:431
const occtl_point3_t * points
Definition occtl_prim_sketch.h:427
size_t vertex_count
Definition occtl_prim_sketch.h:430
int32_t make_face
Definition occtl_prim_sketch.h:432
Definition occtl_prim_solid.h:184
occtl_axis2_placement_t placement
Definition occtl_prim_solid.h:187
double height
Definition occtl_prim_solid.h:189
double radius
Definition occtl_prim_solid.h:188
Definition occtl_prim_feature.h:921
double p_to
Definition occtl_prim_feature.h:929
occtl_prim_cylindrical_hole_kind_t kind
Definition occtl_prim_feature.h:927
int32_t with_control
Definition occtl_prim_feature.h:931
occtl_node_id_t base_shape
Definition occtl_prim_feature.h:924
occtl_axis1_placement_t axis
Definition occtl_prim_feature.h:925
double length
Definition occtl_prim_feature.h:930
double radius
Definition occtl_prim_feature.h:926
double p_from
Definition occtl_prim_feature.h:928
Definition occtl_prim_sketch.h:912
occtl_axis2_placement_t placement
Definition occtl_prim_sketch.h:915
double radius
Definition occtl_prim_sketch.h:916
Definition occtl_prim_feature.h:423
occtl_node_id_t profile
Definition occtl_prim_feature.h:426
double taper_angle
Definition occtl_prim_feature.h:428
double height
Definition occtl_prim_feature.h:427
Definition occtl_prim_sketch.h:292
double minor
Definition occtl_prim_sketch.h:297
occtl_axis2_placement_t placement
Definition occtl_prim_sketch.h:295
double major
Definition occtl_prim_sketch.h:296
Definition occtl_prim_feature.h:488
double taper_angle
Definition occtl_prim_feature.h:493
double height
Definition occtl_prim_feature.h:492
occtl_node_id_t profile_face
Definition occtl_prim_feature.h:491
Definition occtl_prim_sweep.h:195
double height
Definition occtl_prim_sweep.h:200
int32_t ruled
Definition occtl_prim_sweep.h:204
occtl_axis1_placement_t axis
Definition occtl_prim_sweep.h:199
double pres3d
Definition occtl_prim_sweep.h:205
int32_t section_count
Definition occtl_prim_sweep.h:202
double angle
Definition occtl_prim_sweep.h:201
int32_t make_solid
Definition occtl_prim_sweep.h:203
occtl_node_id_t profile_wire
Definition occtl_prim_sweep.h:198
Definition occtl_prim_feature.h:738
int32_t modify
Definition occtl_prim_feature.h:748
occtl_direction3_t direction
Definition occtl_prim_feature.h:745
occtl_node_id_t target_shape
Definition occtl_prim_feature.h:744
occtl_node_id_t sketch_face
Definition occtl_prim_feature.h:743
occtl_prim_extrude_until_side_t side
Definition occtl_prim_feature.h:746
double limit
Definition occtl_prim_feature.h:749
occtl_prim_feat_combine_t combine
Definition occtl_prim_feature.h:747
occtl_node_id_t base_shape
Definition occtl_prim_feature.h:741
occtl_node_id_t profile
Definition occtl_prim_feature.h:742
Definition occtl_prim_feature.h:191
Definition occtl_prim_feature.h:260
Definition occtl_prim_feature.h:122
Definition occtl_prim_feature.h:46
Definition occtl_prim_feature.h:818
occtl_node_id_t profile_face
Definition occtl_prim_feature.h:822
double length
Definition occtl_prim_feature.h:829
occtl_node_id_t base_shape
Definition occtl_prim_feature.h:821
int32_t modify
Definition occtl_prim_feature.h:826
occtl_prim_feat_combine_t combine
Definition occtl_prim_feature.h:825
occtl_prim_until_kind_t until_kind
Definition occtl_prim_feature.h:827
double taper_angle
Definition occtl_prim_feature.h:824
occtl_node_id_t sketch_face
Definition occtl_prim_feature.h:823
occtl_node_id_t until_shape
Definition occtl_prim_feature.h:828
Definition occtl_prim_feature.h:646
occtl_node_id_t base_shape
Definition occtl_prim_feature.h:649
occtl_direction3_t direction
Definition occtl_prim_feature.h:652
occtl_prim_until_kind_t until_kind
Definition occtl_prim_feature.h:655
occtl_node_id_t until_shape
Definition occtl_prim_feature.h:656
double length
Definition occtl_prim_feature.h:657
occtl_node_id_t sketch_face
Definition occtl_prim_feature.h:651
occtl_prim_feat_combine_t combine
Definition occtl_prim_feature.h:653
occtl_node_id_t profile
Definition occtl_prim_feature.h:650
int32_t modify
Definition occtl_prim_feature.h:654
Definition occtl_prim_sketch.h:1172
occtl_node_id_t face
Definition occtl_prim_sketch.h:1175
const occtl_node_id_t * vertices
Definition occtl_prim_sketch.h:1177
double radius
Definition occtl_prim_sketch.h:1179
size_t vertex_count
Definition occtl_prim_sketch.h:1178
Definition occtl_prim_sketch.h:1241
uint32_t search_steps
Definition occtl_prim_sketch.h:1247
occtl_node_id_t face
Definition occtl_prim_sketch.h:1244
occtl_node_id_t edge
Definition occtl_prim_sketch.h:1245
double radius
Definition occtl_prim_sketch.h:1246
Definition occtl_prim_solid.h:459
occtl_node_id_t face
Definition occtl_prim_solid.h:462
occtl_point3_t reference_point
Definition occtl_prim_solid.h:463
Definition occtl_prim_sketch.h:1105
int32_t left_handed
Definition occtl_prim_sketch.h:1112
double height
Definition occtl_prim_sketch.h:1111
occtl_axis2_placement_t placement
Definition occtl_prim_sketch.h:1108
double pitch
Definition occtl_prim_sketch.h:1110
double radius
Definition occtl_prim_sketch.h:1109
Definition occtl_prim_sweep.h:405
size_t section_count
Definition occtl_prim_sweep.h:409
int32_t is_solid
Definition occtl_prim_sweep.h:410
double pres3d
Definition occtl_prim_sweep.h:412
int32_t ruled
Definition occtl_prim_sweep.h:411
const occtl_node_id_t * sections
Definition occtl_prim_sweep.h:408
Definition occtl_prim_sweep.h:790
int32_t self_intersection
Definition occtl_prim_sweep.h:800
occtl_offset_join_type_t join
Definition occtl_prim_sweep.h:797
int32_t intersection
Definition occtl_prim_sweep.h:799
occtl_node_id_t shape
Definition occtl_prim_sweep.h:793
int32_t remove_internal_edges
Definition occtl_prim_sweep.h:802
double offset
Definition occtl_prim_sweep.h:794
double tolerance
Definition occtl_prim_sweep.h:795
occtl_prim_offset_mode_t mode
Definition occtl_prim_sweep.h:796
Definition occtl_prim_sweep.h:341
occtl_node_id_t profile
Definition occtl_prim_sweep.h:344
occtl_node_id_t spine_wire
Definition occtl_prim_sweep.h:345
Definition occtl_prim_sweep.h:497
int32_t with_contact
Definition occtl_prim_sweep.h:507
occtl_prim_pipe_mode_t mode
Definition occtl_prim_sweep.h:503
size_t profile_count
Definition occtl_prim_sweep.h:502
occtl_axis2_placement_t mode_axis
Definition occtl_prim_sweep.h:504
int32_t with_correction
Definition occtl_prim_sweep.h:508
int32_t make_solid
Definition occtl_prim_sweep.h:509
occtl_prim_pipe_transition_t transition
Definition occtl_prim_sweep.h:506
occtl_direction3_t mode_binormal
Definition occtl_prim_sweep.h:505
occtl_node_id_t spine_wire
Definition occtl_prim_sweep.h:500
const occtl_node_id_t * profiles
Definition occtl_prim_sweep.h:501
Definition occtl_prim_sweep.h:682
int32_t make_solid
Definition occtl_prim_sweep.h:697
occtl_node_id_t spine_wire
Definition occtl_prim_sweep.h:685
const double * parameters
Definition occtl_prim_sweep.h:688
int32_t with_contact
Definition occtl_prim_sweep.h:695
occtl_prim_pipe_mode_t mode
Definition occtl_prim_sweep.h:691
const double * scales
Definition occtl_prim_sweep.h:689
size_t sample_count
Definition occtl_prim_sweep.h:690
occtl_axis2_placement_t mode_axis
Definition occtl_prim_sweep.h:692
occtl_direction3_t mode_binormal
Definition occtl_prim_sweep.h:693
occtl_node_id_t profile
Definition occtl_prim_sweep.h:686
int32_t with_correction
Definition occtl_prim_sweep.h:696
occtl_prim_pipe_transition_t transition
Definition occtl_prim_sweep.h:694
Definition occtl_prim_sweep.h:585
double scale_last
Definition occtl_prim_sweep.h:591
occtl_node_id_t spine_wire
Definition occtl_prim_sweep.h:588
occtl_node_id_t profile
Definition occtl_prim_sweep.h:589
double scale_first
Definition occtl_prim_sweep.h:590
int32_t make_solid
Definition occtl_prim_sweep.h:598
int32_t with_contact
Definition occtl_prim_sweep.h:596
occtl_prim_pipe_transition_t transition
Definition occtl_prim_sweep.h:595
occtl_axis2_placement_t mode_axis
Definition occtl_prim_sweep.h:593
occtl_direction3_t mode_binormal
Definition occtl_prim_sweep.h:594
int32_t with_correction
Definition occtl_prim_sweep.h:597
occtl_prim_pipe_mode_t mode
Definition occtl_prim_sweep.h:592
Definition occtl_prim_sketch.h:356
occtl_node_id_t outer_wire
Definition occtl_prim_sketch.h:359
size_t inner_wire_count
Definition occtl_prim_sketch.h:362
const occtl_node_id_t * inner_wires
Definition occtl_prim_sketch.h:361
Definition occtl_prim_sketch.h:850
double width
Definition occtl_prim_sketch.h:854
double height
Definition occtl_prim_sketch.h:855
occtl_axis2_placement_t placement
Definition occtl_prim_sketch.h:853
Definition occtl_prim_sketch.h:44
size_t point_count
Definition occtl_prim_sketch.h:48
const occtl_point3_t * points
Definition occtl_prim_sketch.h:47
int32_t closed
Definition occtl_prim_sketch.h:49
Definition occtl_prim_sweep.h:46
occtl_node_id_t profile
Definition occtl_prim_sweep.h:49
occtl_vector3_t direction
Definition occtl_prim_sweep.h:50
int32_t canonize
Definition occtl_prim_sweep.h:52
int32_t copy
Definition occtl_prim_sweep.h:51
Definition occtl_prim_sketch.h:171
double width
Definition occtl_prim_sketch.h:175
double height
Definition occtl_prim_sketch.h:176
occtl_axis2_placement_t placement
Definition occtl_prim_sketch.h:174
Definition occtl_prim_sketch.h:106
int32_t sides
Definition occtl_prim_sketch.h:111
double circumradius
Definition occtl_prim_sketch.h:110
double rotation
Definition occtl_prim_sketch.h:112
occtl_axis2_placement_t placement
Definition occtl_prim_sketch.h:109
Definition occtl_prim_sweep.h:273
double angle
Definition occtl_prim_sweep.h:278
occtl_axis1_placement_t axis
Definition occtl_prim_sweep.h:277
occtl_node_id_t profile
Definition occtl_prim_sweep.h:276
int32_t copy
Definition occtl_prim_sweep.h:279
Definition occtl_prim_feature.h:552
occtl_node_id_t section_a
Definition occtl_prim_feature.h:555
occtl_node_id_t section_b
Definition occtl_prim_feature.h:556
Definition occtl_prim_sketch.h:973
double length
Definition occtl_prim_sketch.h:977
occtl_axis2_placement_t placement
Definition occtl_prim_sketch.h:976
double width
Definition occtl_prim_sketch.h:978
Definition occtl_prim_solid.h:118
double radius
Definition occtl_prim_solid.h:122
occtl_axis2_placement_t placement
Definition occtl_prim_solid.h:121
Definition occtl_prim_sketch.h:785
double tolerance
Definition occtl_prim_sketch.h:792
int32_t degree_max
Definition occtl_prim_sketch.h:791
int32_t degree_min
Definition occtl_prim_sketch.h:790
size_t point_count
Definition occtl_prim_sketch.h:789
const occtl_point3_t * points
Definition occtl_prim_sketch.h:788
Definition occtl_prim_sweep.h:867
occtl_node_id_t solid
Definition occtl_prim_sweep.h:870
double offset
Definition occtl_prim_sweep.h:874
int32_t intersection
Definition occtl_prim_sweep.h:878
occtl_prim_offset_mode_t mode
Definition occtl_prim_sweep.h:876
int32_t self_intersection
Definition occtl_prim_sweep.h:879
int32_t remove_internal_edges
Definition occtl_prim_sweep.h:880
size_t closing_face_count
Definition occtl_prim_sweep.h:873
const occtl_node_id_t * closing_faces
Definition occtl_prim_sweep.h:872
double tolerance
Definition occtl_prim_sweep.h:875
occtl_offset_join_type_t join
Definition occtl_prim_sweep.h:877
Definition occtl_prim_solid.h:320
double r1
Definition occtl_prim_solid.h:324
double r2
Definition occtl_prim_solid.h:325
occtl_axis2_placement_t placement
Definition occtl_prim_solid.h:323
Definition occtl_prim_sketch.h:506
int32_t approximate
Definition occtl_prim_sketch.h:513
occtl_node_id_t path
Definition occtl_prim_sketch.h:509
occtl_topo_wire_offset_2d_join_t join
Definition occtl_prim_sketch.h:512
occtl_direction3_t normal
Definition occtl_prim_sketch.h:511
double width
Definition occtl_prim_sketch.h:510
Definition occtl_prim_sketch.h:1038
double inner_radius
Definition occtl_prim_sketch.h:1043
double outer_radius
Definition occtl_prim_sketch.h:1042
occtl_axis2_placement_t placement
Definition occtl_prim_sketch.h:1041
double height
Definition occtl_prim_sketch.h:1044
Definition occtl_prim_sweep.h:113
int32_t ruled
Definition occtl_prim_sweep.h:122
double pres3d
Definition occtl_prim_sweep.h:123
int32_t make_solid
Definition occtl_prim_sweep.h:121
occtl_node_id_t profile_wire
Definition occtl_prim_sweep.h:116
double height
Definition occtl_prim_sweep.h:118
occtl_axis1_placement_t axis
Definition occtl_prim_sweep.h:117
int32_t section_count
Definition occtl_prim_sweep.h:120
double angle
Definition occtl_prim_sweep.h:119
Definition occtl_prim_solid.h:390
double dy
Definition occtl_prim_solid.h:395
double ltx
Definition occtl_prim_solid.h:397
double dz
Definition occtl_prim_solid.h:396
double dx
Definition occtl_prim_solid.h:394
occtl_axis2_placement_t placement
Definition occtl_prim_solid.h:393
C++ veneer for the topo module.