solidcore

Units / topology

topology.proto_topology_p1 partial

Layer
32
Upstream lines
2,746
Functions
180
Rust module
topology::proto_topology::p1

Source: crates/solidcore/src/topology/proto_topology/p1.rs

Upstream: source/SMLib/inc/SmAssembly.h, source/SMLib/inc/SmAssemblyInstance.h, source/SMLib/inc/SmCopyBrepMap.h, source/SMLib/inc/SmOwningTopology.h, source/SMLib/inc/SmProtoTopology.h, source/SMLib/src/SmAssembly.cpp, source/SMLib/src/SmAssemblyInstance.cpp, source/SMLib/src/SmCopyBrepMap.cpp, source/SMLib/src/SmOwningTopology.cpp, source/SMLib/src/SmProtoTopology.cpp, source/SM_API/src/SmApiGeneral.cpp

Notes

PARTIAL: current numbers (after PR #144; fresh run in PR #154): difftest cases=1857 passed=1765 failed=0 deferred=92 (topology.brep_p5 10, topology.edge 28, topology.face_p2 29, topology.vertex 25), max_rel_err 0, --perturb SENSITIVE 1765/1765. Original port (history, superseded by the numbers above): difftest 1601 cases (14 upstream-derived fixtures from SM_API_test TestSmGeneral.cpp transforms, 87 edge cases built in code: list walks, assemblies, the proto life cycle at unit/huge/tiny scale, manager destructor, every API call on line/B-spline/circle/plane/composite/crv-on-surf/other/null; 1500 generated list/proto/transform scripts), 1446 pass bit-identical (max_rel_err 0), 155 deferred (surface.surface_point_solve_p3 56, topology.edge 29, topology.face_p2 26, topology.vertex 25, topology.brep_p5 10, query.poly 9; SmProtoVertex::ContainsPoint wired by query.face_p2); --perturb SENSITIVE. Upstream defects found: UB-98 (SmCopyBrepMap release SM_ASSERT null deref), HANG-12 (DropPoint after zero-length Reparameterize; Rust curve point solve loops too), WR-73 (RemoveCoincidentNoEdgeProtoVertex returns SM_SUCCESS as TRUE, kept for parity). Wired UNPORTED(topology.proto_topology_p1) in topology.topology (SmTopology destructor -> destroy_topology; stays green 657/657) and the topology.edgeuse_p1 co-port of SmOwningTopology::IsKindOf (unchanged 2449 pass/273 deferred). Plan notes: 180 fns; largest: sm_AreOverlapping, SmProtoTopologyManager::CanCombineEdgeDefinitions, SmProtoTopologyManager::RemoveCoincidentNoEdgeProtoVertex, sm_TransformIndependentObject; entry points: SmApiRotate, SmApiScale, SmApiScaleByPt, SmApiTransform, SmApiTranslate; cycle back-edges (call into later units; stub or co-port): query.poly(9), topology.edge(7), query.face_p2(4), blend.fillet_geom_p1(3), topology.edgeuse_p1(3), topology.vertex(3), topology.shell(2), boolean.topology_intersector_p1(1), topology.brep_p1(1), topology.brep_p2(1), topology.brep_p3(1), topology.brep_p4(1), topology.brep_p5(1), topology.face_p4(1), topology.vertexuse(1); unit-SCC #22 (220 units); 319 upstream test entry points reach this unit; CO-PORTED in topology.edgeuse_p1 (PR #55): SmOwningTopology::IsKindOf -> topology::edgeuse::p1::owning_topology_is_kind_of; CO-PORTED in query.poly (PR #73): SmOwningTopology::IsKindOf -> query::poly::owning_topology_is_kind_of (private); SmOwningTopology PostInsert/Remove/GetAll list semantics are re-implemented for poly lists inside query::poly::PolyBrep (Vec / intrusive edge links), not a general port. Re-run after merging PR #106 (surface.surface_point_solve_p3 wired, 2026-10-15): 1601 cases, 1494 pass, 107 deferred (query.poly 9, topology.brep_p5 10, topology.edge 33, topology.face_p2 28, topology.vertex 27), 0 failed, max_rel_err 0. [PR #114: the proto-script engine (shim, ffi validation, runner) also carries the ops 91-108 of topology.proto_topology_p2; this unit's generator and report are unchanged] PR #144 (2026-10-16): wired this unit's UNPORTED(topology.vertex/topology.edge/query.poly) stubs: sm_AreConnected, SmProtoVertex::GetFinalVertex and sm_FindEDOnDegenFace now walk the B-rep through the ProtoTopology trait (Brep over EntityRef via topology.vertex/vertexuse/edge/edgeuse_p1; sm_FindEDOnDegenFace stops at UNPORTED(topology.face_p4) SmFace::GetEdges for a shared face), SmApiTransform moves poly B-reps through query.poly PolyBrep::transform (transform scripts gain poly B-reps with 1-4 vertices, tobj 9, reporting tolerance and vertices; 36 new edge cases). difftest: cases=1637 passed=1545 failed=0 deferred=92 (topology.brep_p5 10, topology.edge 28, topology.face_p2 29, topology.vertex 25: all from intersect.point_class / curve_class stubs or SmBrep::Transform), max_rel_err 0; --perturb SENSITIVE. topology.proto_topology_p2 re-run: 1533 cases, 1247 pass, 286 deferred, 0 failed. After merging main with topology.proto_topology_p3 (PR #121): ProtoBrep drops its own vertex_point / edge_faces / edge_other_vertex in favour of those of its supertrait ProtoTopology (one difftest Pool impl, a VertexAt vertex reports its point); p1 unchanged (1637/1545/92), topology.proto_topology_p3 re-run: cases=3013 passed=2638 failed=0 deferred=375 (query.brep 70, topology.edge 95, topology.face_p2 94, topology.vertex 116), --perturb SENSITIVE. Review fixes (PR #144, 2026-10-16): removed a no-op drop (clippy drop_non_drop under --features difftest/cpp), restored the Deviations note that sm_FindEDOnDegenFace is unreachable from CanCombineEdgeDefinitions, added fixtures review_poly_transform.json (216 poly B-rep transforms) and review_final_vertex.json (4 GetFinalVertex / AreConnected / CanCombine scripts at scales 1, 1e8, 1e-8, 1e3): cases=1857 passed=1765 failed=0 deferred=92 (topology.brep_p5 10, topology.edge 28, topology.face_p2 29, topology.vertex 25), max_rel_err 0; --perturb SENSITIVE (1765/1765); p2 1533/1247/286 and p3 3013/2638/375 unchanged, 0 failed. The real-B-rep walks of AreConnected / GetFinalVertex / FindEDOnDegenFace are checked only by the unit test brep_walks (plan/findings.md).; CO-PORTED in topology.shell (PR #154): SmOwningTopology::Remove + PostInsert of a face use on the typed Brep face-use list -> topology::shell::move_faceuse (used by SmShell::TransferChildrenTo and SmTopologyTraverser::FaceuseShellReplacement); SmOwningTopology::Remove of a shell from its region -> topology::shell::region_remove_shell (inline in SmOwningTopology.h; no caller left on main)

Difftest

Cases
1,857
Passed
1,765
Deferred
92
Failed
0
Both errored
0
Max rel. error
0.0
Tolerance
1e-09 rel.
Seeds
16

Blocked by

Unported unitDeferred cases
topology.face_p2 partial29
topology.edge partial28
topology.vertex partial25
topology.brep_p5 claimed10

Report JSON (per-case results)

Dependencies

Depends on: curve.curve_p2 green geom.a_object partial geom.axis2_placement green geom.extent1d green geom.object partial geom.tol green geom.vector3d green intersect.curve_class_p1 partial intersect.point_class partial surface.surface_p2 partial topology.topology green

Soft dependencies: curve.curve_p1 partial curve.curve_p6 green geom.solution_array partial

Dependents: blend.fillet_geom_p1 claimed blend.fillet_geom_p3 todo blend.fillet_geom_p5 todo boolean.merge_p1 partial boolean.topology_intersector_p1 partial boolean.topology_intersector_p2 claimed query.poly partial topology.brep_p1 claimed topology.brep_p10 claimed topology.brep_p2 claimed topology.brep_p3 claimed topology.brep_p4 claimed topology.brep_p5 claimed topology.brep_p6 claimed topology.brep_p7 claimed topology.brep_p9 claimed topology.edge partial topology.edgeuse_p1 partial topology.proto_topology_p2 partial topology.proto_topology_p3 partial topology.shell partial topology.vertex partial

Soft dependents: blend.fillet_corner_p1 todo blend.fillet_corner_p2 todo blend.fillet_corner_p3 todo blend.fillet_executive_p1 todo blend.fillet_executive_p2 todo blend.fillet_solver_p1 claimed blend.fillet_solver_p2 todo offset.offset_executive_p2 claimed topology.face_p1 partial topology.loopuse partial topology.topology_traverser partial topology.trimming_tools partial

Upstream functions

Upstream functionDefined atLinesRust (from the file header)
SmAssembly::RemoveInstanceSmAssembly.h:1177[Assembly::add_instance], [Assembly::remove_instance]
SmAssembly::GetClassStringSmAssembly.h:1391[owning_topology::TYPE], [owning_topology::TYPE_STRING], [owning_topology::CLASS_STRING], [owning_topology::is_kind_of]
SmAssembly::GetTypeSmAssembly.h:1391[assembly::ASSEMBLY_TYPE], [assembly::ASSEMBLY_TYPE_STRING], [assembly::ASSEMBLY_CLASS_STRING], [assembly::assembly_is_kind_of]
SmAssembly::GetTypeStringSmAssembly.h:1391[owning_topology::TYPE], [owning_topology::TYPE_STRING], [owning_topology::CLASS_STRING], [owning_topology::is_kind_of]
SmAssemblyInstance::GetParentAssemblySmAssemblyInstance.h:1111[AssemblyInstance::parent_assembly]
SmAssemblyInstance::GetClassStringSmAssemblyInstance.h:1261[owning_topology::TYPE], [owning_topology::TYPE_STRING], [owning_topology::CLASS_STRING], [owning_topology::is_kind_of]
SmAssemblyInstance::GetTypeSmAssemblyInstance.h:1261[assembly::ASSEMBLY_INSTANCE_TYPE], [assembly::ASSEMBLY_INSTANCE_TYPE_STRING], [assembly::ASSEMBLY_INSTANCE_CLASS_STRING], [assembly::assembly_instance_is_kind_of]
SmAssemblyInstance::GetTypeStringSmAssemblyInstance.h:1261[owning_topology::TYPE], [owning_topology::TYPE_STRING], [owning_topology::CLASS_STRING], [owning_topology::is_kind_of]
SmCopyBrepMap::SmCopyBrepMapSmCopyBrepMap.h:311[CopyBrepMap], [CopyBrepMap::new], [CopyBrepMap::destroy]
SmCopyBrepMap::~SmCopyBrepMapSmCopyBrepMap.h:323
SmOwningTopology::SmOwningTopologySmOwningTopology.h:291[OwningTopology], [OwningTopology::new], [OwningTopology::destroy]
SmOwningTopology::~SmOwningTopologySmOwningTopology.h:301
SmOwningTopology::GetSizeSmOwningTopology.h:441[OwningTopology::size], [OwningTopology::list], [OwningTopology::set_list]
SmOwningTopology::GetListSmOwningTopology.h:451[OwningTopology::size], [OwningTopology::list], [OwningTopology::set_list]
SmOwningTopology::SetListSmOwningTopology.h:551[OwningTopology::size], [OwningTopology::list], [OwningTopology::set_list]
SmOwningTopology::GetClassStringSmOwningTopology.h:721[owning_topology::TYPE], [owning_topology::TYPE_STRING], [owning_topology::CLASS_STRING], [owning_topology::is_kind_of]
SmOwningTopology::GetTypeSmOwningTopology.h:721[owning_topology::TYPE], [owning_topology::TYPE_STRING], [owning_topology::CLASS_STRING], [owning_topology::is_kind_of]
SmOwningTopology::GetTypeStringSmOwningTopology.h:721[owning_topology::TYPE], [owning_topology::TYPE_STRING], [owning_topology::CLASS_STRING], [owning_topology::is_kind_of]
SmOwningTopology::UpdateListSizeSmOwningTopology.h:17722[OwningTopology::update_list_size]
SmOwningTopology::InsertAfterSmOwningTopology.h:20523[OwningTopology::insert_after]
SmOwningTopology::PreInsertSmOwningTopology.h:23734[OwningTopology::pre_insert], [OwningTopology::post_insert]
SmOwningTopology::PostInsertSmOwningTopology.h:2788[OwningTopology::pre_insert], [OwningTopology::post_insert]
SmOwningTopology::RemoveSmOwningTopology.h:30646[OwningTopology::remove]
SmOwningTopology::IsInListSmOwningTopology.h:35825[OwningTopology::is_in_list]
SmOwningTopology::GetAllSmOwningTopology.h:39070[OwningTopology::get_all], [OwningTopology::get_all_ignoring_status]
SmVertexDefinition::GetPositionSmProtoTopology.h:1911[VertexDefinition::position], [VertexDefinition::tolerance], [VertexDefinition::gap], [VertexDefinition::final_vertex], [VertexDefinition::proto_vertex]
SmVertexDefinition::GetToleranceSmProtoTopology.h:1921[VertexDefinition::position], [VertexDefinition::tolerance], [VertexDefinition::gap], [VertexDefinition::final_vertex], [VertexDefinition::proto_vertex]
SmVertexDefinition::GetGapSmProtoTopology.h:1931[VertexDefinition::position], [VertexDefinition::tolerance], [VertexDefinition::gap], [VertexDefinition::final_vertex], [VertexDefinition::proto_vertex]
SmVertexDefinition::GetFinalVertexSmProtoTopology.h:1951[VertexDefinition::position], [VertexDefinition::tolerance], [VertexDefinition::gap], [VertexDefinition::final_vertex], [VertexDefinition::proto_vertex]
SmVertexDefinition::GetProtoVertexSmProtoTopology.h:1981[VertexDefinition::position], [VertexDefinition::tolerance], [VertexDefinition::gap], [VertexDefinition::final_vertex], [VertexDefinition::proto_vertex]
SmVertexDefinition::GetBrep1TopoTypeSmProtoTopology.h:2021[VertexDefinition::brep1_topo], [VertexDefinition::brep2_topo], [VertexDefinition::brep1_topo_type], [VertexDefinition::brep2_topo_type]
SmVertexDefinition::GetBrep2TopoTypeSmProtoTopology.h:2051[VertexDefinition::brep1_topo], [VertexDefinition::brep2_topo], [VertexDefinition::brep1_topo_type], [VertexDefinition::brep2_topo_type]
SmVertexDefinition::GetSrcTopoSmProtoTopology.h:2071[VertexDefinition::src_topo], [VertexDefinition::src_topo_type], [VertexDefinition::brep_t_param], [VertexDefinition::brep_uv_param], [VertexDefinition::brep_point_classif]
SmVertexDefinition::GetSrcTopo_TYPESmProtoTopology.h:2081[VertexDefinition::src_topo], [VertexDefinition::src_topo_type], [VertexDefinition::brep_t_param], [VertexDefinition::brep_uv_param], [VertexDefinition::brep_point_classif]
SmVertexDefinition::GetBrepTParamSmProtoTopology.h:2101[VertexDefinition::src_topo], [VertexDefinition::src_topo_type], [VertexDefinition::brep_t_param], [VertexDefinition::brep_uv_param], [VertexDefinition::brep_point_classif]
SmVertexDefinition::GetBrepUVParamSmProtoTopology.h:2111[VertexDefinition::src_topo], [VertexDefinition::src_topo_type], [VertexDefinition::brep_t_param], [VertexDefinition::brep_uv_param], [VertexDefinition::brep_point_classif]
SmVertexDefinition::GetBrepPointClassifSmProtoTopology.h:2121[VertexDefinition::src_topo], [VertexDefinition::src_topo_type], [VertexDefinition::brep_t_param], [VertexDefinition::brep_uv_param], [VertexDefinition::brep_point_classif]
SmVertexDefinition::SetPositionSmProtoTopology.h:2141[VertexDefinition::set_position], [VertexDefinition::set_proto_vertex], [VertexDefinition::set_final_vertex]
SmVertexDefinition::SetProtoVertexSmProtoTopology.h:2151[VertexDefinition::set_position], [VertexDefinition::set_proto_vertex], [VertexDefinition::set_final_vertex]
SmVertexDefinition::SetFinalVertexSmProtoTopology.h:2203[VertexDefinition::set_position], [VertexDefinition::set_proto_vertex], [VertexDefinition::set_final_vertex]
SmEdgeDefinition::SmEdgeDefinitionSmProtoTopology.h:29820[EdgeDefinition], [EdgeDefinition::new], [EdgeDefinition::copy_definition], [EdgeDefinition::destroy]
SmEdgeDefinition::SmEdgeDefinitionSmProtoTopology.h:32012[EdgeDefinition], [EdgeDefinition::new], [EdgeDefinition::copy_definition], [EdgeDefinition::destroy]
SmEdgeDefinition::GetXSectCurve3dSmProtoTopology.h:3401[EdgeDefinition::xsect_curve_3d], [EdgeDefinition::xsect_interval], [EdgeDefinition::tolerance], [EdgeDefinition::xsect_uv_curve]
SmEdgeDefinition::GetXSectIntervalSmProtoTopology.h:3411[EdgeDefinition::xsect_curve_3d], [EdgeDefinition::xsect_interval], [EdgeDefinition::tolerance], [EdgeDefinition::xsect_uv_curve]
SmEdgeDefinition::GetToleranceSmProtoTopology.h:3421[VertexDefinition::position], [VertexDefinition::tolerance], [VertexDefinition::gap], [VertexDefinition::final_vertex], [VertexDefinition::proto_vertex]
SmEdgeDefinition::GetXSectUVCurveSmProtoTopology.h:3431[EdgeDefinition::xsect_curve_3d], [EdgeDefinition::xsect_interval], [EdgeDefinition::tolerance], [EdgeDefinition::xsect_uv_curve]
SmEdgeDefinition::GetSrcTopoSmProtoTopology.h:3441[VertexDefinition::src_topo], [VertexDefinition::src_topo_type], [VertexDefinition::brep_t_param], [VertexDefinition::brep_uv_param], [VertexDefinition::brep_point_classif]
SmEdgeDefinition::GetProtoEdgeSmProtoTopology.h:3481[EdgeDefinition::src_topo], [EdgeDefinition::src_topo_type], [EdgeDefinition::proto_edge], [EdgeDefinition::final_edge]
SmEdgeDefinition::GetFinalEdgeSmProtoTopology.h:3491[EdgeDefinition::src_topo], [EdgeDefinition::src_topo_type], [EdgeDefinition::proto_edge], [EdgeDefinition::final_edge]
SmEdgeDefinition::SetXSectCurve3dSmProtoTopology.h:3541[EdgeDefinition::set_xsect_curve_3d], [EdgeDefinition::set_xsect_curve_uv], [EdgeDefinition::set_proto_edge], [EdgeDefinition::set_src_topo]
SmEdgeDefinition::SetXSectCurveUVSmProtoTopology.h:3551[EdgeDefinition::set_xsect_curve_3d], [EdgeDefinition::set_xsect_curve_uv], [EdgeDefinition::set_proto_edge], [EdgeDefinition::set_src_topo]
SmEdgeDefinition::SetProtoEdgeSmProtoTopology.h:3561[EdgeDefinition::set_xsect_curve_3d], [EdgeDefinition::set_xsect_curve_uv], [EdgeDefinition::set_proto_edge], [EdgeDefinition::set_src_topo]
SmEdgeDefinition::SetSrcTopoSmProtoTopology.h:3593[VertexDefinition::set_src_topo], [VertexDefinition::set_point_parameters]
SmProtoVertex::GetPositionSmProtoTopology.h:4551[VertexDefinition::position], [VertexDefinition::tolerance], [VertexDefinition::gap], [VertexDefinition::final_vertex], [VertexDefinition::proto_vertex]
SmProtoVertex::GetToleranceSmProtoTopology.h:4561[VertexDefinition::position], [VertexDefinition::tolerance], [VertexDefinition::gap], [VertexDefinition::final_vertex], [VertexDefinition::proto_vertex]
SmProtoVertex::GetProtoTopologyManagerSmProtoTopology.h:4591
SmProtoVertex::GetNumVertexDefinitionsSmProtoTopology.h:4661[ProtoVertex::position], [ProtoVertex::tolerance], [ProtoVertex::num_vertex_definitions], [ProtoVertex::num_proto_edges], [ProtoVertex::vertex_definitions], [ProtoVertex::proto_edges]
SmProtoVertex::GetNumProtoEdgesSmProtoTopology.h:4671[ProtoTopologyManager::vertex_def_num_proto_edges]
SmProtoVertex::GetVertexDefinitionsSmProtoTopology.h:4681[ProtoVertex::position], [ProtoVertex::tolerance], [ProtoVertex::num_vertex_definitions], [ProtoVertex::num_proto_edges], [ProtoVertex::vertex_definitions], [ProtoVertex::proto_edges]
SmProtoVertex::GetProtoEdgesSmProtoTopology.h:4691[ProtoVertex::position], [ProtoVertex::tolerance], [ProtoVertex::num_vertex_definitions], [ProtoVertex::num_proto_edges], [ProtoVertex::vertex_definitions], [ProtoVertex::proto_edges]
SmProtoVertex::ClearVertexDefinitionsSmProtoTopology.h:4831[ProtoVertex::clear_vertex_definitions], [ProtoVertex::add_proto_edge]
SmProtoVertex::AddProtoEdgeSmProtoTopology.h:5021[ProtoVertex::clear_vertex_definitions], [ProtoVertex::add_proto_edge]
SmProtoEdge::SmProtoEdgeSmProtoTopology.h:58410[ProtoEdge], [ProtoTopologyManager::new_proto_edge], [ProtoTopologyManager::copy_proto_edge], [ProtoTopologyManager::delete_proto_edge_object]
SmProtoEdge::GetXSectIntervalSmProtoTopology.h:5991[EdgeDefinition::xsect_curve_3d], [EdgeDefinition::xsect_interval], [EdgeDefinition::tolerance], [EdgeDefinition::xsect_uv_curve]
SmProtoEdge::GetToleranceSmProtoTopology.h:6001[VertexDefinition::position], [VertexDefinition::tolerance], [VertexDefinition::gap], [VertexDefinition::final_vertex], [VertexDefinition::proto_vertex]
SmProtoEdge::GetStartProtoVertexSmProtoTopology.h:6011[ProtoTopologyManager::edge_def_start_proto_vertex], [ProtoTopologyManager::edge_def_end_proto_vertex]
SmProtoEdge::GetEndProtoVertexSmProtoTopology.h:6021[ProtoTopologyManager::edge_def_start_proto_vertex], [ProtoTopologyManager::edge_def_end_proto_vertex]
SmProtoEdge::GetOverlappingPEsSmProtoTopology.h:6031[ProtoEdge::xsect_interval], [ProtoEdge::tolerance], [ProtoEdge::start_proto_vertex], [ProtoEdge::end_proto_vertex], [ProtoEdge::overlapping_pes]
SmProtoEdge::GetOverlappingPEsSmProtoTopology.h:6041[ProtoEdge::xsect_interval], [ProtoEdge::tolerance], [ProtoEdge::start_proto_vertex], [ProtoEdge::end_proto_vertex], [ProtoEdge::overlapping_pes]
SmProtoEdge::GetNumEdgeDefinitionsSmProtoTopology.h:6061[ProtoEdge::num_edge_definitions], [ProtoEdge::edge_definitions]
SmProtoEdge::GetEdgeDefinitionsSmProtoTopology.h:6071[ProtoEdge::num_edge_definitions], [ProtoEdge::edge_definitions]
SmProtoEdge::GetProtoTopologyManagerSmProtoTopology.h:6081
SmProtoEdge::SetStartProtoVertexSmProtoTopology.h:6141[ProtoEdge::set_start_proto_vertex], [ProtoEdge::set_end_proto_vertex], [ProtoEdge::add_overlapping_pe], [ProtoEdge::append_overlapping_pes], [ProtoEdge::clear_edge_definitions]
SmProtoEdge::SetEndProtoVertexSmProtoTopology.h:6151[ProtoEdge::set_start_proto_vertex], [ProtoEdge::set_end_proto_vertex], [ProtoEdge::add_overlapping_pe], [ProtoEdge::append_overlapping_pes], [ProtoEdge::clear_edge_definitions]
SmProtoEdge::AddOverlappingPESmProtoTopology.h:6191[ProtoEdge::set_start_proto_vertex], [ProtoEdge::set_end_proto_vertex], [ProtoEdge::add_overlapping_pe], [ProtoEdge::append_overlapping_pes], [ProtoEdge::clear_edge_definitions]
SmProtoEdge::AppendOverlappingPEsSmProtoTopology.h:6201[ProtoEdge::set_start_proto_vertex], [ProtoEdge::set_end_proto_vertex], [ProtoEdge::add_overlapping_pe], [ProtoEdge::append_overlapping_pes], [ProtoEdge::clear_edge_definitions]
SmProtoEdge::ClearEdgeDefinitionsSmProtoTopology.h:6211[ProtoEdge::set_start_proto_vertex], [ProtoEdge::set_end_proto_vertex], [ProtoEdge::add_overlapping_pe], [ProtoEdge::append_overlapping_pes], [ProtoEdge::clear_edge_definitions]
SmProtoFace::SmProtoFaceSmProtoTopology.h:69010[ProtoFace], [ProtoTopologyManager::new_proto_face]
SmProtoFace::~SmProtoFaceSmProtoTopology.h:7021
SmProtoFace::GetSrcTopoSmProtoTopology.h:7051[ProtoFace::src_topo], [ProtoFace::coinc_proto_edges], [ProtoFace::set_src_topo]
SmProtoFace::GetCoincProtoEdgesSmProtoTopology.h:7081[ProtoFace::src_topo], [ProtoFace::coinc_proto_edges], [ProtoFace::set_src_topo]
SmProtoFace::GetCoincProtoEdgesSmProtoTopology.h:7091[ProtoFace::src_topo], [ProtoFace::coinc_proto_edges], [ProtoFace::set_src_topo]
SmProtoFace::SetSrcTopoSmProtoTopology.h:7133[VertexDefinition::set_src_topo], [VertexDefinition::set_point_parameters]
SmProtoTopologyManager::GetWhichBrepSmProtoTopology.h:7781[ProtoTopologyManager::which_brep], [ProtoTopologyManager::tolerance], [ProtoTopologyManager::proto_vertices], [ProtoTopologyManager::proto_edges], [ProtoTopologyManager::proto_faces]
SmProtoTopologyManager::GetToleranceSmProtoTopology.h:7791[VertexDefinition::position], [VertexDefinition::tolerance], [VertexDefinition::gap], [VertexDefinition::final_vertex], [VertexDefinition::proto_vertex]
SmProtoTopologyManager::GetProtoVerticesSmProtoTopology.h:7811[ProtoTopologyManager::which_brep], [ProtoTopologyManager::tolerance], [ProtoTopologyManager::proto_vertices], [ProtoTopologyManager::proto_edges], [ProtoTopologyManager::proto_faces]
SmProtoTopologyManager::GetProtoEdgesSmProtoTopology.h:7821[ProtoVertex::position], [ProtoVertex::tolerance], [ProtoVertex::num_vertex_definitions], [ProtoVertex::num_proto_edges], [ProtoVertex::vertex_definitions], [ProtoVertex::proto_edges]
SmProtoTopologyManager::GetProtoFacesSmProtoTopology.h:7831[ProtoTopologyManager::which_brep], [ProtoTopologyManager::tolerance], [ProtoTopologyManager::proto_vertices], [ProtoTopologyManager::proto_edges], [ProtoTopologyManager::proto_faces]
SmProtoTopologyManager::AddProtoVertexSmProtoTopology.h:7971[ProtoTopologyManager::add_proto_vertex], [ProtoTopologyManager::add_proto_edge], [ProtoTopologyManager::add_proto_face]
SmProtoTopologyManager::AddProtoEdgeSmProtoTopology.h:7981[ProtoVertex::clear_vertex_definitions], [ProtoVertex::add_proto_edge]
SmProtoTopologyManager::AddProtoFaceSmProtoTopology.h:7991[ProtoTopologyManager::add_proto_vertex], [ProtoTopologyManager::add_proto_edge], [ProtoTopologyManager::add_proto_face]
SmProtoTopologyManager::GetClassStringSmProtoTopology.h:9491[owning_topology::TYPE], [owning_topology::TYPE_STRING], [owning_topology::CLASS_STRING], [owning_topology::is_kind_of]
SmProtoTopologyManager::GetTypeSmProtoTopology.h:9491[proto::MANAGER_TYPE], [proto::MANAGER_TYPE_STRING], [proto::MANAGER_CLASS_STRING], [proto::manager_is_kind_of]
SmProtoTopologyManager::GetTypeStringSmProtoTopology.h:9491[owning_topology::TYPE], [owning_topology::TYPE_STRING], [owning_topology::CLASS_STRING], [owning_topology::is_kind_of]
SmAssembly::~SmAssemblySmAssembly.cpp:409[Assembly], [Assembly::new], [Assembly::destroy]
SmAssembly::GetAssemblyInstancesSmAssembly.cpp:3664[Assembly::assembly_instances]
SmAssembly::IsKindOfSmAssembly.cpp:4784[owning_topology::TYPE], [owning_topology::TYPE_STRING], [owning_topology::CLASS_STRING], [owning_topology::is_kind_of]
SmAssemblyInstance::~SmAssemblyInstanceSmAssemblyInstance.cpp:7611[AssemblyInstance], [AssemblyInstance::new], [AssemblyInstance::destroy]
SmAssemblyInstance::IsKindOfSmAssemblyInstance.cpp:2074[owning_topology::TYPE], [owning_topology::TYPE_STRING], [owning_topology::CLASS_STRING], [owning_topology::is_kind_of]
SmCopyBrepMap::SetAtSmCopyBrepMap.cpp:2121[CopyBrepMap::set_at], [CopyBrepMap::get_at]
SmCopyBrepMap::GetAtSmCopyBrepMap.cpp:4823[CopyBrepMap::set_at], [CopyBrepMap::get_at]
SmOwningTopology::ReverseListSmOwningTopology.cpp:9918[OwningTopology::reverse_list]
SmOwningTopology::IsKindOfSmOwningTopology.cpp:2584[owning_topology::TYPE], [owning_topology::TYPE_STRING], [owning_topology::CLASS_STRING], [owning_topology::is_kind_of]
sm_CanImprintSmProtoTopology.cpp:528[proto::can_imprint]
sm_TopoDimensionSmProtoTopology.cpp:668[proto::topo_dimension]
sm_FindPositionFromPCsSmProtoTopology.cpp:8495[proto::find_position_from_pcs], [proto::PositionFromPcs]
sm_AreSameCurveSmProtoTopology.cpp:27951[proto::are_same_curve]
sm_AreConnectedSmProtoTopology.cpp:33621[proto::are_connected]
sm_AreConnectedSmProtoTopology.cpp:36316[proto::are_connected]
sm_AreConnectedSmProtoTopology.cpp:38513[proto::are_connected]
sm_AreConnectedSmProtoTopology.cpp:40950[proto::are_connected]
sm_WhichPVToCombineSmProtoTopology.cpp:47229[ProtoTopologyManager::which_pv_to_combine]
SmVertexDefinition::SmVertexDefinitionSmProtoTopology.cpp:57338[VertexDefinition], [VertexDefinition::new], [ProtoTopologyManager::delete_vertex_definition]
SmVertexDefinition::~SmVertexDefinitionSmProtoTopology.cpp:6172
SmVertexDefinition::GetProtoTopologyManagerSmProtoTopology.cpp:6252
SmVertexDefinition::GetBrep1TopoSmProtoTopology.cpp:6412[VertexDefinition::brep1_topo], [VertexDefinition::brep2_topo], [VertexDefinition::brep1_topo_type], [VertexDefinition::brep2_topo_type]
SmVertexDefinition::GetBrep2TopoSmProtoTopology.cpp:6492[VertexDefinition::brep1_topo], [VertexDefinition::brep2_topo], [VertexDefinition::brep1_topo_type], [VertexDefinition::brep2_topo_type]
SmVertexDefinition::SetSrcTopoSmProtoTopology.cpp:65712[VertexDefinition::set_src_topo], [VertexDefinition::set_point_parameters]
SmVertexDefinition::SetPointParametersSmProtoTopology.cpp:6757[VertexDefinition::set_src_topo], [VertexDefinition::set_point_parameters]
SmVertexDefinition::ResolveSmProtoTopology.cpp:69279[ProtoTopologyManager::resolve_vertex_definition]
SmEdgeDefinition::~SmEdgeDefinitionSmProtoTopology.cpp:92722[EdgeDefinition], [EdgeDefinition::new], [EdgeDefinition::copy_definition], [EdgeDefinition::destroy]
SmEdgeDefinition::DestructSmProtoTopology.cpp:9579[EdgeDefinition::destruct]
SmEdgeDefinition::GetSrcTopo_TYPESmProtoTopology.cpp:97219[VertexDefinition::src_topo], [VertexDefinition::src_topo_type], [VertexDefinition::brep_t_param], [VertexDefinition::brep_uv_param], [VertexDefinition::brep_point_classif]
SmEdgeDefinition::GetStartProtoVertexSmProtoTopology.cpp:9982[ProtoTopologyManager::edge_def_start_proto_vertex], [ProtoTopologyManager::edge_def_end_proto_vertex]
SmEdgeDefinition::GetEndProtoVertexSmProtoTopology.cpp:10062[ProtoTopologyManager::edge_def_start_proto_vertex], [ProtoTopologyManager::edge_def_end_proto_vertex]
SmEdgeDefinition::GetProtoTopologyManagerSmProtoTopology.cpp:10142
SmEdgeDefinition::SetXSectIntervalSmProtoTopology.cpp:102210[EdgeDefinition::set_xsect_interval_min_max]
SmEdgeDefinition::GetEndPositionSmProtoTopology.cpp:104125[ProtoTopologyManager::edge_def_end_position_at], [EdgeDefinition::end_position]
SmEdgeDefinition::GetEndPositionSmProtoTopology.cpp:107225[ProtoTopologyManager::edge_def_end_position_at], [EdgeDefinition::end_position]
SmEdgeDefinition::EvaluateSmProtoTopology.cpp:114023[EdgeDefinition::evaluate], [EdgeDefinition::evaluate_mid]
SmEdgeDefinition::EvaluateMidSmProtoTopology.cpp:11699[EdgeDefinition::evaluate], [EdgeDefinition::evaluate_mid]
SmEdgeDefinition::ReverseOrientationSmProtoTopology.cpp:118612[EdgeDefinition::reverse_orientation], [EdgeDefinition::reparameterize]
SmEdgeDefinition::ReparameterizeSmProtoTopology.cpp:120622[EdgeDefinition::reverse_orientation], [EdgeDefinition::reparameterize]
SmEdgeDefinition::IsSameEdgeDefinitionSmProtoTopology.cpp:124760[ProtoTopologyManager::is_same_edge_definition]
SmEdgeDefinition::IsInteriorPointSmProtoTopology.cpp:131546[EdgeDefinition::is_interior_point]
SmProtoVertex::SmProtoVertexSmProtoTopology.cpp:174716[ProtoVertex], [ProtoTopologyManager::new_proto_vertex], [ProtoTopologyManager::new_proto_vertex_with_pcs], [ProtoTopologyManager::delete_proto_vertex_object]
SmProtoVertex::SmProtoVertexSmProtoTopology.cpp:176927[ProtoVertex], [ProtoTopologyManager::new_proto_vertex], [ProtoTopologyManager::new_proto_vertex_with_pcs], [ProtoTopologyManager::delete_proto_vertex_object]
SmProtoVertex::~SmProtoVertexSmProtoTopology.cpp:188115[ProtoVertex], [ProtoTopologyManager::new_proto_vertex], [ProtoTopologyManager::new_proto_vertex_with_pcs], [ProtoTopologyManager::delete_proto_vertex_object]
SmProtoVertex::FindMatchingVertexDefinitionSmProtoTopology.cpp:192321[ProtoTopologyManager::find_matching_vertex_definition]
SmProtoTopologyManager::FindProtoVertexSmProtoTopology.cpp:198037[ProtoTopologyManager::find_proto_vertex], [ProtoTopologyManager::find_edge_definition_from_edge]
SmProtoTopologyManager::FindEdgeDefinitionFromEdgeSmProtoTopology.cpp:202437[ProtoTopologyManager::find_proto_vertex], [ProtoTopologyManager::find_edge_definition_from_edge]
SmProtoVertex::RemoveVertexDefinitionSmProtoTopology.cpp:206813[ProtoVertex::remove_vertex_definition], [ProtoVertex::remove_proto_edge]
SmProtoVertex::RemoveProtoEdgeSmProtoTopology.cpp:208911[ProtoVertex::remove_vertex_definition], [ProtoVertex::remove_proto_edge]
SmProtoVertex::GetClosestVertexDefinitionSmProtoTopology.cpp:210618[ProtoTopologyManager::closest_vertex_definition]
SmProtoVertex::GetFinalVertexSmProtoTopology.cpp:213391[ProtoTopologyManager::proto_vertex_final_vertex]
SmProtoVertex::AddVertexDefinitionSmProtoTopology.cpp:242211[ProtoTopologyManager::add_vertex_definition]
SmProtoVertex::CombineProtoVertexSmProtoTopology.cpp:257433[ProtoTopologyManager::combine_proto_vertex]
SmProtoEdge::SmProtoEdgeSmProtoTopology.cpp:261920[ProtoEdge], [ProtoTopologyManager::new_proto_edge], [ProtoTopologyManager::copy_proto_edge], [ProtoTopologyManager::delete_proto_edge_object]
SmProtoEdge::~SmProtoEdgeSmProtoTopology.cpp:264529[ProtoEdge], [ProtoTopologyManager::new_proto_edge], [ProtoTopologyManager::copy_proto_edge], [ProtoTopologyManager::delete_proto_edge_object]
SmProtoEdge::GetOverlappingPEGroupSmProtoTopology.cpp:268136[ProtoTopologyManager::overlapping_pe_group]
SmProtoEdge::GetEndPositionSmProtoTopology.cpp:275148[ProtoTopologyManager::proto_edge_end_position_at], [ProtoTopologyManager::proto_edge_end_position]
SmProtoEdge::RelateCoincidentPFSmProtoTopology.cpp:28167[ProtoTopologyManager::relate_coincident_pf]
SmProtoEdge::EvaluateSmProtoTopology.cpp:283025[ProtoTopologyManager::proto_edge_evaluate], [ProtoTopologyManager::proto_edge_evaluate_mid]
SmProtoEdge::EvaluateMidSmProtoTopology.cpp:28618[EdgeDefinition::evaluate], [EdgeDefinition::evaluate_mid]
SmProtoEdge::IsSameProtoEdgeSmProtoTopology.cpp:288964[ProtoTopologyManager::is_same_proto_edge]
SmProtoEdge::ReplaceProtoVertexSmProtoTopology.cpp:29598[ProtoEdge::replace_proto_vertex], [ProtoEdge::remove_edge_definition], [ProtoEdge::remove_proto_vertex]
SmProtoEdge::RemoveEdgeDefinitionSmProtoTopology.cpp:334713[ProtoEdge::replace_proto_vertex], [ProtoEdge::remove_edge_definition], [ProtoEdge::remove_proto_vertex]
SmProtoEdge::RemoveProtoVertexSmProtoTopology.cpp:336817[ProtoEdge::replace_proto_vertex], [ProtoEdge::remove_edge_definition], [ProtoEdge::remove_proto_vertex]
SmProtoTopologyManager::SmProtoTopologyManagerSmProtoTopology.cpp:352534[ProtoTopologyManager], [ProtoTopologyManager::new], [ProtoTopologyManager::destroy], [ProtoTopologyManager::reset]
SmProtoTopologyManager::~SmProtoTopologyManagerSmProtoTopology.cpp:35668
SmProtoTopologyManager::ResetSmProtoTopology.cpp:35806[ProtoTopologyManager], [ProtoTopologyManager::new], [ProtoTopologyManager::destroy], [ProtoTopologyManager::reset]
SmProtoTopologyManager::GetAllVertexDefinitionsSmProtoTopology.cpp:365519[ProtoTopologyManager::all_vertex_definitions], [ProtoTopologyManager::all_edge_definitions]
SmProtoTopologyManager::GetAllEdgeDefinitionsSmProtoTopology.cpp:368018[ProtoTopologyManager::all_vertex_definitions], [ProtoTopologyManager::all_edge_definitions]
SmProtoTopologyManager::RemoveVertexDefinitionSmProtoTopology.cpp:426122[ProtoTopologyManager::remove_vertex_definition], [ProtoTopologyManager::remove_proto_vertex], [ProtoTopologyManager::remove_proto_edge]
SmProtoTopologyManager::RemoveProtoVertexSmProtoTopology.cpp:429216[ProtoEdge::replace_proto_vertex], [ProtoEdge::remove_edge_definition], [ProtoEdge::remove_proto_vertex]
SmProtoTopologyManager::RemoveProtoEdgeSmProtoTopology.cpp:434619[ProtoVertex::remove_vertex_definition], [ProtoVertex::remove_proto_edge]
sm_IsInteriorSmProtoTopology.cpp:443536[proto::is_interior]
sm_AreOverlappingSmProtoTopology.cpp:4489159[proto::are_overlapping]
SmProtoTopologyManager::CheckOverlappingProtoEdgesSmProtoTopology.cpp:465759[ProtoTopologyManager::check_overlapping_proto_edges]
SmProtoTopologyManager::CreateProtoFaceSmProtoTopology.cpp:490642[ProtoTopologyManager::create_proto_face]
sm_FindEDOnDegenFaceSmProtoTopology.cpp:643073[proto::find_ed_on_degen_face]
SmProtoTopologyManager::CanCombineEdgeDefinitionsSmProtoTopology.cpp:6509128[ProtoTopologyManager::can_combine_edge_definitions]
SmProtoTopologyManager::RemoveCoincidentNoEdgeProtoVertexSmProtoTopology.cpp:6859116[ProtoTopologyManager::remove_coincident_no_edge_proto_vertex]
SmProtoTopologyManager::IsKindOfSmProtoTopology.cpp:79684[owning_topology::TYPE], [owning_topology::TYPE_STRING], [owning_topology::CLASS_STRING], [owning_topology::is_kind_of]
sm_TransformIndependentObjectSmApiGeneral.cpp:513107[api_transform::transform_independent_object], [api_transform::TransformObject]
SmApiTransformSmApiGeneral.cpp:6309[api_transform::api_transform], [api_transform::api_scale], [api_transform::api_scale_by_pt], [api_transform::api_translate], [api_transform::api_rotate]
SmApiScaleSmApiGeneral.cpp:6469[api_transform::api_transform], [api_transform::api_scale], [api_transform::api_scale_by_pt], [api_transform::api_translate], [api_transform::api_rotate]
SmApiScaleByPtSmApiGeneral.cpp:66423[api_transform::api_transform], [api_transform::api_scale], [api_transform::api_scale_by_pt], [api_transform::api_translate], [api_transform::api_rotate]
SmApiTranslateSmApiGeneral.cpp:69410[api_transform::api_transform], [api_transform::api_scale], [api_transform::api_scale_by_pt], [api_transform::api_translate], [api_transform::api_rotate]
SmApiRotateSmApiGeneral.cpp:71226[api_transform::api_transform], [api_transform::api_scale], [api_transform::api_scale_by_pt], [api_transform::api_translate], [api_transform::api_rotate]
Module file-header table (85 rows)
RustUpstream
[OwningTopology], [OwningTopology::new], [OwningTopology::destroy]SmOwningTopology, its constructor and destructor
[OwningTopology::size], [OwningTopology::list], [OwningTopology::set_list]GetSize, GetList, SetList
[OwningTopology::update_list_size]SmOwningTopology::UpdateListSize
[OwningTopology::insert_after]SmOwningTopology::InsertAfter
[OwningTopology::pre_insert], [OwningTopology::post_insert]PreInsert, PostInsert
[OwningTopology::remove]SmOwningTopology::Remove
[OwningTopology::is_in_list]SmOwningTopology::IsInList
[OwningTopology::get_all], [OwningTopology::get_all_ignoring_status]SmOwningTopology::GetAll
[OwningTopology::reverse_list]SmOwningTopology::ReverseList
[OwningRecords], [destroy_topology]the SmOwningTopology* list owner, SmTopology::~SmTopology
[owning_topology::TYPE], [owning_topology::TYPE_STRING], [owning_topology::CLASS_STRING], [owning_topology::is_kind_of]SmOwningTopology::GetType, GetTypeString, GetClassString, IsKindOf
[Assembly], [Assembly::new], [Assembly::destroy]SmAssembly, its constructor, ~SmAssembly
[Assembly::assembly_instances]SmAssembly::GetAssemblyInstances
[Assembly::add_instance], [Assembly::remove_instance]SmAssembly::AddInstance, RemoveInstance
[assembly::ASSEMBLY_TYPE], [assembly::ASSEMBLY_TYPE_STRING], [assembly::ASSEMBLY_CLASS_STRING], [assembly::assembly_is_kind_of]SmAssembly::GetType, GetTypeString, GetClassString, IsKindOf
[AssemblyInstance], [AssemblyInstance::new], [AssemblyInstance::destroy]SmAssemblyInstance, its constructor, ~SmAssemblyInstance
[AssemblyInstance::parent_assembly]SmAssemblyInstance::GetParentAssembly
[assembly::ASSEMBLY_INSTANCE_TYPE], [assembly::ASSEMBLY_INSTANCE_TYPE_STRING], [assembly::ASSEMBLY_INSTANCE_CLASS_STRING], [assembly::assembly_instance_is_kind_of]SmAssemblyInstance::GetType, GetTypeString, GetClassString, IsKindOf
[CopyBrepMap], [CopyBrepMap::new], [CopyBrepMap::destroy]SmCopyBrepMap, its constructor and destructor
[CopyBrepMap::set_at], [CopyBrepMap::get_at]SmCopyBrepMap::SetAt, GetAt
[proto::can_imprint]sm_CanImprint (static)
[proto::topo_dimension]sm_TopoDimension (static)
[proto::find_position_from_pcs], [proto::PositionFromPcs]sm_FindPositionFromPCs (static)
[proto::are_same_curve]sm_AreSameCurve (static)
[proto::are_connected]the four sm_AreConnected overloads (static)
[ProtoTopology]the B-rep walks those helpers make (see Deviations)
[ProtoTopologyManager::which_pv_to_combine]sm_WhichPVToCombine (static)
[proto::is_interior]sm_IsInterior (static)
[proto::are_overlapping]sm_AreOverlapping (static)
[proto::find_ed_on_degen_face]sm_FindEDOnDegenFace
[VertexDefinition], [VertexDefinition::new], [ProtoTopologyManager::delete_vertex_definition]SmVertexDefinition, its constructor and destructor
[VertexDefinition::position], [VertexDefinition::tolerance], [VertexDefinition::gap], [VertexDefinition::final_vertex], [VertexDefinition::proto_vertex]GetPosition, GetTolerance, GetGap, GetFinalVertex, GetProtoVertex
[VertexDefinition::brep1_topo], [VertexDefinition::brep2_topo], [VertexDefinition::brep1_topo_type], [VertexDefinition::brep2_topo_type]GetBrep1Topo, GetBrep2Topo, GetBrep1TopoType, GetBrep2TopoType
[VertexDefinition::src_topo], [VertexDefinition::src_topo_type], [VertexDefinition::brep_t_param], [VertexDefinition::brep_uv_param], [VertexDefinition::brep_point_classif]GetSrcTopo, GetSrcTopo_TYPE, GetBrepTParam, GetBrepUVParam, GetBrepPointClassif
[VertexDefinition::set_position], [VertexDefinition::set_proto_vertex], [VertexDefinition::set_final_vertex]SetPosition, SetProtoVertex, SetFinalVertex
[VertexDefinition::set_src_topo], [VertexDefinition::set_point_parameters]SmVertexDefinition::SetSrcTopo, SetPointParameters
[ProtoTopologyManager::vertex_def_num_proto_edges]SmVertexDefinition::GetNumProtoEdges
[ProtoTopologyManager::resolve_vertex_definition]SmVertexDefinition::Resolve
[EdgeDefinition], [EdgeDefinition::new], [EdgeDefinition::copy_definition], [EdgeDefinition::destroy]SmEdgeDefinition, its constructors, ~SmEdgeDefinition
[EdgeDefinition::destruct]SmEdgeDefinition::Destruct
[EdgeDefinition::xsect_curve_3d], [EdgeDefinition::xsect_interval], [EdgeDefinition::tolerance], [EdgeDefinition::xsect_uv_curve]GetXSectCurve3d, GetXSectInterval, GetTolerance, GetXSectUVCurve
[EdgeDefinition::src_topo], [EdgeDefinition::src_topo_type], [EdgeDefinition::proto_edge], [EdgeDefinition::final_edge]GetSrcTopo, GetSrcTopo_TYPE, GetProtoEdge, GetFinalEdge
[EdgeDefinition::set_xsect_curve_3d], [EdgeDefinition::set_xsect_curve_uv], [EdgeDefinition::set_proto_edge], [EdgeDefinition::set_src_topo]SetXSectCurve3d, SetXSectCurveUV, SetProtoEdge, SetSrcTopo
[EdgeDefinition::set_xsect_interval_min_max]SmEdgeDefinition::SetXSectInterval(double, double)
[ProtoTopologyManager::edge_def_start_proto_vertex], [ProtoTopologyManager::edge_def_end_proto_vertex]SmEdgeDefinition::GetStartProtoVertex, GetEndProtoVertex
[ProtoTopologyManager::edge_def_end_position_at], [EdgeDefinition::end_position]the two SmEdgeDefinition::GetEndPosition
[EdgeDefinition::evaluate], [EdgeDefinition::evaluate_mid]SmEdgeDefinition::Evaluate, EvaluateMid
[EdgeDefinition::reverse_orientation], [EdgeDefinition::reparameterize]SmEdgeDefinition::ReverseOrientation, Reparameterize
[ProtoTopologyManager::is_same_edge_definition]SmEdgeDefinition::IsSameEdgeDefinition
[EdgeDefinition::is_interior_point]SmEdgeDefinition::IsInteriorPoint
[ProtoVertex], [ProtoTopologyManager::new_proto_vertex], [ProtoTopologyManager::new_proto_vertex_with_pcs], [ProtoTopologyManager::delete_proto_vertex_object]SmProtoVertex, two of its constructors, ~SmProtoVertex
[ProtoVertex::position], [ProtoVertex::tolerance], [ProtoVertex::num_vertex_definitions], [ProtoVertex::num_proto_edges], [ProtoVertex::vertex_definitions], [ProtoVertex::proto_edges]GetPosition, GetTolerance, GetNumVertexDefinitions, GetNumProtoEdges, GetVertexDefinitions, GetProtoEdges
[ProtoVertex::clear_vertex_definitions], [ProtoVertex::add_proto_edge]ClearVertexDefinitions, AddProtoEdge
[ProtoVertex::remove_vertex_definition], [ProtoVertex::remove_proto_edge]SmProtoVertex::RemoveVertexDefinition, RemoveProtoEdge
[ProtoTopologyManager::add_vertex_definition]SmProtoVertex::AddVertexDefinition(SmVertexDefinition*)
[ProtoTopologyManager::find_matching_vertex_definition]SmProtoVertex::FindMatchingVertexDefinition
[ProtoTopologyManager::closest_vertex_definition]SmProtoVertex::GetClosestVertexDefinition
[ProtoTopologyManager::proto_vertex_final_vertex]SmProtoVertex::GetFinalVertex
[ProtoTopologyManager::combine_proto_vertex]SmProtoVertex::CombineProtoVertex
[ProtoEdge], [ProtoTopologyManager::new_proto_edge], [ProtoTopologyManager::copy_proto_edge], [ProtoTopologyManager::delete_proto_edge_object]SmProtoEdge, its constructors, ~SmProtoEdge
[ProtoEdge::xsect_interval], [ProtoEdge::tolerance], [ProtoEdge::start_proto_vertex], [ProtoEdge::end_proto_vertex], [ProtoEdge::overlapping_pes]GetXSectInterval, GetTolerance, GetStartProtoVertex, GetEndProtoVertex, both GetOverlappingPEs
[ProtoEdge::num_edge_definitions], [ProtoEdge::edge_definitions]GetNumEdgeDefinitions, GetEdgeDefinitions
[ProtoEdge::set_start_proto_vertex], [ProtoEdge::set_end_proto_vertex], [ProtoEdge::add_overlapping_pe], [ProtoEdge::append_overlapping_pes], [ProtoEdge::clear_edge_definitions]SetStartProtoVertex, SetEndProtoVertex, AddOverlappingPE, AppendOverlappingPEs, ClearEdgeDefinitions
[ProtoEdge::replace_proto_vertex], [ProtoEdge::remove_edge_definition], [ProtoEdge::remove_proto_vertex]SmProtoEdge::ReplaceProtoVertex, RemoveEdgeDefinition, RemoveProtoVertex
[ProtoTopologyManager::overlapping_pe_group]SmProtoEdge::GetOverlappingPEGroup
[ProtoTopologyManager::proto_edge_end_position_at], [ProtoTopologyManager::proto_edge_end_position]the two SmProtoEdge::GetEndPosition
[ProtoTopologyManager::relate_coincident_pf]SmProtoEdge::RelateCoincidentPF
[ProtoTopologyManager::proto_edge_evaluate], [ProtoTopologyManager::proto_edge_evaluate_mid]SmProtoEdge::Evaluate, EvaluateMid
[ProtoTopologyManager::is_same_proto_edge]SmProtoEdge::IsSameProtoEdge
[ProtoFace], [ProtoTopologyManager::new_proto_face]SmProtoFace, its constructor and destructor
[ProtoFace::src_topo], [ProtoFace::coinc_proto_edges], [ProtoFace::set_src_topo]SmProtoFace::GetSrcTopo, both GetCoincProtoEdges, SetSrcTopo
[ProtoTopologyManager], [ProtoTopologyManager::new], [ProtoTopologyManager::destroy], [ProtoTopologyManager::reset]SmProtoTopologyManager, its constructor, destructor, Reset
[ProtoTopologyManager::which_brep], [ProtoTopologyManager::tolerance], [ProtoTopologyManager::proto_vertices], [ProtoTopologyManager::proto_edges], [ProtoTopologyManager::proto_faces]GetWhichBrep, GetTolerance, GetProtoVertices, GetProtoEdges, GetProtoFaces
[ProtoTopologyManager::add_proto_vertex], [ProtoTopologyManager::add_proto_edge], [ProtoTopologyManager::add_proto_face]AddProtoVertex, AddProtoEdge, AddProtoFace
[ProtoTopologyManager::find_proto_vertex], [ProtoTopologyManager::find_edge_definition_from_edge]FindProtoVertex, FindEdgeDefinitionFromEdge
[ProtoTopologyManager::all_vertex_definitions], [ProtoTopologyManager::all_edge_definitions]GetAllVertexDefinitions, GetAllEdgeDefinitions
[ProtoTopologyManager::remove_vertex_definition], [ProtoTopologyManager::remove_proto_vertex], [ProtoTopologyManager::remove_proto_edge]SmProtoTopologyManager::RemoveVertexDefinition, RemoveProtoVertex, RemoveProtoEdge
[ProtoTopologyManager::check_overlapping_proto_edges]SmProtoTopologyManager::CheckOverlappingProtoEdges
[ProtoTopologyManager::create_proto_face]SmProtoTopologyManager::CreateProtoFace
[ProtoTopologyManager::can_combine_edge_definitions]SmProtoTopologyManager::CanCombineEdgeDefinitions
[ProtoTopologyManager::remove_coincident_no_edge_proto_vertex]SmProtoTopologyManager::RemoveCoincidentNoEdgeProtoVertex
[proto::MANAGER_TYPE], [proto::MANAGER_TYPE_STRING], [proto::MANAGER_CLASS_STRING], [proto::manager_is_kind_of]SmProtoTopologyManager::GetType, GetTypeString, GetClassString, IsKindOf
[api_transform::transform_independent_object], [api_transform::TransformObject]sm_TransformIndependentObject (anonymous namespace)
[api_transform::PolyBrepTransform], [api_transform::PolyBrepTarget]the SmPolyBrep* it transforms (SmPolyBrep::Transform)
[api_transform::api_transform], [api_transform::api_scale], [api_transform::api_scale_by_pt], [api_transform::api_translate], [api_transform::api_rotate]SmApiTransform, SmApiScale, SmApiScaleByPt, SmApiTranslate, SmApiRotate

Upstream tests reaching this unit

prog_test:my_test_extent3d, prog_test:my_test_vector2d, prog_test:my_test_surface_closest_point, prog_test:my_test_drop_point, prog_test:my_test_matrix, prog_test:my_test_reversed_line_join