|
|
| Graph () |
| | Creates an empty graph.
|
| |
|
| Graph (::occtl_graph_t *const thePtr) noexcept |
| | Wraps an existing handle (takes ownership).
|
| |
|
| ~Graph () |
| | Releases the underlying graph.
|
| |
|
| Graph (Graph &&theOther) noexcept |
| | Move-constructs, leaving theOther empty.
|
| |
|
Graph & | operator= (Graph &&theOther) noexcept |
| | Move-assigns, releasing any previously-owned graph.
|
| |
|
| Graph (const Graph &)=delete |
| |
|
Graph & | operator= (const Graph &)=delete |
| |
|
::occtl_graph_t * | get () const noexcept |
| | Borrows-it pointer to the underlying C handle, for direct ABI calls.
|
| |
| ::occtl_node_kind_t | node_id_kind (const NodeId theId) const |
| | Returns the kind of a node ID.
|
| |
| ::occtl_node_kind_t | uid_kind (const UID theUid) const |
| | Returns the kind embedded in a UID.
|
| |
| ::occtl_ref_kind_t | ref_id_kind (const RefId theId) const |
| | Returns the kind of a ref ID.
|
| |
| ::occtl_ref_kind_t | ref_uid_kind (const RefUID theUid) const |
| | Returns the kind embedded in a RefUID.
|
| |
| ::occtl_rep_kind_t | rep_id_kind (const RepId theId) const |
| | Returns the kind of a rep ID.
|
| |
| NodeId | node_id_from_uid (const UID theUid) const |
| | Resolves a persistent UID to its current NodeId.
|
| |
| UID | uid_from_node_id (const NodeId theId) const |
| | Returns the persistent UID for a NodeId.
|
| |
|
std::vector< UID > | history_modified (const UID theInputUid) const |
| | Returns graph-owned Modified history images for an input UID.
|
| |
|
std::vector< UID > | history_generated (const UID theInputUid) const |
| | Returns graph-owned Generated history images for an input UID.
|
| |
|
std::vector< UID > | history_deleted_all () const |
| | Returns all graph-owned deleted history input UIDs.
|
| |
| RefId | ref_id_from_ref_uid (const RefUID theUid) const |
| | Resolves a persistent RefUID to its current RefId.
|
| |
| RefUID | ref_uid_from_ref_id (const RefId theId) const |
| | Returns the persistent RefUID for a RefId.
|
| |
| RepId | rep_id_from_rep_uid (const RepUID theUid) const |
| | Resolves a persistent RepUID to its current RepId.
|
| |
| RepUID | rep_uid_from_rep_id (const RepId theId) const |
| | Returns the persistent RepUID for a RepId.
|
| |
| std::vector< std::pair< RefUID, RefId > > | ref_uid_table () const |
| | Returns active RefUID to RefId pairs for all references in the graph.
|
| |
|
size_t | solid_count () const |
| | Active solid count.
|
| |
|
size_t | shell_count () const |
| | Active shell count.
|
| |
|
size_t | face_count () const |
| | Active face count.
|
| |
|
size_t | wire_count () const |
| | Active wire count.
|
| |
|
size_t | edge_count () const |
| | Active edge count.
|
| |
|
size_t | vertex_count () const |
| | Active vertex count.
|
| |
|
size_t | compound_count () const |
| | Active compound count.
|
| |
|
size_t | compsolid_count () const |
| | Active compsolid count.
|
| |
|
size_t | coedge_count () const |
| | Active coedge count.
|
| |
|
size_t | product_count () const |
| | Active product count.
|
| |
|
size_t | occurrence_count () const |
| | Active occurrence count.
|
| |
|
size_t | node_count () const |
| | Total active node count across all kinds.
|
| |
| std::vector<::occtl_topo_check_issue_t > | check_issues () const |
| | Runs graph validation and returns all reported issues.
|
| |
| bool | is_valid () const |
| | Returns true when graph validation reports no issues.
|
| |
| Point3 | vertex_point (const NodeId theVertex) const |
| | Returns the 3D point of a vertex.
|
| |
| double | vertex_tolerance (const NodeId theVertex) const |
| | Returns the tolerance of a vertex.
|
| |
| std::pair< double, double > | edge_range (const NodeId theEdge) const |
| | Returns the parametric range of an edge's 3D curve.
|
| |
| double | edge_tolerance (const NodeId theEdge) const |
| | Returns the tolerance of an edge.
|
| |
| bool | edge_is_degenerated (const NodeId theEdge) const |
| | Returns whether an edge is degenerated.
|
| |
| bool | edge_has_curve (const NodeId theEdge) const |
| | Returns whether an edge has a 3D curve.
|
| |
| CurveKind | edge_curve_kind (const NodeId theEdge) const |
| | Returns the 3D curve kind carried by an edge.
|
| |
| NodeId | edge_start_vertex (const NodeId theEdge) const |
| | Returns the start vertex of an edge.
|
| |
| NodeId | edge_end_vertex (const NodeId theEdge) const |
| | Returns the end vertex of an edge.
|
| |
| bool | coedge_is_seam (const NodeId theCoedge) const |
| | Returns whether a coedge is a seam (closed-surface) edge.
|
| |
| NodeId | coedge_edge_of (const NodeId theCoedge) const |
| | Returns the parent edge of a coedge.
|
| |
| NodeId | coedge_face_of (const NodeId theCoedge) const |
| | Returns the parent face of a coedge.
|
| |
| double | face_tolerance (const NodeId theFace) const |
| | Returns the tolerance of a face.
|
| |
| NodeId | face_outer_wire (const NodeId theFace) const |
| | Returns the outer wire of a face.
|
| |
| void | face_uv_bounds (const NodeId theFace, double &theUMin, double &theUMax, double &theVMin, double &theVMax) const |
| | Returns the UV parameter bounds of a face.
|
| |
| bool | face_has_surface (const NodeId theFace) const |
| | Returns whether a face has a surface.
|
| |
| SurfaceKind | face_surface_kind (const NodeId theFace) const |
| | Returns the surface kind carried by a face.
|
| |
| bool | wire_is_closed (const NodeId theWire) const |
| | Returns whether a wire is topologically closed.
|
| |
| bool | shell_is_closed (const NodeId theShell) const |
| | Returns whether a shell is topologically closed (watertight).
|
| |
| double | vertex_parameter (const NodeId theVertex, const NodeId theEdge) const |
| | Returns the parameter of a vertex on an edge.
|
| |
| Point2 | vertex_parameters (const NodeId theVertex, const NodeId theFace) const |
| | Returns the UV parameters of a vertex on a face.
|
| |
| bool | edge_same_parameter (const NodeId theEdge) const |
| | Returns whether an edge has the same parameterisation on every face it bounds.
|
| |
| bool | edge_same_range (const NodeId theEdge) const |
| | Returns whether an edge has the same range in 3D and on its pcurves.
|
| |
| bool | edge_is_manifold (const NodeId theEdge) const |
| | Returns whether an edge is manifold.
|
| |
| bool | edge_is_boundary (const NodeId theEdge) const |
| | Returns whether an edge is a boundary edge.
|
| |
| bool | edge_is_seam_on_face (const NodeId theEdge, const NodeId theFace) const |
| | Returns whether an edge is a seam edge on a given face.
|
| |
| bool | coedge_is_reversed (const NodeId theCoedge) const |
| | Returns whether a coedge is reversed.
|
| |
| bool | coedge_has_pcurve (const NodeId theCoedge) const |
| | Returns whether a coedge has a pcurve.
|
| |
| double | coedge_pcurve_parameter (const NodeId theCoedge, const NodeId theVertex) const |
| | Returns the parameter of a vertex on the pcurve carried by a coedge.
|
| |
| std::pair< double, double > | coedge_range (const NodeId theCoedge) const |
| | Returns the parametric range of a coedge.
|
| |
| void | coedge_uv_points (const NodeId theCoedge, ::occtl_point2_t &theUVStart, ::occtl_point2_t &theUVEnd) const |
| | Returns the UV points at the start and end of a coedge.
|
| |
| NodeId | coedge_seam_pair (const NodeId theCoedge) const |
| | Returns the paired coedge for a seam edge, or an invalid NodeId for non-seam coedges.
|
| |
| bool | face_natural_restriction (const NodeId theFace) const |
| | Returns whether a face has natural restriction.
|
| |
| bool | face_has_triangulation (const NodeId theFace) const |
| | Returns whether a face has a triangulation.
|
| |
| NodeId | wire_face_of (const NodeId theWire) const |
| | Returns the face a wire belongs to.
|
| |
| bool | wire_is_outer (const NodeId theWire) const |
| | Returns whether a wire is the outer wire of its parent face.
|
| |
| Point2 | coedge_pcurve_eval (const NodeId theCoedge, const double theU) const |
| | Evaluates the PCurve UV point on a coedge at parameter theU.
|
| |
| std::pair< Point2, Vector2 > | coedge_pcurve_eval_d1 (const NodeId theCoedge, const double theU) const |
| | Evaluates the PCurve UV point and first derivative on a coedge at parameter theU.
|
| |
| std::tuple< Point2, Vector2, Vector2 > | coedge_pcurve_eval_d2 (const NodeId theCoedge, const double theU) const |
| | Evaluates the PCurve UV point and first two derivatives on a coedge at parameter theU.
|
| |
| std::tuple< Point2, Vector2, Vector2, Vector2 > | coedge_pcurve_eval_d3 (const NodeId theCoedge, const double theU) const |
| | Evaluates the PCurve UV point and first three derivatives on a coedge at parameter theU.
|
| |
| Vector2 | coedge_pcurve_eval_dn (const NodeId theCoedge, const double theU, const uint32_t theN) const |
| | Evaluates the Nth derivative on a coedge pcurve at parameter theU.
|
| |
| Point3 | edge_eval (const NodeId theEdge, const double theU) const |
| | Evaluates the 3D point on an edge at parameter theU.
|
| |
| std::pair< Point3, Vector3 > | edge_eval_d1 (const NodeId theEdge, const double theU) const |
| | Evaluates the 3D point and first derivative on an edge at parameter theU.
|
| |
| std::tuple< Point3, Vector3, Vector3 > | edge_eval_d2 (const NodeId theEdge, const double theU) const |
| | Evaluates the first two derivatives on an edge at parameter theU.
|
| |
| std::tuple< Point3, Vector3, Vector3, Vector3 > | edge_eval_d3 (const NodeId theEdge, const double theU) const |
| | Evaluates the first three derivatives on an edge at parameter theU.
|
| |
| Vector3 | edge_eval_dn (const NodeId theEdge, const double theU, const uint32_t theN) const |
| | Evaluates the Nth derivative on an edge at parameter theU.
|
| |
| Point3 | face_eval (const NodeId theFace, const double theU, const double theV) const |
| | Evaluates the 3D point on a face at UV parameters (theU, theV).
|
| |
| std::tuple< Point3, Vector3, Vector3 > | face_eval_d1 (const NodeId theFace, const double theU, const double theV) const |
| | Evaluates the 3D point, D1U, and D1V on a face at UV parameters (theU, theV).
|
| |
| std::tuple< Point3, Vector3, Vector3, Vector3, Vector3, Vector3 > | face_eval_d2 (const NodeId theFace, const double theU, const double theV) const |
| | Evaluates the 3D point and first two partial derivatives on a face.
|
| |
| std::tuple< Point3, Vector3, Vector3, Vector3, Vector3, Vector3, Vector3, Vector3, Vector3, Vector3 > | face_eval_d3 (const NodeId theFace, const double theU, const double theV) const |
| | Evaluates the 3D point and first three partial derivatives on a face.
|
| |
| Vector3 | face_eval_dn (const NodeId theFace, const double theU, const double theV, const uint32_t theNu, const uint32_t theNv) const |
| | Evaluates the (theNu, theNv) cross derivative on a face at UV parameters (theU, theV).
|
| |
| uint32_t | face_wire_count (const NodeId theFace) const |
| | Returns the number of wires on a face.
|
| |
| uint32_t | wire_coedge_count (const NodeId theWire) const |
| | Returns the number of coedges in a wire.
|
| |
| uint32_t | edge_face_count (const NodeId theEdge) const |
| | Returns the number of faces referencing an edge.
|
| |
| uint32_t | wire_distinct_edge_count (const NodeId theWire) const |
| | Returns the number of distinct edges in a wire.
|
| |
| uint32_t | vertex_edge_count (const NodeId theVertex) const |
| | Returns the number of edges that reference a vertex.
|
| |
| uint32_t | solid_shell_count (const NodeId theSolid) const |
| | Returns the number of shells in a solid.
|
| |
| uint32_t | shell_face_count (const NodeId theShell) const |
| | Returns the number of faces in a shell.
|
| |
| uint32_t | wire_edge_count (const NodeId theWire) const |
| | Returns the number of edges in a wire.
|
| |
| uint32_t | edge_vertex_count (const NodeId theEdge) const |
| | Returns the number of vertices on an edge.
|
| |
| uint32_t | product_occurrence_count (const NodeId theProduct) const |
| | Returns the number of occurrences of a product.
|
| |
| uint32_t | compound_child_count (const NodeId theCompound) const |
| | Returns the number of children in a compound.
|
| |
| uint32_t | compsolid_solid_count (const NodeId theCompSolid) const |
| | Returns the number of solids in a compsolid.
|
| |
| NodeIter | wire_explorer (const NodeId theWire) const |
| | Creates a wire explorer that visits coedges in geometric traversal order.
|
| |
| std::vector< OrientedNode > | wire_order_edges (const NodeId theWire) const |
| | Returns wire edges in endpoint-chaining order with coedge orientation.
|
| |
| ExplorerIter | child_explorer (const NodeId theRoot, const ::occtl_topo_child_explorer_config_t *const theConfig=nullptr) const |
| | Creates a child explorer for accumulated-location/orientation downward traversal.
|
| |
| ExplorerIter | parent_explorer (const NodeId theNode, const ::occtl_topo_parent_explorer_config_t *const theConfig=nullptr) const |
| | Creates a parent explorer for accumulated-location/orientation upward traversal.
|
| |
| RelatedIter | related (const NodeId theNode) const |
| | Creates a related-iterator over the semantic neighbours of theNode.
|
| |
| DistancePair | distance_pair (const NodeId theNodeA, const NodeId theNodeB) const |
| | Computes the closest-distance pair between two graph nodes.
|
| |
| TouchIter | touches (const NodeId theNodeA, const NodeId theNodeB, const RelationOptions *const theOptions=nullptr) const |
| | Returns contact solutions between two graph nodes.
|
| |
| IntersectionIter | intersections (const NodeId theNodeA, const NodeId theNodeB, const RelationOptions *const theOptions=nullptr) |
| | Inserts and returns generated intersection nodes for two graph nodes.
|
| |
| AxisHitIter | faces_intersected_by_axis (const NodeId theRoot, const Axis1Placement &theAxis, const double theMinParameter, const double theMaxParameter, const double theTolerance) const |
| | Returns ordered face intersections with an axis under a graph root.
|
| |
| bool | is_same_geometry (const NodeId theNodeA, const NodeId theNodeB, const double theTolerance) const |
| | Tests whether two edge or face nodes share geometric support.
|
| |
| std::vector< NodeId > | common_vertices (const NodeId theNodeA, const NodeId theNodeB) const |
| | Returns vertex nodes common to two graph roots.
|
| |
| std::vector< NodeId > | adjacent_edges (const NodeId theEdge) const |
| | Returns edges adjacent to theEdge through shared vertices.
|
| |
| std::vector< NodeId > | adjacent_faces (const NodeId theFace) const |
| | Returns faces adjacent to theFace through shared edges.
|
| |
| std::vector< NodeId > | connected_edges (const NodeId theSeedEdge) const |
| | Returns all edges connected to theSeedEdge through shared vertices.
|
| |
| std::vector< NodeId > | connected_faces (const NodeId theSeedFace) const |
| | Returns all faces connected to theSeedFace through shared edges.
|
| |
| int32_t | graph_distance (const NodeId theRoot, const std::vector< NodeId > &theSources, const NodeId theTarget) const |
| | Returns same-kind topological hop distance under theRoot, or -1 if disconnected.
|
| |
| int32_t | graph_distance (const NodeId theRoot, const NodeId theSource, const NodeId theTarget) const |
| | Returns same-kind topological hop distance from one source under theRoot.
|
| |
| PointClass | classify_point (const NodeId theSolid, const Point3 &thePoint, const double theTolerance) const |
| | Classifies a point relative to a solid node.
|
| |
| bool | is_inside (const NodeId theSolid, const Point3 &thePoint, const double theTolerance, const bool theIncludeBoundary=true) const |
| | Returns whether a point is inside a solid node.
|
| |
|
NodeIter | solids () const |
| | Range-for adapter over all active solids.
|
| |
|
NodeIter | shells () const |
| | Range-for adapter over all active shells.
|
| |
|
NodeIter | faces () const |
| | Range-for adapter over all active faces.
|
| |
|
NodeIter | wires () const |
| | Range-for adapter over all active wires.
|
| |
|
NodeIter | edges () const |
| | Range-for adapter over all active edges.
|
| |
|
NodeIter | vertices () const |
| | Range-for adapter over all active vertices.
|
| |
|
NodeIter | compounds () const |
| | Range-for adapter over all active compounds.
|
| |
|
NodeIter | compsolids () const |
| | Range-for adapter over all active compsolids.
|
| |
|
NodeIter | coedges () const |
| | Range-for adapter over all active coedges.
|
| |
|
NodeIter | products () const |
| | Range-for adapter over all active products.
|
| |
|
NodeIter | occurrences () const |
| | Range-for adapter over all active occurrences.
|
| |
|
NodeIter | root_products () const |
| | Range-for adapter over all root products.
|
| |
| SelectIter | select (const SelectOptions &theOptions) |
| | Selects graph nodes matching theOptions.
|
| |
| SelectIter | select_tagged (const SelectOptions &theOptions, const char *const theTag, const size_t theTagLen) |
| | Selects graph nodes matching theOptions and carrying theTag.
|
| |
| SelectGroupIter | select_groups (const SelectOptions &theSelectOptions, const SelectGroupOptions &theGroupOptions) |
| | Groups selected graph nodes matching theSelectOptions by theGroupOptions.
|
| |
|
NodeIter | shells_of_solid (const NodeId theSolid) const |
| | Range-for adapter over the shells of a solid.
|
| |
|
NodeIter | faces_of_shell (const NodeId theShell) const |
| | Range-for adapter over the faces of a shell.
|
| |
|
NodeIter | wires_of_face (const NodeId theFace) const |
| | Range-for adapter over the wires of a face.
|
| |
|
NodeIter | coedges_of_wire (const NodeId theWire) const |
| | Range-for adapter over the coedges of a wire.
|
| |
|
NodeIter | edges_of_wire (const NodeId theWire) const |
| | Range-for adapter over the edges of a wire.
|
| |
|
NodeIter | vertices_of_edge (const NodeId theEdge) const |
| | Range-for adapter over the vertices of an edge.
|
| |
|
NodeIter | occurrences_of_product (const NodeId theProduct) const |
| | Range-for adapter over the occurrences of a product.
|
| |
| NodeId | make_vertex (const ::occtl_topo_make_vertex_info_t &theInfo) |
| | Creates a vertex node from a point and tolerance.
|
| |
| NodeId | make_edge (const ::occtl_topo_make_edge_info_t &theInfo) |
| | Creates an edge node.
|
| |
| NodeId | make_wire (const ::occtl_topo_make_wire_info_t &theInfo) |
| | Creates a wire node from an ordered span of oriented edges.
|
| |
| std::vector< NodeId > | edges_to_wires (const EdgesToWiresOptions &theOptions) |
| | Connects unordered edges into wire nodes.
|
| |
| NodeId | wire_offset_2d (const WireOffset2dOptions &theOptions) |
| | Creates a planar offset wire in this graph.
|
| |
| size_t | wire_fix_degenerate_edges (const WireFixDegenerateEdgesOptions &theOptions) |
| | Removes degenerate edge usages from a wire in place.
|
| |
| NodeId | face_chamfer_2d (const FaceChamfer2dOptions &theOptions) |
| | Chamfers corners of a planar face and inserts the result into this graph.
|
| |
| NodeId | wire_chamfer_2d (const WireChamfer2dOptions &theOptions) |
| | Chamfers corners of a planar wire and inserts the result into this graph.
|
| |
| NodeId | make_face (const ::occtl_topo_make_face_info_t &theInfo) |
| | Creates a face node from a surface, outer wire, and optional inner wires.
|
| |
| NodeId | make_face_from_wires_auto (const MakeFaceFromWiresAutoOptions &theOptions) |
| | Creates a face from candidate wires using automatic outer-loop detection.
|
| |
| NodeId | make_shell (const ::occtl_topo_make_shell_info_t &theInfo) |
| | Creates a shell node from a span of oriented faces.
|
| |
| NodeId | make_solid (const ::occtl_topo_make_solid_info_t &theInfo) |
| | Creates a solid node from a span of oriented shells.
|
| |
| void | solid_view (const NodeId theSolid, ::occtl_solid_view_t &theView) const |
| | Fills theView with the current scalar state of theSolid.
|
| |
| void | compound_view (const NodeId theCompound, ::occtl_compound_view_t &theView) const |
| | Fills theView with the current scalar state of theCompound.
|
| |
| void | wire_view (const NodeId theWire, ::occtl_wire_view_t &theView) const |
| | Fills theView with the current scalar state of theWire.
|
| |
| void | shell_view (const NodeId theShell, ::occtl_shell_view_t &theView) const |
| | Fills theView with the current scalar state of theShell.
|
| |
| void | vertex_view (const NodeId theVertex, ::occtl_vertex_view_t &theView) const |
| | Fills theView with the current scalar state of theVertex.
|
| |
| NodeId | make_compsolid (const ::occtl_topo_make_compsolid_info_t &theInfo) |
| | Creates a compsolid node from a span of oriented solids.
|
| |
| NodeId | make_compound (const ::occtl_topo_make_compound_info_t &theInfo) |
| | Creates a compound node from a span of oriented children.
|
| |
| void | remove (const NodeId theId) |
| | Removes a node from the graph.
|
| |
| void | remove_subgraph (const NodeId theId) |
| | Recursively removes a node and its entire subgraph.
|
| |
| Batch | begin_batch () |
| | Opens a batched mutation scope on this graph.
|
| |
| void | set_vertex_point (const NodeId theVertex, const ::occtl_point3_t &thePoint) |
| | Sets the 3D point of a vertex.
|
| |
| void | set_vertex_tolerance (const NodeId theVertex, const double theTol) |
| | Sets the tolerance of a vertex.
|
| |
| void | set_edge_tolerance (const NodeId theEdge, const double theTol) |
| | Sets the tolerance of an edge.
|
| |
| void | set_face_tolerance (const NodeId theFace, const double theTol) |
| | Sets the tolerance of a face.
|
| |
| void | set_edge_param_range (const NodeId theEdge, const double theFirst, const double theLast) |
| | Sets the parametric range of an edge's 3D curve.
|
| |
| void | set_edge_same_parameter (const NodeId theEdge, const bool theFlag) |
| | Sets the same-parameter flag on an edge.
|
| |
| void | set_edge_same_range (const NodeId theEdge, const bool theFlag) |
| | Sets the same-range flag on an edge.
|
| |
| void | set_edge_is_degenerate (const NodeId theEdge, const bool theFlag) |
| | Sets the is-degenerate flag on an edge.
|
| |
| void | set_edge_is_closed (const NodeId theEdge, const bool theFlag) |
| | Sets the is-closed flag on an edge.
|
| |
| void | set_wire_is_closed (const NodeId theWire, const bool theFlag) |
| | Sets the is-closed flag on a wire.
|
| |
| void | set_shell_is_closed (const NodeId theShell, const bool theFlag) |
| | Sets the is-closed flag on a shell.
|
| |
| void | set_face_natural_restriction (const NodeId theFace, const bool theFlag) |
| | Sets the natural-restriction flag on a face.
|
| |
| void | set_coedge_param_range (const NodeId theCoedge, const double theFirst, const double theLast) |
| | Sets the parametric range of a coedge.
|
| |
| void | set_coedge_uv_box (const NodeId theCoedge, const ::occtl_point2_t &theUvLo, const ::occtl_point2_t &theUvHi) |
| | Sets the UV box of a coedge.
|
| |
| Graph | clone () const |
| | Deep-clones this graph into a new, independent graph.
|
| |
| void | compact () |
| | Compacts the graph, reclaiming slots from removed nodes. Invalidates all NodeId and RefId values.
|
| |
| void | remove_with_replacement (const NodeId theNode, const NodeId theReplacement) |
| | Removes a node and reparents children to a replacement.
|
| |
| void | remove_ref (const RefId &theRefId) |
| | Removes a reference entry by its RefId.
|
| |
| void | remove_rep (const RepId &theRepId) |
| | Removes a representation entry by its RepId.
|
| |
| void | cleanup_removed_refs () |
| | Cleans up stale references after removal operations. Idempotent.
|
| |
| void | set_edge_start_vertex (const NodeId theEdge, const NodeId theVertex) |
| | Rebinds an edge's start vertex to a different vertex.
|
| |
| void | set_edge_end_vertex (const NodeId theEdge, const NodeId theVertex) |
| | Rebinds an edge's end vertex to a different vertex.
|
| |
| void | set_ref_orientation (const RefId &theRefId, const Orientation theOrientation) |
| | Sets the orientation of a reference entry.
|
| |
| void | set_ref_location (const RefId &theRefId, const ::occtl_transform_t &theTransform) |
| | Sets the local location of a reference entry.
|
| |
| void | set_wire_ref_is_outer (const RefId &theRefId, const bool theFlag) |
| | Sets the IsOuter flag on a wire reference.
|
| |
| void | color_set (const NodeId theTarget, const ::occtl_color_rgba_t &theColor) |
| | Sets a colour on a target node.
|
| |
| ::occtl_color_rgba_t | color_get (const NodeId theTarget) const |
| | Retrieves the colour of a target node, or opaque white if unset.
|
| |
| void | color_unset (const NodeId theTarget) |
| | Removes the colour associated with a target node. Idempotent.
|
| |
| std::vector< std::pair< NodeId, ::occtl_color_rgba_t > > | color_entries () const |
| | Lists explicit colour entries.
|
| |
| void | name_set (const NodeId theTarget, const char *const theName, const size_t theNameLen) |
| | Sets a human-readable name on a target node.
|
| |
| std::string | name_get (const NodeId theTarget) const |
| | Retrieves the name of a target node. Returns empty string if unset.
|
| |
| std::vector< NodeId > | name_nodes () const |
| | Lists nodes that have explicit names.
|
| |
| void | material_set (const NodeId theTarget, const MaterialInfo &theInfo) |
| | Sets material-lite data on a target node.
|
| |
| GraphMaterial | material_get (const NodeId theTarget) const |
| | Retrieves material-lite data from a target node.
|
| |
| void | material_unset (const NodeId theTarget) |
| | Removes material-lite data from a target node. Idempotent.
|
| |
| std::vector< NodeId > | material_nodes () const |
| | Lists nodes that have explicit material-lite data.
|
| |
| void | graph_units_set (const double theLengthUnitToMeter, const char *const theName, const size_t theNameLen) |
| | Sets graph-level length-unit metadata.
|
| |
| GraphUnits | graph_units_get () const |
| | Retrieves graph-level length-unit metadata.
|
| |
| void | node_metadata_set (const NodeId theTarget, const char *const theKey, const size_t theKeyLen, const char *const theValue, const size_t theValueLen) |
| | Sets UTF-8 metadata on a target node.
|
| |
| std::string | node_metadata_get (const NodeId theTarget, const char *const theKey, const size_t theKeyLen) const |
| | Retrieves UTF-8 metadata from a target node.
|
| |
| std::vector< std::string > | node_metadata_keys (const NodeId theTarget) const |
| | Lists UTF-8 metadata keys stored on a target node.
|
| |
| std::vector< NodeId > | node_metadata_nodes () const |
| | Lists nodes that have at least one metadata key.
|
| |
| void | graph_metadata_set (const char *const theKey, const size_t theKeyLen, const char *const theValue, const size_t theValueLen) |
| | Sets UTF-8 metadata on the graph itself.
|
| |
| std::string | graph_metadata_get (const char *const theKey, const size_t theKeyLen) const |
| | Retrieves UTF-8 metadata from the graph itself.
|
| |
| std::vector< std::string > | graph_metadata_keys () const |
| | Lists UTF-8 metadata keys stored on the graph itself.
|
| |
| void | graph_metadata_unset (const char *const theKey, const size_t theKeyLen) |
| | Removes one graph-level metadata key. Idempotent.
|
| |
| void | node_metadata_unset (const NodeId theTarget, const char *const theKey, const size_t theKeyLen) |
| | Removes one metadata key from a target node. Idempotent.
|
| |
| void | tag_add (const NodeId theTarget, const char *const theTag, const size_t theTagLen) |
| | Adds a UTF-8 tag to a target node.
|
| |
| void | tag_remove (const NodeId theTarget, const char *const theTag, const size_t theTagLen) |
| | Removes a UTF-8 tag from a target node. Idempotent.
|
| |
| bool | tag_has (const NodeId theTarget, const char *const theTag, const size_t theTagLen) const |
| | Tests whether a target node carries a UTF-8 tag.
|
| |
| std::vector< std::string > | tag_list (const NodeId theTarget) const |
| | Lists UTF-8 tags stored on a target node.
|
| |
| std::vector< NodeId > | tag_nodes (const char *const theTag=nullptr, const size_t theTagLen=0) const |
| | Lists nodes that have tags, optionally filtered by exact tag.
|
| |
| JointId | joint_create (const JointInfo &theInfo) |
| | Creates an assembly joint record in the graph.
|
| |
| JointInfo | joint_get (const JointId theJoint) const |
| | Retrieves an assembly joint record.
|
| |
| void | joint_remove (const JointId theJoint) |
| | Removes an assembly joint record. Missing joints are a no-op.
|
| |
| std::vector< JointId > | joint_list (const NodeId theNode=NodeId::invalid()) const |
| | Lists all assembly joints or those attached to theNode.
|
| |
| void | clear_cached (const NodeId theNode) |
| | Clears graph-owned computed data related to one node.
|
| |
| void | clear_cached (const RefId theRef) |
| | Clears graph-owned computed data related to one reference.
|
| |
| ::occtl_select_bbox_t | bbox_get (const NodeId theNode) |
| | Returns the computed axis-aligned bounding box for a node.
|
| |
| ::occtl_graph_obb_t | obb_get (const NodeId theNode) |
| | Returns the computed oriented bounding box for a node.
|
| |
| ::occtl_graph_uv_bounds_t | face_uv_bounds_get (const NodeId theFace) |
| | Returns computed UV parameter bounds for a Face node.
|
| |
| double | measure_get (const NodeId theNode, const SelectMeasureKind theKind) |
| | Returns one computed OCCT mass-property scalar.
|
| |
| ::occtl_graph_mass_properties_t | mass_properties_get (const NodeId theNode) |
| | Returns computed combined OCCT mass properties for a node.
|
| |
| CurveKind | edge_curve_kind_get (const NodeId theEdge) |
| | Returns computed curve-kind classification for an Edge node.
|
| |
| SurfaceKind | face_surface_kind_get (const NodeId theFace) |
| | Returns computed surface-kind classification for a Face node.
|
| |
| std::vector< NodeId > | descendant_vertices_get (const NodeId theNode) |
| | Returns computed descendant Vertex nodes for a root node.
|
| |
| std::vector< NodeId > | descendant_edges_get (const NodeId theNode) |
| | Returns computed descendant Edge nodes for a root node.
|
| |
| std::vector< NodeId > | descendant_faces_get (const NodeId theNode) |
| | Returns computed descendant Face nodes for a root node.
|
| |
| std::vector< NodeId > | descendants_get (const NodeId theNode, const NodeKind theKind) |
| | Returns computed descendant nodes of one requested kind.
|
| |
| std::vector< NodeId > | adjacent_faces_get (const NodeId theFace) |
| | Returns computed adjacent Face nodes for a Face node.
|
| |
| std::vector< NodeId > | adjacent_edges_get (const NodeId theEdge) |
| | Returns computed adjacent Edge nodes for an Edge node.
|
| |
| double | pair_distance_get (const NodeId theFirst, const NodeId theSecond) |
| | Returns computed OCCT minimum distance between two nodes.
|
| |
| NodeId | make_product (const ::occtl_topo_make_product_info_t &theInfo) |
| | Creates a product in the graph.
|
| |
| void | link_product_to_topology (const NodeId theProduct, const NodeId theRoot, const ::occtl_transform_t &thePlacement) |
| | Links an existing product to a topology root with a placement.
|
| |
| NodeId | link_product_to_topology_with_occurrence (const NodeId theProduct, const NodeId theRoot, const ::occtl_transform_t &thePlacement) |
| | Links an existing product to a topology root and returns the new occurrence.
|
| |
| void | link_products (const NodeId theParentProduct, const NodeId theChildProduct, const ::occtl_transform_t &thePlacement, const NodeId theParentOccurrence=NodeId(OCCTL_NODE_ID_INVALID)) |
| | Links two products via a parent-child occurrence.
|
| |
| NodeId | link_products_with_occurrence (const NodeId theParentProduct, const NodeId theChildProduct, const ::occtl_transform_t &thePlacement, const NodeId theParentOccurrence=NodeId(OCCTL_NODE_ID_INVALID)) |
| | Links two products and returns the new occurrence.
|
| |
| void | remove_occurrence (const RefId &theOccurrenceRef) |
| | Removes an occurrence reference from the graph.
|
| |
| void | occurrence_transform_set (const NodeId theOccurrence, const ::occtl_transform_t &theTransform) |
| | Sets the local transform of a uniquely referenced occurrence node.
|
| |
| ::occtl_transform_t | occurrence_transform_get (const NodeId theOccurrence) const |
| | Returns the local transform of a uniquely referenced occurrence node.
|
| |
| ::occtl_transform_t | occurrence_world_transform (const NodeId theRoot, const NodeId theOccurrence) const |
| | Returns an occurrence transform accumulated from a traversal root.
|
| |
| void | shell_add_face (const NodeId theShell, const NodeId theFace, const ::occtl_orientation_t theOrientation) |
| | Adds a face to a shell with the given orientation.
|
| |
| void | shell_remove_face (const NodeId theShell, const NodeId theFace) |
| | Removes a face from a shell (the face definition remains in the graph).
|
| |
| void | face_add_holes (const NodeId theFace, const std::vector< NodeId > &theHoles) |
| | Adds selected wires as inner wires of a face.
|
| |
| void | face_remove_holes (const NodeId theFace) |
| | Removes all inner wires from a face.
|
| |
| void | face_remove_holes (const NodeId theFace, const std::vector< NodeId > &theHoles) |
| | Removes selected inner wires from a face.
|
| |
| void | solid_add_shell (const NodeId theSolid, const NodeId theShell, const ::occtl_orientation_t theOrientation) |
| | Adds a shell to a solid with the given orientation.
|
| |
| void | solid_remove_shell (const NodeId theSolid, const NodeId theShell) |
| | Removes a shell from a solid (the shell definition remains in the graph).
|
| |
| void | compound_add_child (const NodeId theCompound, const NodeId theChild, const ::occtl_orientation_t theOrientation) |
| | Adds a child entity to a compound with the given orientation.
|
| |
| void | compound_remove_child (const NodeId theCompound, const NodeId theChild) |
| | Removes a child from a compound (the child definition remains in the graph).
|
| |
| EdgeSplitResult | edge_split (const NodeId theEdge, const double theParameter) |
| | Splits an edge at the given parameter and returns the two new sub-edges. The original edge is soft-removed; wires referencing it are updated.
|
| |
| void | edge_add_internal_vertex (const NodeId theEdge, const NodeId theVertex) |
| | Adds an internal vertex to an edge.
|
| |
| void | edge_remove_vertex (const NodeId theEdge, const NodeId theVertex) |
| | Removes a vertex (boundary or internal) from an edge.
|
| |
| void | replace_edge_curve (const NodeId theEdge, const ::occtl_rep_id_t theCurveId) |
| | Replaces an edge's 3D curve.
|
| |
| void | replace_face_surface (const NodeId theFace, const ::occtl_rep_id_t theSurfaceId) |
| | Replaces a face's surface.
|
| |
| void | replace_coedge_pcurve (const NodeId theCoedge, const ::occtl_rep_id_t thePcurveId) |
| | Replaces a coedge's pcurve.
|
| |
| void | add_pcurve (const NodeId theEdge, const NodeId theFace, const ::occtl_rep_id_t thePcurveId, const double theFirst, const double theLast, const ::occtl_orientation_t theOrientation) |
| | Adds a pcurve binding between an edge and a face, creating a new coedge.
|
| |
| ::occtl_shape_continuity_t | edge_continuity (const NodeId theEdge, const NodeId theFaceA, const NodeId theFaceB) const |
| | Returns the geometric continuity between two faces at their shared edge.
|
| |
| bool | edge_has_continuity (const NodeId theEdge, const NodeId theFaceA, const NodeId theFaceB) const |
| | Returns true if continuity is recorded between two faces at the edge.
|
| |
| ::occtl_shape_continuity_t | edge_max_continuity (const NodeId theEdge) const |
| | Returns the maximum continuity across all face pairs at the edge.
|
| |
| ::occtl_orientation_t | coedge_orientation (const NodeId theCoedge) const |
| | Returns the full TopAbs orientation of a coedge.
|
| |
| NodeId | edge_find_coedge_on_face (const NodeId theEdge, const NodeId theFace) const |
| | Finds the coedge for an (edge, face) pair.
|
| |
| NodeId | edge_find_coedge_on_face_oriented (const NodeId theEdge, const NodeId theFace, const ::occtl_orientation_t theOrientation) const |
| | Finds the coedge for an (edge, face, orientation) triple. Disambiguates seam edges.
|
| |
| ::occtl_point3_t | vertex_point_in_usage (const NodeId theVertex, const NodeId theParent) const |
| | Returns the vertex point with a parent's accumulated Location applied.
|
| |
| double | vertex_pcurve_parameter (const NodeId theVertex, const NodeId theCoedge) const |
| | Returns the 2D parameter of a vertex on a coedge's pcurve.
|
| |
| bool | edge_has_polygon3d (const NodeId theEdge) const |
| | Returns true if the edge has a 3D polygon discretization.
|
| |
| bool | coedge_has_polygon_on_surface (const NodeId theCoedge) const |
| | Returns true if the coedge has a polygon-on-surface discretization.
|
| |
| void | face_uv_bounds_restricted (const NodeId theFace, const double theUMin, const double theUMax, const double theVMin, const double theVMax, const double theU, const double theV, ::occtl_point3_t &theOutPoint, ::occtl_vector3_t &theOutD1U, ::occtl_vector3_t &theOutD1V) const |
| | Evaluates a face surface with its first partials inside a restricted UV box.
|
| |
| std::pair< Graph, NodeId > | fillet (const ::occtl_topo_fillet_options_t &theOpts) |
| | Applies a 3D fillet or chamfer to all solids and shells in this graph.
|
| |
| std::pair< Graph, NodeId > | blend_edges (const NodeId theRoot, const std::vector< NodeId > &theEdges, const ::occtl_topo_edge_blend_options_t &theOpts) const |
| | Applies a selected-edge 3D fillet or chamfer to theRoot.
|
| |
| std::pair< Graph, NodeId > | fillet_edges (const NodeId theRoot, const std::vector< NodeId > &theEdges, const double theRadius) const |
| | Applies a selected-edge constant-radius 3D fillet to theRoot.
|
| |
| std::pair< Graph, NodeId > | chamfer_edges (const NodeId theRoot, const std::vector< NodeId > &theEdges, const double theDist1, const double theDist2) const |
| | Applies a selected-edge 3D chamfer to theRoot.
|
| |
| double | max_fillet_radius (const NodeId theRoot, const std::vector< NodeId > &theEdges, const ::occtl_topo_max_fillet_radius_options_t &theOpts) const |
| | Estimates the largest selected-edge constant fillet radius accepted by OCCT.
|
| |
| std::pair< Graph, NodeId > | transformed (const NodeId theRoot, const Transform &theTransform) const |
| | Creates a transformed copy of the shape rooted at theRoot.
|
| |
| std::pair< Graph, NodeId > | project_on_face (const ::occtl_topo_project_on_face_options_t &theOpts) const |
| | Projects an edge or wire onto a target face along face normals.
|
| |
| std::pair< Graph, NodeId > | wrap_on_face (const ::occtl_topo_wrap_on_face_options_t &theOpts) const |
| | Wraps a planar edge, wire, or face onto a target face.
|
| |
| std::pair< Graph, NodeId > | project_face_along_direction (const ::occtl_topo_project_face_direction_options_t &theOpts) const |
| | Projects a face onto target boundary faces along a fixed direction.
|
| |
| std::pair< Graph, NodeId > | face_to_arcs (const ::occtl_topo_face_to_arcs_options_t &theOpts) const |
| | Converts planar face or wire boundaries to line and circular-arc edges.
|
| |
| std::pair< Graph, HlrCategoryRoots > | hlr_project (const ::occtl_topo_hlr_options_t &theOpts) const |
| | Projects a shape with OCCT hidden-line removal.
|
| |
| std::pair< Graph, NodeId > | draft_faces (const ::occtl_topo_draft_faces_options_t &theOpts) const |
| | Applies a draft angle to selected faces of a shape.
|
| |
| std::pair< Graph, NodeId > | remove_features (const NodeId theRoot, const std::vector< NodeId > &theSelections, const bool theParallel=false) const |
| | Removes selected features from theRoot.
|
| |
| std::pair< Graph, NodeId > | remove_features (const ::occtl_topo_defeature_options_t &theOpts) const |
| | Removes selected features using a fully specified C options struct.
|
| |
| std::pair< Graph, NodeId > | offset_features (const NodeId theRoot, const std::vector< NodeId > &theSelections, const double theSelectionOffset, const double theBaseOffset=0.0) const |
| | Offsets selected features of theRoot.
|
| |
| std::pair< Graph, NodeId > | offset_features (const ::occtl_topo_offset_features_options_t &theOpts) const |
| | Offsets selected features using a fully specified C options struct.
|
| |
| std::pair< Graph, NodeId > | make_filling (const ::occtl_topo_filling_options_t &theOpts) const |
| | Builds an N-side filling face from ordered boundary edges.
|
| |
| std::pair< Graph, NodeId > | make_filling_patch (const ::occtl_topo_filling_patch_options_t &theOpts) const |
| | Builds a filling patch from edge, support-face, and point constraints.
|
| |
|
std::pair< Graph, NodeId > | translated (const NodeId theRoot, const Vector3 &theDelta) const |
| | Creates a translated copy of the shape rooted at theRoot.
|
| |
|
std::pair< Graph, NodeId > | rotated (const NodeId theRoot, const Axis1Placement &theAxis, const double theAngle) const |
| | Creates a rotated copy of the shape rooted at theRoot.
|
| |
|
std::pair< Graph, NodeId > | scaled (const NodeId theRoot, const Point3 &theCenter, const double theFactor) const |
| | Creates a uniformly scaled copy of the shape rooted at theRoot.
|
| |
| std::pair< Graph, NodeId > | mirror (const NodeId theRoot, const ::occtl_point3_t &thePoint, const ::occtl_direction3_t &theNormal) const |
| | Creates a mirrored copy of the shape rooted at theRoot.
|
| |
| std::pair< Graph, NodeId > | split_by_plane (const ::occtl_topo_split_by_plane_options_t &theOpts) const |
| | Splits a shape by a plane and returns selected side(s).
|
| |
| std::pair< Graph, NodeId > | section_by_planes (const ::occtl_topo_section_by_planes_options_t &theOpts) const |
| | Sections a shape by one or more planes.
|
| |
| std::pair< Graph, NodeId > | extrude_faces_to_solids (const ::occtl_topo_extrude_faces_options_t &theOpts) const |
| | Thickens one or more Face nodes into prism solids.
|
| |
| std::pair< Graph, NodeId > | linear_pattern (const NodeId theRoot, const ::occtl_topo_linear_pattern_options_t &theOpts) const |
| | Creates count linearly-spaced copies of a shape.
|
| |
| std::pair< Graph, NodeId > | circular_pattern (const NodeId theRoot, const ::occtl_topo_circular_pattern_options_t &theOpts) const |
| | Creates count angularly-spaced copies of a shape.
|
| |
|
template<typename Fn > |
| void | for_each (const uint64_t theKindMask, Fn theFn) const |
| |
|
template<typename Fn > |
| void | for_each_ref (const uint64_t theRefKindMask, Fn theFn) const |
| |
|
template<typename Fn > |
| void | for_each_rep (const uint64_t theRepKindMask, Fn theFn) const |
| |
|
template<typename Fn > |
| void | for_each_related (const NodeId theNode, Fn theFn) const |
| |