@metamesh/modeling 0.11.0 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +39 -0
- package/README.md +60 -58
- package/dist/api/engine.d.ts +123 -97
- package/dist/api/geometry.d.ts +3896 -3307
- package/dist/api/index.d.ts +2489 -2267
- package/dist/api/text.d.ts +119 -107
- package/dist/docs/guides/concepts.md +197 -0
- package/dist/docs/guides/fonts.md +51 -0
- package/dist/docs/guides/fundamentals.md +135 -0
- package/dist/docs/guides/generation.md +221 -0
- package/dist/docs/guides/hosting.md +88 -0
- package/dist/docs/guides/recipes.md +668 -0
- package/dist/docs/manifest.json +9851 -0
- package/dist/docs/reference/engine/Export3mfOptions.md +29 -0
- package/dist/docs/reference/engine/ExportMeshPart.md +65 -0
- package/dist/docs/reference/engine/GenerationOptions.md +62 -0
- package/dist/docs/reference/engine/GeometryResource.md +77 -0
- package/dist/docs/reference/engine/ModelDependencies.md +41 -0
- package/dist/docs/reference/engine/ModelEngine.md +103 -0
- package/dist/docs/reference/engine/ModelEngineOptions.md +33 -0
- package/dist/docs/reference/engine/ModelSession.md +96 -0
- package/dist/docs/reference/engine/ModelSnapshot.md +173 -0
- package/dist/docs/reference/engine/SessionOptions.md +123 -0
- package/dist/docs/reference/engine/SnapshotPart.md +130 -0
- package/dist/docs/reference/engine/categories/host-lifecycle.md +37 -0
- package/dist/docs/reference/engine/createModelEngine.md +56 -0
- package/dist/docs/reference/engine/defaultModelingLimits.md +7 -0
- package/dist/docs/reference/engine/modelingWasmUrl.md +7 -0
- package/dist/docs/reference/engine/validateModel.md +48 -0
- package/dist/docs/reference/engine.md +25 -0
- package/dist/docs/reference/geometry/AcmeThreadProfileSpec.md +75 -0
- package/dist/docs/reference/geometry/AlignedCircularSegmentsOptions.md +79 -0
- package/dist/docs/reference/geometry/Anchor3.md +49 -0
- package/dist/docs/reference/geometry/ArcCurve2.md +70 -0
- package/dist/docs/reference/geometry/ArcCurve3.md +94 -0
- package/dist/docs/reference/geometry/AttachTransformOptions.md +58 -0
- package/dist/docs/reference/geometry/AxisAngleRotation3.md +61 -0
- package/dist/docs/reference/geometry/Bounds2.md +39 -0
- package/dist/docs/reference/geometry/Bounds3.md +39 -0
- package/dist/docs/reference/geometry/BoundsFit2.md +52 -0
- package/dist/docs/reference/geometry/BoundsFit3.md +52 -0
- package/dist/docs/reference/geometry/BoundsFitOptions.md +23 -0
- package/dist/docs/reference/geometry/BoundsFromSizeOptions.md +23 -0
- package/dist/docs/reference/geometry/BoxAnchorFace.md +7 -0
- package/dist/docs/reference/geometry/BoxAnchorOptions.md +59 -0
- package/dist/docs/reference/geometry/BoxEdge.md +7 -0
- package/dist/docs/reference/geometry/BoxEdgeSelection.md +14 -0
- package/dist/docs/reference/geometry/BoxEdgeTreatments.md +15 -0
- package/dist/docs/reference/geometry/BoxOptions.md +87 -0
- package/dist/docs/reference/geometry/ButtressPressureFlankSide.md +7 -0
- package/dist/docs/reference/geometry/ButtressThreadProfileSpec.md +93 -0
- package/dist/docs/reference/geometry/ChamferedEdgeTreatment.md +29 -0
- package/dist/docs/reference/geometry/CircleContourOptions.md +15 -0
- package/dist/docs/reference/geometry/CircularPrimitiveOptions.md +59 -0
- package/dist/docs/reference/geometry/ClearanceHoleDimensions.md +41 -0
- package/dist/docs/reference/geometry/ClearanceHoleFit.md +7 -0
- package/dist/docs/reference/geometry/CompensatedThreadDiameters.md +53 -0
- package/dist/docs/reference/geometry/Contour.md +17 -0
- package/dist/docs/reference/geometry/ContourCurve.md +35 -0
- package/dist/docs/reference/geometry/ContourPoint.md +29 -0
- package/dist/docs/reference/geometry/ContourSegment.md +86 -0
- package/dist/docs/reference/geometry/CorrespondingComponent.md +46 -0
- package/dist/docs/reference/geometry/CorrespondingContour.md +46 -0
- package/dist/docs/reference/geometry/CorrespondingProfile.md +22 -0
- package/dist/docs/reference/geometry/CorrespondingProfileStation.md +27 -0
- package/dist/docs/reference/geometry/CubicBezierCurve2.md +70 -0
- package/dist/docs/reference/geometry/CubicBezierCurve3.md +70 -0
- package/dist/docs/reference/geometry/Curve2.md +16 -0
- package/dist/docs/reference/geometry/Curve3.md +16 -0
- package/dist/docs/reference/geometry/CurveSamplingOptions.md +64 -0
- package/dist/docs/reference/geometry/CustomThreadProfileSpec.md +73 -0
- package/dist/docs/reference/geometry/CylinderAnchorFace.md +7 -0
- package/dist/docs/reference/geometry/CylinderAnchorOptions.md +83 -0
- package/dist/docs/reference/geometry/CylinderOptions.md +53 -0
- package/dist/docs/reference/geometry/CylindricalGearDimensions.md +209 -0
- package/dist/docs/reference/geometry/CylindricalGearMeshKind.md +7 -0
- package/dist/docs/reference/geometry/CylindricalGearOutlineOptions.md +71 -0
- package/dist/docs/reference/geometry/CylindricalGearPairDimensions.md +82 -0
- package/dist/docs/reference/geometry/CylindricalGearPairMotionOptions.md +34 -0
- package/dist/docs/reference/geometry/CylindricalGearPairMotionReport.md +41 -0
- package/dist/docs/reference/geometry/CylindricalGearPairSpec.md +47 -0
- package/dist/docs/reference/geometry/CylindricalGearSpec.md +82 -0
- package/dist/docs/reference/geometry/DEFAULT_GEOMETRY_TOLERANCE.md +7 -0
- package/dist/docs/reference/geometry/EdgeTreatment.md +17 -0
- package/dist/docs/reference/geometry/EllipseContourOptions.md +15 -0
- package/dist/docs/reference/geometry/EndTreatments.md +34 -0
- package/dist/docs/reference/geometry/ExtrudeOptions.md +134 -0
- package/dist/docs/reference/geometry/ExtrusionSamplingOptions.md +77 -0
- package/dist/docs/reference/geometry/FittedTextLayout.md +60 -0
- package/dist/docs/reference/geometry/Frame3.md +58 -0
- package/dist/docs/reference/geometry/GeometryError.md +97 -0
- package/dist/docs/reference/geometry/GeometryErrorCode.md +7 -0
- package/dist/docs/reference/geometry/GeometryErrorContext.md +29 -0
- package/dist/docs/reference/geometry/GeometryResolution.md +65 -0
- package/dist/docs/reference/geometry/GeometrySamplingLimits.md +62 -0
- package/dist/docs/reference/geometry/GeometryToleranceOptions.md +41 -0
- package/dist/docs/reference/geometry/GridPatternOptions.md +42 -0
- package/dist/docs/reference/geometry/HeightfieldMeshLimits.md +14 -0
- package/dist/docs/reference/geometry/HeightfieldOptions.md +67 -0
- package/dist/docs/reference/geometry/HeightfieldPreflight.md +53 -0
- package/dist/docs/reference/geometry/HelicalThreadRidgeMeshOptions.md +141 -0
- package/dist/docs/reference/geometry/HelicalThreadSolidMeshOptions.md +265 -0
- package/dist/docs/reference/geometry/HelicalThreadSolidMeshPreflight.md +53 -0
- package/dist/docs/reference/geometry/IDENTITY_TRANSFORM3.md +14 -0
- package/dist/docs/reference/geometry/InternalThreadCutterOptions.md +242 -0
- package/dist/docs/reference/geometry/LineCurve2.md +46 -0
- package/dist/docs/reference/geometry/LineCurve3.md +46 -0
- package/dist/docs/reference/geometry/LinearPatternOptions.md +30 -0
- package/dist/docs/reference/geometry/LoftCorrespondence.md +19 -0
- package/dist/docs/reference/geometry/LoftMeshStation.md +27 -0
- package/dist/docs/reference/geometry/LoftOptions.md +84 -0
- package/dist/docs/reference/geometry/LoftPlacement.md +66 -0
- package/dist/docs/reference/geometry/METRIC_FASTENER_STANDARDS.md +18 -0
- package/dist/docs/reference/geometry/MatchProfilesOptions.md +35 -0
- package/dist/docs/reference/geometry/MetricFastenerSize.md +7 -0
- package/dist/docs/reference/geometry/MetricFastenerStandard.md +72 -0
- package/dist/docs/reference/geometry/MetricHexNutDimensions.md +29 -0
- package/dist/docs/reference/geometry/MetricSocketCapHeadDimensions.md +41 -0
- package/dist/docs/reference/geometry/ModelingLimits.md +126 -0
- package/dist/docs/reference/geometry/PRINTABLE_THREAD_FIT_POLICIES.md +17 -0
- package/dist/docs/reference/geometry/Path2.md +14 -0
- package/dist/docs/reference/geometry/Path3.md +14 -0
- package/dist/docs/reference/geometry/PathFrame.md +46 -0
- package/dist/docs/reference/geometry/PathNormalGuide.md +38 -0
- package/dist/docs/reference/geometry/PathPatternOptions.md +46 -0
- package/dist/docs/reference/geometry/PathPlacement.md +34 -0
- package/dist/docs/reference/geometry/PlanarMeshOptimizationFallbackReason.md +7 -0
- package/dist/docs/reference/geometry/PlanarMeshOptimizationOptions.md +156 -0
- package/dist/docs/reference/geometry/PlanarMeshOptimizationResult.md +120 -0
- package/dist/docs/reference/geometry/PlanarPatchQuality.md +190 -0
- package/dist/docs/reference/geometry/Polygon.md +38 -0
- package/dist/docs/reference/geometry/PolylineResamplingOptions.md +92 -0
- package/dist/docs/reference/geometry/PrimitivePlacement.md +31 -0
- package/dist/docs/reference/geometry/PrimitivePlacementOptions.md +83 -0
- package/dist/docs/reference/geometry/PrintableThreadFit.md +7 -0
- package/dist/docs/reference/geometry/PrintableThreadFitPolicy.md +45 -0
- package/dist/docs/reference/geometry/Profile.md +22 -0
- package/dist/docs/reference/geometry/ProfileComponent2.md +46 -0
- package/dist/docs/reference/geometry/ProfileContour2.md +34 -0
- package/dist/docs/reference/geometry/ProfileSpan2.md +47 -0
- package/dist/docs/reference/geometry/ProfiledEdgeTreatment.md +36 -0
- package/dist/docs/reference/geometry/RackPitchDimensions.md +113 -0
- package/dist/docs/reference/geometry/RackPitchSpec.md +77 -0
- package/dist/docs/reference/geometry/RadialPatternOptions.md +62 -0
- package/dist/docs/reference/geometry/RadialSizing.md +7 -0
- package/dist/docs/reference/geometry/RadialSizingOptions.md +40 -0
- package/dist/docs/reference/geometry/RectangleContourOptions.md +66 -0
- package/dist/docs/reference/geometry/RectangleCornerTreatment.md +34 -0
- package/dist/docs/reference/geometry/RectangleCornerTreatments.md +14 -0
- package/dist/docs/reference/geometry/RectangleProfileOptions.md +94 -0
- package/dist/docs/reference/geometry/Region.md +14 -0
- package/dist/docs/reference/geometry/RegularPolygonContourOptions.md +84 -0
- package/dist/docs/reference/geometry/ResolvedGeometryTolerance.md +65 -0
- package/dist/docs/reference/geometry/RevolveOptions.md +82 -0
- package/dist/docs/reference/geometry/RoundedEdgeTreatment.md +91 -0
- package/dist/docs/reference/geometry/RowLayoutOptions.md +23 -0
- package/dist/docs/reference/geometry/SampleContourOptions.md +71 -0
- package/dist/docs/reference/geometry/SampleHelixOptions.md +95 -0
- package/dist/docs/reference/geometry/SampleSideProfileOptions.md +71 -0
- package/dist/docs/reference/geometry/SampledCurve2.md +34 -0
- package/dist/docs/reference/geometry/SampledCurve3.md +34 -0
- package/dist/docs/reference/geometry/SampledThreadHelices.md +58 -0
- package/dist/docs/reference/geometry/SideProfileCurve.md +35 -0
- package/dist/docs/reference/geometry/SideProfilePoint.md +29 -0
- package/dist/docs/reference/geometry/SideProfileSegment.md +86 -0
- package/dist/docs/reference/geometry/SmoothEdgeTreatment.md +71 -0
- package/dist/docs/reference/geometry/SolidMeshValidationOptions.md +34 -0
- package/dist/docs/reference/geometry/SphereOptions.md +15 -0
- package/dist/docs/reference/geometry/SquareThreadProfileSpec.md +75 -0
- package/dist/docs/reference/geometry/StrokePathCap.md +7 -0
- package/dist/docs/reference/geometry/StrokePathJoin.md +7 -0
- package/dist/docs/reference/geometry/StrokePathRegionOptions.md +85 -0
- package/dist/docs/reference/geometry/SvgImportOptions.md +60 -0
- package/dist/docs/reference/geometry/SvgRegionPreflight.md +61 -0
- package/dist/docs/reference/geometry/SvgRegionPreflightGeometryMetrics.md +118 -0
- package/dist/docs/reference/geometry/SvgRegionPreflightRepairs.md +65 -0
- package/dist/docs/reference/geometry/SvgRegionPreflightSourceMetrics.md +53 -0
- package/dist/docs/reference/geometry/SweepOptions.md +109 -0
- package/dist/docs/reference/geometry/SweepOrientation.md +109 -0
- package/dist/docs/reference/geometry/ThreadBevelOptions.md +53 -0
- package/dist/docs/reference/geometry/ThreadCircularSegmentsOptions.md +100 -0
- package/dist/docs/reference/geometry/ThreadCompensationOptions.md +73 -0
- package/dist/docs/reference/geometry/ThreadEndStyle.md +7 -0
- package/dist/docs/reference/geometry/ThreadEndTreatmentOptions.md +113 -0
- package/dist/docs/reference/geometry/ThreadHandedness.md +7 -0
- package/dist/docs/reference/geometry/ThreadHelixOptions.md +120 -0
- package/dist/docs/reference/geometry/ThreadLeadInEnvelope.md +7 -0
- package/dist/docs/reference/geometry/ThreadLeadInShape.md +7 -0
- package/dist/docs/reference/geometry/ThreadProfile.md +82 -0
- package/dist/docs/reference/geometry/ThreadProfileBaseSpec.md +49 -0
- package/dist/docs/reference/geometry/ThreadProfileSpec.md +19 -0
- package/dist/docs/reference/geometry/ThreadRole.md +7 -0
- package/dist/docs/reference/geometry/ThreadedNutBevel.md +7 -0
- package/dist/docs/reference/geometry/ThreadedNutOptions.md +269 -0
- package/dist/docs/reference/geometry/ThreadedNutPreflight.md +94 -0
- package/dist/docs/reference/geometry/ThreadedNutShape.md +7 -0
- package/dist/docs/reference/geometry/ThreadedRodOptions.md +242 -0
- package/dist/docs/reference/geometry/TorusOptions.md +105 -0
- package/dist/docs/reference/geometry/Transform3.md +12 -0
- package/dist/docs/reference/geometry/TrapezoidalThreadProfileSpec.md +91 -0
- package/dist/docs/reference/geometry/TriangleMesh.md +34 -0
- package/dist/docs/reference/geometry/TriangleMeshAnalysis.md +119 -0
- package/dist/docs/reference/geometry/TriangleMeshAnalysisOptions.md +75 -0
- package/dist/docs/reference/geometry/TriangleMeshMeasurements.md +75 -0
- package/dist/docs/reference/geometry/TriangleMeshQualityOptions.md +39 -0
- package/dist/docs/reference/geometry/TriangleMeshQualityReport.md +190 -0
- package/dist/docs/reference/geometry/TriangleMeshSignature.md +107 -0
- package/dist/docs/reference/geometry/TriangleMeshSignatureOptions.md +41 -0
- package/dist/docs/reference/geometry/TriangleMeshSignatureTolerances.md +29 -0
- package/dist/docs/reference/geometry/TriangleMeshValidationOptions.md +51 -0
- package/dist/docs/reference/geometry/TriangularThreadProfileSpec.md +91 -0
- package/dist/docs/reference/geometry/TubeOptions.md +138 -0
- package/dist/docs/reference/geometry/Vector2.md +7 -0
- package/dist/docs/reference/geometry/Vector3.md +7 -0
- package/dist/docs/reference/geometry/VectorTextArcBaseline.md +53 -0
- package/dist/docs/reference/geometry/VectorTextLayout.md +39 -0
- package/dist/docs/reference/geometry/VectorTextLayoutOptions.md +111 -0
- package/dist/docs/reference/geometry/VectorTextMetrics.md +94 -0
- package/dist/docs/reference/geometry/VectorTextOptions.md +50 -0
- package/dist/docs/reference/geometry/add3.md +38 -0
- package/dist/docs/reference/geometry/analyzeTriangleMesh.md +57 -0
- package/dist/docs/reference/geometry/analyzeTriangleMeshQuality.md +52 -0
- package/dist/docs/reference/geometry/anchorFrame3.md +40 -0
- package/dist/docs/reference/geometry/applyTransformDirection3.md +41 -0
- package/dist/docs/reference/geometry/applyTransformPoint3.md +39 -0
- package/dist/docs/reference/geometry/attachTransform.md +73 -0
- package/dist/docs/reference/geometry/boundsCenter.md +62 -0
- package/dist/docs/reference/geometry/boundsFromSize.md +83 -0
- package/dist/docs/reference/geometry/boundsSize.md +62 -0
- package/dist/docs/reference/geometry/boxAnchor3.md +48 -0
- package/dist/docs/reference/geometry/buildHelicalThreadRidgeMesh.md +68 -0
- package/dist/docs/reference/geometry/buildHelicalThreadSolidMesh.md +102 -0
- package/dist/docs/reference/geometry/categories/bounds-layout.md +35 -0
- package/dist/docs/reference/geometry/categories/curves-paths.md +63 -0
- package/dist/docs/reference/geometry/categories/mechanical.md +101 -0
- package/dist/docs/reference/geometry/categories/meshes.md +73 -0
- package/dist/docs/reference/geometry/categories/pattern-placement.md +34 -0
- package/dist/docs/reference/geometry/categories/primitive-options.md +36 -0
- package/dist/docs/reference/geometry/categories/profiles-regions.md +74 -0
- package/dist/docs/reference/geometry/categories/resolution-errors.md +46 -0
- package/dist/docs/reference/geometry/categories/transforms-math.md +63 -0
- package/dist/docs/reference/geometry/categories/vector-import.md +40 -0
- package/dist/docs/reference/geometry/circleContour.md +33 -0
- package/dist/docs/reference/geometry/closeToAxis.md +34 -0
- package/dist/docs/reference/geometry/compensateThreadDiameters.md +51 -0
- package/dist/docs/reference/geometry/compensateThreadProfileAxially.md +42 -0
- package/dist/docs/reference/geometry/compensateThreadProfileForFaceting.md +56 -0
- package/dist/docs/reference/geometry/composeTransform3.md +40 -0
- package/dist/docs/reference/geometry/computeClosedParallelTransportFrames.md +45 -0
- package/dist/docs/reference/geometry/computeParallelTransportFrames.md +47 -0
- package/dist/docs/reference/geometry/computeTriangleMeshCentroid.md +31 -0
- package/dist/docs/reference/geometry/containsBounds.md +72 -0
- package/dist/docs/reference/geometry/contourContainsPoint.md +33 -0
- package/dist/docs/reference/geometry/createAnchor3.md +63 -0
- package/dist/docs/reference/geometry/createThreadProfile.md +37 -0
- package/dist/docs/reference/geometry/createTriangleMeshSignature.md +60 -0
- package/dist/docs/reference/geometry/cross3.md +38 -0
- package/dist/docs/reference/geometry/cumulativePathLengths.md +33 -0
- package/dist/docs/reference/geometry/cylinderAnchor3.md +56 -0
- package/dist/docs/reference/geometry/defaultGeometrySamplingLimits.md +14 -0
- package/dist/docs/reference/geometry/distributeAlongPath.md +51 -0
- package/dist/docs/reference/geometry/dot3.md +38 -0
- package/dist/docs/reference/geometry/ellipseContour.md +33 -0
- package/dist/docs/reference/geometry/eulerTransform3.md +38 -0
- package/dist/docs/reference/geometry/extrudeMesh.md +73 -0
- package/dist/docs/reference/geometry/fitBounds.md +95 -0
- package/dist/docs/reference/geometry/fitTextLayout.md +57 -0
- package/dist/docs/reference/geometry/frameTransform3.md +44 -0
- package/dist/docs/reference/geometry/getMetricClearanceHole.md +33 -0
- package/dist/docs/reference/geometry/getMetricFastenerStandard.md +27 -0
- package/dist/docs/reference/geometry/gridPatternTransforms.md +31 -0
- package/dist/docs/reference/geometry/heightfieldMesh.md +43 -0
- package/dist/docs/reference/geometry/inverseTransform3.md +30 -0
- package/dist/docs/reference/geometry/isGeometryError.md +26 -0
- package/dist/docs/reference/geometry/joinTriangleMeshes.md +36 -0
- package/dist/docs/reference/geometry/layoutRow.md +43 -0
- package/dist/docs/reference/geometry/length3.md +26 -0
- package/dist/docs/reference/geometry/lerp3.md +38 -0
- package/dist/docs/reference/geometry/linearPatternTransforms.md +31 -0
- package/dist/docs/reference/geometry/loftMesh.md +72 -0
- package/dist/docs/reference/geometry/matchProfiles.md +51 -0
- package/dist/docs/reference/geometry/measureInternalCylindricalGearPairMotion.md +47 -0
- package/dist/docs/reference/geometry/measureTriangleMesh.md +55 -0
- package/dist/docs/reference/geometry/meshBounds.md +35 -0
- package/dist/docs/reference/geometry/minimumCylindricalGearToothCountWithoutUndercut.md +29 -0
- package/dist/docs/reference/geometry/normalize3.md +32 -0
- package/dist/docs/reference/geometry/normalizeContour.md +45 -0
- package/dist/docs/reference/geometry/normalizePolygon.md +37 -0
- package/dist/docs/reference/geometry/normalizeRegion.md +33 -0
- package/dist/docs/reference/geometry/optimizePlanarPatches.md +91 -0
- package/dist/docs/reference/geometry/pathLength.md +33 -0
- package/dist/docs/reference/geometry/pathPatternTransforms.md +57 -0
- package/dist/docs/reference/geometry/preflightHeightfield.md +34 -0
- package/dist/docs/reference/geometry/preflightHelicalThreadSolidMesh.md +96 -0
- package/dist/docs/reference/geometry/preflightInternalThreadCutter.md +85 -0
- package/dist/docs/reference/geometry/preflightSvgRegion.md +56 -0
- package/dist/docs/reference/geometry/preflightThreadedNut.md +96 -0
- package/dist/docs/reference/geometry/preflightThreadedRod.md +85 -0
- package/dist/docs/reference/geometry/projectOntoPlane3.md +32 -0
- package/dist/docs/reference/geometry/radialPatternTransforms.md +47 -0
- package/dist/docs/reference/geometry/rectangleContour.md +49 -0
- package/dist/docs/reference/geometry/rectangleProfile.md +53 -0
- package/dist/docs/reference/geometry/regionArea.md +34 -0
- package/dist/docs/reference/geometry/regionBounds.md +27 -0
- package/dist/docs/reference/geometry/regularPolygonContour.md +53 -0
- package/dist/docs/reference/geometry/resamplePolyline2.md +64 -0
- package/dist/docs/reference/geometry/resamplePolyline3.md +67 -0
- package/dist/docs/reference/geometry/resolveAlignedCircularSegments.md +79 -0
- package/dist/docs/reference/geometry/resolveArcSegments.md +67 -0
- package/dist/docs/reference/geometry/resolveCircularSegments.md +61 -0
- package/dist/docs/reference/geometry/resolveCylindricalGear.md +31 -0
- package/dist/docs/reference/geometry/resolveCylindricalGearPair.md +31 -0
- package/dist/docs/reference/geometry/resolveExtrusionDivisions.md +74 -0
- package/dist/docs/reference/geometry/resolveGeometrySamplingLimits.md +26 -0
- package/dist/docs/reference/geometry/resolveGeometryTolerance.md +59 -0
- package/dist/docs/reference/geometry/resolvePrintableThreadFitPolicy.md +27 -0
- package/dist/docs/reference/geometry/resolveRackPitch.md +27 -0
- package/dist/docs/reference/geometry/resolveThreadCircularSegments.md +59 -0
- package/dist/docs/reference/geometry/reverseTriangleMesh.md +30 -0
- package/dist/docs/reference/geometry/revolveMesh.md +76 -0
- package/dist/docs/reference/geometry/rotateAroundAxis3.md +38 -0
- package/dist/docs/reference/geometry/rotationTransform3.md +49 -0
- package/dist/docs/reference/geometry/roundClosedPolylinePath.md +50 -0
- package/dist/docs/reference/geometry/sampleContour.md +77 -0
- package/dist/docs/reference/geometry/sampleCurve2.md +61 -0
- package/dist/docs/reference/geometry/sampleCurve3.md +61 -0
- package/dist/docs/reference/geometry/sampleCylindricalGearOutline.md +58 -0
- package/dist/docs/reference/geometry/sampleHelix.md +41 -0
- package/dist/docs/reference/geometry/sampleInternalCylindricalGearSpaceOutline.md +59 -0
- package/dist/docs/reference/geometry/sampleRackToothPath.md +39 -0
- package/dist/docs/reference/geometry/sampleSideProfile.md +73 -0
- package/dist/docs/reference/geometry/sampleTextContours.md +53 -0
- package/dist/docs/reference/geometry/sampleThreadHelices.md +63 -0
- package/dist/docs/reference/geometry/scale3.md +38 -0
- package/dist/docs/reference/geometry/scaleTransform3.md +34 -0
- package/dist/docs/reference/geometry/signedContourArea.md +26 -0
- package/dist/docs/reference/geometry/starContour.md +51 -0
- package/dist/docs/reference/geometry/strokePathRegion.md +63 -0
- package/dist/docs/reference/geometry/subtract3.md +38 -0
- package/dist/docs/reference/geometry/sweepMesh.md +82 -0
- package/dist/docs/reference/geometry/transformContour.md +42 -0
- package/dist/docs/reference/geometry/transformDeterminant3.md +32 -0
- package/dist/docs/reference/geometry/transformPath2.md +40 -0
- package/dist/docs/reference/geometry/transformPath3.md +33 -0
- package/dist/docs/reference/geometry/transformRegion.md +40 -0
- package/dist/docs/reference/geometry/transformTriangleMesh.md +42 -0
- package/dist/docs/reference/geometry/translationTransform3.md +31 -0
- package/dist/docs/reference/geometry/triangulateContour.md +26 -0
- package/dist/docs/reference/geometry/validateSolidMesh.md +52 -0
- package/dist/docs/reference/geometry/validateTransform3.md +43 -0
- package/dist/docs/reference/geometry/validateTriangleMesh.md +59 -0
- package/dist/docs/reference/geometry.md +30 -0
- package/dist/docs/reference/model/Anchor3.md +54 -0
- package/dist/docs/reference/model/AttachOptions.md +63 -0
- package/dist/docs/reference/model/Bounds2.md +39 -0
- package/dist/docs/reference/model/Bounds3.md +39 -0
- package/dist/docs/reference/model/BoxEdge.md +15 -0
- package/dist/docs/reference/model/BoxEdgeSelection.md +19 -0
- package/dist/docs/reference/model/BoxEdgeTreatments.md +20 -0
- package/dist/docs/reference/model/BoxOptions.md +92 -0
- package/dist/docs/reference/model/ChamferedEdgeTreatment.md +35 -0
- package/dist/docs/reference/model/CircleContourOptions.md +21 -0
- package/dist/docs/reference/model/CircleOptions.md +21 -0
- package/dist/docs/reference/model/CircularPrimitiveOptions.md +64 -0
- package/dist/docs/reference/model/Computed.md +35 -0
- package/dist/docs/reference/model/ComputedValue.md +20 -0
- package/dist/docs/reference/model/Contour.md +22 -0
- package/dist/docs/reference/model/CorrespondingComponent.md +46 -0
- package/dist/docs/reference/model/CorrespondingContour.md +46 -0
- package/dist/docs/reference/model/CorrespondingProfile.md +22 -0
- package/dist/docs/reference/model/CorrespondingProfileStation.md +27 -0
- package/dist/docs/reference/model/CylinderOptions.md +58 -0
- package/dist/docs/reference/model/DiagnosticOptions.md +23 -0
- package/dist/docs/reference/model/EdgeTreatment.md +22 -0
- package/dist/docs/reference/model/EllipseContourOptions.md +21 -0
- package/dist/docs/reference/model/EllipseOptions.md +21 -0
- package/dist/docs/reference/model/EndTreatments.md +39 -0
- package/dist/docs/reference/model/ExtrudeOptions.md +140 -0
- package/dist/docs/reference/model/FinalizedModel.md +121 -0
- package/dist/docs/reference/model/FinalizedPart.md +87 -0
- package/dist/docs/reference/model/Frame3.md +63 -0
- package/dist/docs/reference/model/GenerateCallback.md +37 -0
- package/dist/docs/reference/model/GenerateContext.md +277 -0
- package/dist/docs/reference/model/GeneratedPart.md +93 -0
- package/dist/docs/reference/model/GenerationDiagnostic.md +41 -0
- package/dist/docs/reference/model/GenerationError.md +54 -0
- package/dist/docs/reference/model/GeometryResolution.md +70 -0
- package/dist/docs/reference/model/GeometrySamplingLimits.md +62 -0
- package/dist/docs/reference/model/GeometryToleranceOptions.md +46 -0
- package/dist/docs/reference/model/GridPatternOptions.md +43 -0
- package/dist/docs/reference/model/HeightfieldOptions.md +67 -0
- package/dist/docs/reference/model/HelicalThreadRidgeMeshOptions.md +140 -0
- package/dist/docs/reference/model/HelicalThreadSolidMeshPreflight.md +58 -0
- package/dist/docs/reference/model/HullOptions.md +72 -0
- package/dist/docs/reference/model/ImmutableBuffer-type.md +80 -0
- package/dist/docs/reference/model/ImmutableTriangleMesh.md +34 -0
- package/dist/docs/reference/model/ImplicitOptions.md +83 -0
- package/dist/docs/reference/model/InternalThreadCutterOptions.md +245 -0
- package/dist/docs/reference/model/LinearPatternOptions.md +31 -0
- package/dist/docs/reference/model/LoftCorrespondence.md +27 -0
- package/dist/docs/reference/model/LoftOptions.md +91 -0
- package/dist/docs/reference/model/LoftPlacement.md +73 -0
- package/dist/docs/reference/model/LoftStation.md +35 -0
- package/dist/docs/reference/model/MatchProfilesOptions.md +35 -0
- package/dist/docs/reference/model/ModelProgram.md +44 -0
- package/dist/docs/reference/model/ModelingLimits.md +126 -0
- package/dist/docs/reference/model/NumericArray.md +7 -0
- package/dist/docs/reference/model/PartGeometry.md +16 -0
- package/dist/docs/reference/model/PartOptions.md +65 -0
- package/dist/docs/reference/model/PathNormalGuide.md +45 -0
- package/dist/docs/reference/model/PathPatternOptions.md +47 -0
- package/dist/docs/reference/model/PatternSource.md +26 -0
- package/dist/docs/reference/model/PlaneOptions.md +39 -0
- package/dist/docs/reference/model/Polygon-type.md +43 -0
- package/dist/docs/reference/model/PolygonOptions.md +112 -0
- package/dist/docs/reference/model/PrimitivePlacement.md +40 -0
- package/dist/docs/reference/model/PrimitivePlacementOptions.md +88 -0
- package/dist/docs/reference/model/PrintableThreadFit.md +14 -0
- package/dist/docs/reference/model/PrintableThreadFitPolicy.md +50 -0
- package/dist/docs/reference/model/Profile.md +22 -0
- package/dist/docs/reference/model/ProfileComponent2.md +46 -0
- package/dist/docs/reference/model/ProfileContour2.md +34 -0
- package/dist/docs/reference/model/ProfileSpan2.md +47 -0
- package/dist/docs/reference/model/ProfiledEdgeTreatment.md +41 -0
- package/dist/docs/reference/model/RadialPatternOptions.md +63 -0
- package/dist/docs/reference/model/RadialSizing.md +15 -0
- package/dist/docs/reference/model/RadialSizingOptions.md +40 -0
- package/dist/docs/reference/model/RectangleContourOptions.md +72 -0
- package/dist/docs/reference/model/RectangleCornerTreatment.md +40 -0
- package/dist/docs/reference/model/RectangleCornerTreatments.md +20 -0
- package/dist/docs/reference/model/RectangleOptions.md +107 -0
- package/dist/docs/reference/model/Region.md +19 -0
- package/dist/docs/reference/model/RegionOffsetJoin.md +16 -0
- package/dist/docs/reference/model/RegionOffsetOptions.md +65 -0
- package/dist/docs/reference/model/RegularPolygonOptions.md +53 -0
- package/dist/docs/reference/model/RevolveOptions.md +89 -0
- package/dist/docs/reference/model/RoundedEdgeTreatment.md +96 -0
- package/dist/docs/reference/model/Section.md +450 -0
- package/dist/docs/reference/model/SectionHullOptions.md +72 -0
- package/dist/docs/reference/model/SectionInspection.md +98 -0
- package/dist/docs/reference/model/SmoothEdgeTreatment.md +76 -0
- package/dist/docs/reference/model/Solid.md +350 -0
- package/dist/docs/reference/model/SolidInspection.md +98 -0
- package/dist/docs/reference/model/SolidRayHit.md +58 -0
- package/dist/docs/reference/model/SphereOptions.md +20 -0
- package/dist/docs/reference/model/StarOptions.md +98 -0
- package/dist/docs/reference/model/SvgOrigin.md +16 -0
- package/dist/docs/reference/model/SvgPathSectionOptions.md +78 -0
- package/dist/docs/reference/model/SvgSectionOptions.md +66 -0
- package/dist/docs/reference/model/SweepOptions.md +116 -0
- package/dist/docs/reference/model/SweepOrientation.md +116 -0
- package/dist/docs/reference/model/TextSectionOptions.md +41 -0
- package/dist/docs/reference/model/ThreadEndStyle.md +14 -0
- package/dist/docs/reference/model/ThreadEndTreatmentOptions.md +117 -0
- package/dist/docs/reference/model/ThreadHandedness.md +14 -0
- package/dist/docs/reference/model/ThreadLeadInEnvelope.md +14 -0
- package/dist/docs/reference/model/ThreadLeadInShape.md +14 -0
- package/dist/docs/reference/model/ThreadProfile.md +86 -0
- package/dist/docs/reference/model/ThreadRidgeOptions.md +18 -0
- package/dist/docs/reference/model/ThreadedNutBevel.md +14 -0
- package/dist/docs/reference/model/ThreadedNutOptions.md +273 -0
- package/dist/docs/reference/model/ThreadedNutPreflight.md +98 -0
- package/dist/docs/reference/model/ThreadedNutShape.md +14 -0
- package/dist/docs/reference/model/ThreadedRodOptions.md +245 -0
- package/dist/docs/reference/model/TorusOptions.md +110 -0
- package/dist/docs/reference/model/Transform2.md +15 -0
- package/dist/docs/reference/model/Transform3.md +18 -0
- package/dist/docs/reference/model/TriangleMesh.md +42 -0
- package/dist/docs/reference/model/TriangleMeshAnalysis.md +123 -0
- package/dist/docs/reference/model/TriangleMeshMeasurements.md +79 -0
- package/dist/docs/reference/model/TubeOptions.md +143 -0
- package/dist/docs/reference/model/Vector2.md +15 -0
- package/dist/docs/reference/model/Vector3.md +15 -0
- package/dist/docs/reference/model/VectorTextLayout.md +40 -0
- package/dist/docs/reference/model/VectorTextMetrics.md +100 -0
- package/dist/docs/reference/model/anchor.md +46 -0
- package/dist/docs/reference/model/box.md +62 -0
- package/dist/docs/reference/model/categories/boolean-operations.md +37 -0
- package/dist/docs/reference/model/categories/bounded-surfaces.md +26 -0
- package/dist/docs/reference/model/categories/contracts.md +16 -0
- package/dist/docs/reference/model/categories/core-values-errors.md +30 -0
- package/dist/docs/reference/model/categories/explicit-profiles.md +32 -0
- package/dist/docs/reference/model/categories/extrude-revolve-sweep.md +42 -0
- package/dist/docs/reference/model/categories/generation.md +44 -0
- package/dist/docs/reference/model/categories/inspection.md +23 -0
- package/dist/docs/reference/model/categories/mesh-inspection.md +29 -0
- package/dist/docs/reference/model/categories/primitives.md +61 -0
- package/dist/docs/reference/model/categories/resolution.md +18 -0
- package/dist/docs/reference/model/categories/sections.md +59 -0
- package/dist/docs/reference/model/categories/threads.md +50 -0
- package/dist/docs/reference/model/categories/transforms-placement.md +43 -0
- package/dist/docs/reference/model/circle.md +39 -0
- package/dist/docs/reference/model/components.md +68 -0
- package/dist/docs/reference/model/compose.md +31 -0
- package/dist/docs/reference/model/cylinder.md +52 -0
- package/dist/docs/reference/model/distance.md +45 -0
- package/dist/docs/reference/model/ellipse.md +39 -0
- package/dist/docs/reference/model/extrude.md +83 -0
- package/dist/docs/reference/model/fromRegion.md +33 -0
- package/dist/docs/reference/model/generate.md +46 -0
- package/dist/docs/reference/model/gridPattern.md +80 -0
- package/dist/docs/reference/model/heightfield.md +40 -0
- package/dist/docs/reference/model/hull.md +74 -0
- package/dist/docs/reference/model/immutableBuffer.md +44 -0
- package/dist/docs/reference/model/immutableMesh.md +40 -0
- package/dist/docs/reference/model/implicit.md +47 -0
- package/dist/docs/reference/model/inspectSection.md +38 -0
- package/dist/docs/reference/model/inspectSolid.md +38 -0
- package/dist/docs/reference/model/internalThreadCutter.md +100 -0
- package/dist/docs/reference/model/intersect.md +70 -0
- package/dist/docs/reference/model/isEmpty.md +39 -0
- package/dist/docs/reference/model/linearPattern.md +80 -0
- package/dist/docs/reference/model/loft.md +137 -0
- package/dist/docs/reference/model/matchProfiles.md +42 -0
- package/dist/docs/reference/model/minkowskiSum.md +37 -0
- package/dist/docs/reference/model/pathPattern.md +118 -0
- package/dist/docs/reference/model/polygon.md +40 -0
- package/dist/docs/reference/model/preflightInternalThreadCutter.md +89 -0
- package/dist/docs/reference/model/preflightThreadedNut.md +100 -0
- package/dist/docs/reference/model/preflightThreadedRod.md +89 -0
- package/dist/docs/reference/model/radialPattern.md +113 -0
- package/dist/docs/reference/model/rayCast.md +40 -0
- package/dist/docs/reference/model/rectangle.md +59 -0
- package/dist/docs/reference/model/regularPolygon.md +39 -0
- package/dist/docs/reference/model/revolve.md +74 -0
- package/dist/docs/reference/model/solidFromMesh.md +42 -0
- package/dist/docs/reference/model/sphere.md +42 -0
- package/dist/docs/reference/model/split.md +54 -0
- package/dist/docs/reference/model/splitByPlane.md +66 -0
- package/dist/docs/reference/model/star.md +63 -0
- package/dist/docs/reference/model/svgPathSection.md +65 -0
- package/dist/docs/reference/model/svgSection.md +64 -0
- package/dist/docs/reference/model/sweep.md +92 -0
- package/dist/docs/reference/model/textSection.md +57 -0
- package/dist/docs/reference/model/threadRidge.md +72 -0
- package/dist/docs/reference/model/threadedNut.md +110 -0
- package/dist/docs/reference/model/threadedRod.md +99 -0
- package/dist/docs/reference/model/toRegion.md +33 -0
- package/dist/docs/reference/model/toTriangleMesh.md +27 -0
- package/dist/docs/reference/model/torus.md +70 -0
- package/dist/docs/reference/model/tube.md +77 -0
- package/dist/docs/reference/model/union.md +72 -0
- package/dist/docs/reference/model.md +39 -0
- package/dist/docs/reference/text/Bounds2.md +34 -0
- package/dist/docs/reference/text/MAX_VECTOR_FONT_BYTES.md +7 -0
- package/dist/docs/reference/text/Vector2.md +7 -0
- package/dist/docs/reference/text/VectorFont.md +186 -0
- package/dist/docs/reference/text/VectorFontOptions.md +17 -0
- package/dist/docs/reference/text/VectorTextArcBaseline.md +53 -0
- package/dist/docs/reference/text/VectorTextLayout.md +34 -0
- package/dist/docs/reference/text/VectorTextLayoutOptions.md +111 -0
- package/dist/docs/reference/text/VectorTextMetrics.md +94 -0
- package/dist/docs/reference/text/VectorTextOptions.md +50 -0
- package/dist/docs/reference/text/categories/font-preparation.md +38 -0
- package/dist/docs/reference/text/prepareVectorFont.md +46 -0
- package/dist/docs/reference/text.md +21 -0
- package/dist/engine/construction-operations.js +10 -3
- package/dist/engine/deferred-context.js +12 -3
- package/dist/engine/execution.js +1 -1
- package/dist/engine/export-3mf.js +2 -2
- package/dist/engine/finalization.js +3 -3
- package/dist/engine/immutable-generation-data.js +36 -6
- package/dist/engine/loft-operations.js +4 -4
- package/dist/engine/native/adapter.js +1 -1
- package/dist/engine/native/regions.js +9 -9
- package/dist/engine/pattern-operations.js +24 -13
- package/dist/engine/pattern-transform.js +9 -0
- package/dist/engine/placement.js +2 -2
- package/dist/engine/primitive-operations.js +10 -10
- package/dist/engine/profile-mesh.js +7 -7
- package/dist/engine/section-operations.js +25 -14
- package/dist/engine/session-graph.js +40 -33
- package/dist/engine/session.js +1 -2
- package/dist/geometry/bounds.js +117 -0
- package/dist/geometry/cylinder.js +5 -1
- package/dist/geometry/edge-finishing.js +2 -2
- package/dist/geometry/heightfield.js +1 -1
- package/dist/geometry/index.js +15 -12
- package/dist/geometry/{loft-correspondence.js → loft/loft-correspondence.js} +3 -3
- package/dist/geometry/{loft-geometry.js → loft/loft-geometry.js} +8 -8
- package/dist/geometry/{loft-options.js → loft/loft-options.js} +2 -2
- package/dist/geometry/{loft-simple-mesh.js → loft/loft-simple-mesh.js} +6 -6
- package/dist/geometry/{loft-triangulation.js → loft/loft-triangulation.js} +6 -6
- package/dist/geometry/{loft.js → loft/loft.js} +8 -8
- package/dist/geometry/math/vector3.js +5 -1
- package/dist/geometry/mechanical/gears.js +2 -2
- package/dist/geometry/mechanical/thread-mesh.js +3 -3
- package/dist/geometry/mechanical/thread-profiles.js +2 -2
- package/dist/geometry/mechanical/thread-surface.js +14 -5
- package/dist/geometry/{mesh-centroid.js → mesh/mesh-centroid.js} +1 -1
- package/dist/geometry/{mesh-planar.js → mesh/mesh-planar.js} +1 -1
- package/dist/geometry/{mesh-quality.js → mesh/mesh-quality.js} +2 -2
- package/dist/geometry/{mesh-signature.js → mesh/mesh-signature.js} +2 -2
- package/dist/geometry/{mesh-solid.js → mesh/mesh-solid.js} +2 -2
- package/dist/geometry/{mesh.js → mesh/mesh.js} +7 -8
- package/dist/geometry/paths/frames.js +4 -5
- package/dist/geometry/patterns/options.js +1 -0
- package/dist/{engine/pattern-placements.js → geometry/patterns/placements.js} +22 -8
- package/dist/geometry/patterns.js +25 -0
- package/dist/geometry/primitive-resolvers.js +9 -9
- package/dist/geometry/profiles/contour.js +3 -3
- package/dist/geometry/profiles/matched.js +3 -3
- package/dist/geometry/profiles/profiles.js +10 -10
- package/dist/geometry/profiles/rectangle.js +7 -7
- package/dist/geometry/profiles/shapes.js +9 -9
- package/dist/geometry/profiles/side-profile.js +37 -0
- package/dist/geometry/regions.js +15 -15
- package/dist/geometry/revolve/revolve-mesh.js +5 -5
- package/dist/geometry/stroke-path.js +2 -2
- package/dist/geometry/svg/errors.js +0 -3
- package/dist/geometry/svg/fill.js +7 -7
- package/dist/geometry/svg/index.js +1 -1
- package/dist/geometry/svg/matrix.js +0 -114
- package/dist/geometry/svg/parser.js +1 -439
- package/dist/geometry/svg-import.js +3 -3
- package/dist/geometry/sweeps/sweep-closed.js +1 -1
- package/dist/geometry/sweeps/sweep-mesh.js +1 -1
- package/dist/geometry/sweeps/sweep-open.js +3 -3
- package/dist/geometry/sweeps/validation.js +2 -2
- package/dist/geometry/text-fitting.js +85 -0
- package/dist/geometry/tolerance.js +2 -2
- package/dist/geometry/transform-geometry.js +9 -9
- package/dist/model/execution-binding.js +3 -3
- package/dist/model/generation.js +1 -1
- package/dist/model/operation-contracts.js +1 -0
- package/dist/model/operation-dispatch.js +6 -0
- package/dist/model/operations.js +19 -49
- package/package.json +10 -8
- /package/dist/geometry/{mesh-edge-table.js → mesh/mesh-edge-table.js} +0 -0
- /package/dist/geometry/{mesh-solid-intersections.js → mesh/mesh-solid-intersections.js} +0 -0
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# Transforms and vector math
|
|
2
|
+
|
|
3
|
+
Compose explicit coordinate transforms and reusable placement anchors.
|
|
4
|
+
|
|
5
|
+
Lengths are millimetres. Pure rotation constructors require a degrees or radians object. Transform3 is row-major, and directions exclude translation. Attachment matches source and target frames with an explicit offset; physical clearance is an application decision.
|
|
6
|
+
|
|
7
|
+
## Functions
|
|
8
|
+
|
|
9
|
+
| API | Summary |
|
|
10
|
+
| --- | --- |
|
|
11
|
+
| [applyTransformDirection3](../applyTransformDirection3.md) | Applies only the linear component of an affine transform to a direction. |
|
|
12
|
+
| [applyTransformPoint3](../applyTransformPoint3.md) | Applies an affine transform to a point, including translation. |
|
|
13
|
+
| [attachTransform](../attachTransform.md) | Builds the transform that moves a source anchor onto a target anchor. |
|
|
14
|
+
| [boxAnchor3](../boxAnchor3.md) | Creates an outward face-center anchor using the same local origin convention as box(). |
|
|
15
|
+
| [composeTransform3](../composeTransform3.md) | Composes two affine transforms without mutating either matrix. |
|
|
16
|
+
| [createAnchor3](../createAnchor3.md) | Constructs a normalized immutable attachment anchor. |
|
|
17
|
+
| [cylinderAnchor3](../cylinderAnchor3.md) | Creates a cap-center or radial-side anchor using cylinder()'s construction origin. |
|
|
18
|
+
| [eulerTransform3](../eulerTransform3.md) | Creates an immutable right-handed XYZ Euler rotation transform. |
|
|
19
|
+
| [frameTransform3](../frameTransform3.md) | Converts a right-handed orthonormal frame into a local-to-world transform. |
|
|
20
|
+
| [inverseTransform3](../inverseTransform3.md) | Inverts a finite, non-singular affine transform. |
|
|
21
|
+
| [rotationTransform3](../rotationTransform3.md) | Creates a right-handed axis-angle rotation transform. |
|
|
22
|
+
| [scaleTransform3](../scaleTransform3.md) | Creates an immutable axis-aligned scale transform. |
|
|
23
|
+
| [transformDeterminant3](../transformDeterminant3.md) | Returns the determinant of a transform's linear 3x3 component. |
|
|
24
|
+
| [translationTransform3](../translationTransform3.md) | Creates an immutable translation transform. |
|
|
25
|
+
| [validateTransform3](../validateTransform3.md) | Validates that a transform is finite, affine, and non-singular. |
|
|
26
|
+
|
|
27
|
+
## Interfaces
|
|
28
|
+
|
|
29
|
+
| API | Summary |
|
|
30
|
+
| --- | --- |
|
|
31
|
+
| [Anchor3](../Anchor3.md) | An attachment pose on a solid or assembly. |
|
|
32
|
+
| [AttachTransformOptions](../AttachTransformOptions.md) | Options controlling how one anchor is attached to another. |
|
|
33
|
+
| [BoxAnchorOptions](../BoxAnchorOptions.md) | Box dimensions and construction origin for one named face anchor. |
|
|
34
|
+
| [CylinderAnchorOptions](../CylinderAnchorOptions.md) | Cylinder dimensions and construction origin for one named face anchor. |
|
|
35
|
+
|
|
36
|
+
## Type aliases
|
|
37
|
+
|
|
38
|
+
| API | Summary |
|
|
39
|
+
| --- | --- |
|
|
40
|
+
| [AxisAngleRotation3](../AxisAngleRotation3.md) | One explicitly unit-labelled right-handed axis-angle rotation. |
|
|
41
|
+
| [BoxAnchorFace](../BoxAnchorFace.md) | Named face on an axis-aligned box. |
|
|
42
|
+
| [CylinderAnchorFace](../CylinderAnchorFace.md) | Named face on a cylinder parallel to +Z. |
|
|
43
|
+
| [Transform3](../Transform3.md) | A row-major affine 4x4 matrix applied to column vectors. |
|
|
44
|
+
| [Vector2](../Vector2.md) | A two-dimensional Cartesian vector or point. |
|
|
45
|
+
| [Vector3](../Vector3.md) | A three-dimensional Cartesian vector or point. |
|
|
46
|
+
|
|
47
|
+
## Values
|
|
48
|
+
|
|
49
|
+
| API | Summary |
|
|
50
|
+
| --- | --- |
|
|
51
|
+
| [add3](../add3.md) | Adds two finite XYZ vectors component-wise. |
|
|
52
|
+
| [cross3](../cross3.md) | Returns the right-handed cross product. |
|
|
53
|
+
| [dot3](../dot3.md) | Returns the scalar dot product. |
|
|
54
|
+
| [IDENTITY_TRANSFORM3](../IDENTITY_TRANSFORM3.md) | Identity transform, safe to share because it is frozen. |
|
|
55
|
+
| [length3](../length3.md) | Returns Euclidean vector length in the vector's coordinate units. |
|
|
56
|
+
| [lerp3](../lerp3.md) | Linearly interpolates two vectors; `t` is dimensionless and may extrapolate. |
|
|
57
|
+
| [normalize3](../normalize3.md) | Normalizes a finite vector and rejects nonfinite lengths or lengths at or below `epsilon`. |
|
|
58
|
+
| [projectOntoPlane3](../projectOntoPlane3.md) | Removes the component parallel to a normalized plane normal. |
|
|
59
|
+
| [rotateAroundAxis3](../rotateAroundAxis3.md) | Rotates a vector right-handed around an axis by `angle` radians. |
|
|
60
|
+
| [scale3](../scale3.md) | Multiplies a vector by a dimensionless scalar. |
|
|
61
|
+
| [subtract3](../subtract3.md) | Subtracts `b` from `a`. |
|
|
62
|
+
|
|
63
|
+
Package: `@metamesh/modeling@0.13.0`.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# SVG and vector layouts
|
|
2
|
+
|
|
3
|
+
Parse bounded painted SVG and carry explicit prepared text geometry.
|
|
4
|
+
|
|
5
|
+
SVG input is bounded and rejects unsupported resources or content contextually. Transforms and physical unit conversion precede sampling; input Y-down coordinates convert to model Y-up. Font preparation belongs to the optional text entrypoint and never enters pure parsing or synchronous modeling. fitTextLayout uniformly fits and centers visible ink before sampling, preserving final millimetre tolerance. It rejects invisible layouts; maxScale: 1 prevents enlargement.
|
|
6
|
+
|
|
7
|
+
## Functions
|
|
8
|
+
|
|
9
|
+
| API | Summary |
|
|
10
|
+
| --- | --- |
|
|
11
|
+
| [preflightSvgRegion](../preflightSvgRegion.md) | Preflights bounded SVG geometry without browser or Manifold dependencies. |
|
|
12
|
+
| [sampleTextContours](../sampleTextContours.md) | Samples a prepared text layout without shaping text again or loading a font. |
|
|
13
|
+
| [strokePathRegion](../strokePathRegion.md) | Converts a sampled millimetre path into the filled region covered by a centered stroke. |
|
|
14
|
+
| [fitTextLayout](../fitTextLayout.md) | Uniformly fits visible text ink inside finite XY bounds, centering it on the target. Transforms retained vector paths before sampling, so later textSection/sampleTextContours resolution remains in final millimetres. Logical advances scale without translation; line count is unchanged. The input layout is preserved. |
|
|
15
|
+
|
|
16
|
+
## Interfaces
|
|
17
|
+
|
|
18
|
+
| API | Summary |
|
|
19
|
+
| --- | --- |
|
|
20
|
+
| [StrokePathRegionOptions](../StrokePathRegionOptions.md) | Physical stroke and topology controls for strokePathRegion. |
|
|
21
|
+
| [SvgImportOptions](../SvgImportOptions.md) | Sampling controls for deterministic SVG-to-region conversion. |
|
|
22
|
+
| [SvgRegionPreflight](../SvgRegionPreflight.md) | Exact normalized SVG region plus bounded source, geometry, and safe-repair diagnostics. |
|
|
23
|
+
| [SvgRegionPreflightRepairs](../SvgRegionPreflightRepairs.md) | Visible, appearance-preserving cleanup counters from bounded SVG import. |
|
|
24
|
+
| [VectorTextArcBaseline](../VectorTextArcBaseline.md) | A circular baseline centered at the XY origin, with rigid shaped glyph groups. |
|
|
25
|
+
| [VectorTextLayout](../VectorTextLayout.md) | Immutable vector layout with no browser, font parser, or kernel ownership. |
|
|
26
|
+
| [VectorTextLayoutOptions](../VectorTextLayoutOptions.md) | Text bounded to 512 UTF-16 units: horizontal lines or one circular line without wrapping. |
|
|
27
|
+
| [VectorTextOptions](../VectorTextOptions.md) | Shaping controls for a prepared exact font face; all lengths are in millimetres. |
|
|
28
|
+
| [SvgRegionPreflightGeometryMetrics](../SvgRegionPreflightGeometryMetrics.md) | Physical and final-topology facts for a normalized imported SVG region. |
|
|
29
|
+
| [SvgRegionPreflightSourceMetrics](../SvgRegionPreflightSourceMetrics.md) | Bounded source-complexity facts collected while parsing one SVG document. |
|
|
30
|
+
| [VectorTextMetrics](../VectorTextMetrics.md) | Text measurements from the same immutable layout that supplies geometry and SVG outlines. |
|
|
31
|
+
| [FittedTextLayout](../FittedTextLayout.md) | Fitted immutable text whose visible ink bounds are known to be present. |
|
|
32
|
+
|
|
33
|
+
## Type aliases
|
|
34
|
+
|
|
35
|
+
| API | Summary |
|
|
36
|
+
| --- | --- |
|
|
37
|
+
| [StrokePathCap](../StrokePathCap.md) | End-cap treatment for an open stroked path. |
|
|
38
|
+
| [StrokePathJoin](../StrokePathJoin.md) | Join treatment where adjacent stroked path segments meet. |
|
|
39
|
+
|
|
40
|
+
Package: `@metamesh/modeling@0.13.0`.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# circleContour
|
|
2
|
+
|
|
3
|
+
Creates an immutable centered CCW circle with +X seam and vertex or face radial sizing.
|
|
4
|
+
|
|
5
|
+
`const` **circleContour**: (`options`: [`CircleContourOptions`](CircleContourOptions.md)) => [`Contour`](Contour.md)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## Example: Explicit circular point data
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
circleContour({ diameter: 20, segments: 32 });
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Parameters
|
|
16
|
+
|
|
17
|
+
<a id="options"></a>
|
|
18
|
+
|
|
19
|
+
**`options`** · [`CircleContourOptions`](CircleContourOptions.md) · Required
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
## Returns
|
|
24
|
+
|
|
25
|
+
[`Contour`](Contour.md)
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
## Related APIs
|
|
29
|
+
|
|
30
|
+
- [CircleContourOptions](CircleContourOptions.md)
|
|
31
|
+
- [Contour](Contour.md)
|
|
32
|
+
|
|
33
|
+
Package: `@metamesh/modeling@0.13.0`.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# closeToAxis
|
|
2
|
+
|
|
3
|
+
Closes an open, strictly upward [radius, height] side outline to the radius-zero axis. Adds horizontal bottom/top edges at the endpoint heights, retaining axis endpoints once. Returns a counterclockwise filled-boundary contour without a repeated seam vertex. Radii must be nonnegative; the result must enclose nonzero area without touching itself. This is a solid-body closure, not a hollow-wall or mounting-bore construction.
|
|
4
|
+
|
|
5
|
+
**closeToAxis**(`side`: readonly [`Vector2`](Vector2.md)[], `limits?`: `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\>): [`Contour`](Contour.md)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## Parameters
|
|
10
|
+
|
|
11
|
+
<a id="side"></a>
|
|
12
|
+
|
|
13
|
+
**`side`** · readonly [`Vector2`](Vector2.md)[] · Required
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
<a id="limits"></a>
|
|
18
|
+
|
|
19
|
+
**`limits`** · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
## Returns
|
|
24
|
+
|
|
25
|
+
[`Contour`](Contour.md)
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
## Related APIs
|
|
29
|
+
|
|
30
|
+
- [Contour](Contour.md)
|
|
31
|
+
- [GeometrySamplingLimits](GeometrySamplingLimits.md)
|
|
32
|
+
- [Vector2](Vector2.md)
|
|
33
|
+
|
|
34
|
+
Package: `@metamesh/modeling@0.13.0`.
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# compensateThreadDiameters
|
|
2
|
+
|
|
3
|
+
Applies role-specific radial compensation while preserving thread depth.
|
|
4
|
+
|
|
5
|
+
**compensateThreadDiameters**(`options`: [`ThreadCompensationOptions`](ThreadCompensationOptions.md)): [`CompensatedThreadDiameters`](CompensatedThreadDiameters.md)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
Male envelopes move inward by the policy inset; female envelopes move
|
|
10
|
+
outward by the policy outset. Combining both parts produces the sum of those
|
|
11
|
+
allowances as radial mating clearance.
|
|
12
|
+
|
|
13
|
+
## Parameters
|
|
14
|
+
|
|
15
|
+
<a id="options"></a>
|
|
16
|
+
|
|
17
|
+
**`options`** · [`ThreadCompensationOptions`](ThreadCompensationOptions.md) · Required
|
|
18
|
+
|
|
19
|
+
- [`nominalMajorDiameter`](ThreadCompensationOptions.md#nominalmajordiameter) · `number` · Required
|
|
20
|
+
|
|
21
|
+
Nominal sharp or truncated major diameter in millimetres.
|
|
22
|
+
|
|
23
|
+
- [`role`](ThreadCompensationOptions.md#role) · [`ThreadRole`](ThreadRole.md) · Required
|
|
24
|
+
|
|
25
|
+
Male or female geometry being compensated.
|
|
26
|
+
|
|
27
|
+
- [`threadDepth`](ThreadCompensationOptions.md#threaddepth) · `number` · Required
|
|
28
|
+
|
|
29
|
+
Radial depth from major to minor envelope in millimetres.
|
|
30
|
+
|
|
31
|
+
- [`fit`](ThreadCompensationOptions.md#fit) · [`PrintableThreadFit`](PrintableThreadFit.md) \| [`PrintableThreadFitPolicy`](PrintableThreadFitPolicy.md) · Optional
|
|
32
|
+
|
|
33
|
+
Named policy or explicit caller-calibrated allowances.
|
|
34
|
+
|
|
35
|
+
- [`tolerance`](ThreadCompensationOptions.md#tolerance) · [`GeometryToleranceOptions`](GeometryToleranceOptions.md) · Optional
|
|
36
|
+
|
|
37
|
+
Optional numerical tolerance overrides.
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
## Returns
|
|
42
|
+
|
|
43
|
+
[`CompensatedThreadDiameters`](CompensatedThreadDiameters.md)
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
## Related APIs
|
|
47
|
+
|
|
48
|
+
- [CompensatedThreadDiameters](CompensatedThreadDiameters.md)
|
|
49
|
+
- [ThreadCompensationOptions](ThreadCompensationOptions.md)
|
|
50
|
+
|
|
51
|
+
Package: `@metamesh/modeling@0.13.0`.
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# compensateThreadProfileAxially
|
|
2
|
+
|
|
3
|
+
Applies axial fit allowance to a validated periodic profile.
|
|
4
|
+
|
|
5
|
+
**compensateThreadProfileAxially**(`profile`: [`ThreadProfile`](ThreadProfile.md), `axialBacklash`: `number`, `role`: `"female"` \| `"male"`): [`ThreadProfile`](ThreadProfile.md)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
Male crests/ridges narrow by the requested backlash; female cutter ridges
|
|
10
|
+
widen by it. Periodic root endpoints remain fixed so pitch and lead do not
|
|
11
|
+
change. The returned profile is a new deeply immutable value.
|
|
12
|
+
|
|
13
|
+
## Parameters
|
|
14
|
+
|
|
15
|
+
<a id="profile"></a>
|
|
16
|
+
|
|
17
|
+
**`profile`** · [`ThreadProfile`](ThreadProfile.md) · Required
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
<a id="axialbacklash"></a>
|
|
22
|
+
|
|
23
|
+
**`axialBacklash`** · `number` · Required
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
<a id="role"></a>
|
|
28
|
+
|
|
29
|
+
**`role`** · `"female"` \| `"male"` · Required
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
## Returns
|
|
34
|
+
|
|
35
|
+
[`ThreadProfile`](ThreadProfile.md)
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
## Related APIs
|
|
39
|
+
|
|
40
|
+
- [ThreadProfile](ThreadProfile.md)
|
|
41
|
+
|
|
42
|
+
Package: `@metamesh/modeling@0.13.0`.
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# compensateThreadProfileForFaceting
|
|
2
|
+
|
|
3
|
+
Applies printable axial fit plus the conservative phase allowance required by circular facets.
|
|
4
|
+
|
|
5
|
+
**compensateThreadProfileForFaceting**(`profile`: [`ThreadProfile`](ThreadProfile.md), `axialBacklash`: `number`, `role`: `"female"` \| `"male"`, `starts`: `number`, `circularSegments`: `number`): [`ThreadProfile`](ThreadProfile.md)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
One triangulated facet spans `pitch * starts / circularSegments` axially. A directed zipper
|
|
10
|
+
triangle can expose either end of that complete span when independently faceted parts rotate.
|
|
11
|
+
This helper distributes the full conservative flank clearance between the male crest and female
|
|
12
|
+
root according to their available flat widths, and rejects a resolution that cannot represent
|
|
13
|
+
it exactly.
|
|
14
|
+
|
|
15
|
+
## Parameters
|
|
16
|
+
|
|
17
|
+
<a id="profile"></a>
|
|
18
|
+
|
|
19
|
+
**`profile`** · [`ThreadProfile`](ThreadProfile.md) · Required
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
<a id="axialbacklash"></a>
|
|
24
|
+
|
|
25
|
+
**`axialBacklash`** · `number` · Required
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
<a id="role"></a>
|
|
30
|
+
|
|
31
|
+
**`role`** · `"female"` \| `"male"` · Required
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
<a id="starts"></a>
|
|
36
|
+
|
|
37
|
+
**`starts`** · `number` · Required
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
<a id="circularsegments"></a>
|
|
42
|
+
|
|
43
|
+
**`circularSegments`** · `number` · Required
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
## Returns
|
|
48
|
+
|
|
49
|
+
[`ThreadProfile`](ThreadProfile.md)
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
## Related APIs
|
|
53
|
+
|
|
54
|
+
- [ThreadProfile](ThreadProfile.md)
|
|
55
|
+
|
|
56
|
+
Package: `@metamesh/modeling@0.13.0`.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# composeTransform3
|
|
2
|
+
|
|
3
|
+
Composes two affine transforms without mutating either matrix.
|
|
4
|
+
|
|
5
|
+
**composeTransform3**(`after`: [`Transform3`](Transform3.md), `before`: [`Transform3`](Transform3.md)): [`Transform3`](Transform3.md)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
`composeTransform3(after, before)` applies `before` first and `after` second.
|
|
10
|
+
|
|
11
|
+
## Parameters
|
|
12
|
+
|
|
13
|
+
<a id="after"></a>
|
|
14
|
+
|
|
15
|
+
**`after`** · [`Transform3`](Transform3.md) · Required
|
|
16
|
+
|
|
17
|
+
Transform applied second.
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
<a id="before"></a>
|
|
22
|
+
|
|
23
|
+
**`before`** · [`Transform3`](Transform3.md) · Required
|
|
24
|
+
|
|
25
|
+
Transform applied first.
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
## Returns
|
|
30
|
+
|
|
31
|
+
[`Transform3`](Transform3.md)
|
|
32
|
+
|
|
33
|
+
A new frozen transform equal to `after * before`.
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
## Related APIs
|
|
37
|
+
|
|
38
|
+
- [Transform3](Transform3.md)
|
|
39
|
+
|
|
40
|
+
Package: `@metamesh/modeling@0.13.0`.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# computeClosedParallelTransportFrames
|
|
2
|
+
|
|
3
|
+
Builds rotation-minimizing frames for a non-duplicated closed path.
|
|
4
|
+
|
|
5
|
+
`const` **computeClosedParallelTransportFrames**: (`path`: readonly [`Vector3`](Vector3.md)[], `initialNormal?`: [`Vector3`](Vector3.md), `limits?`: `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\>) => readonly [`PathFrame`](PathFrame.md)[]
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
Centered cyclic tangents are parallel-transported around the loop. Transporting the last
|
|
10
|
+
normal back to the first tangent measures seam holonomy; distributing that residual rotation
|
|
11
|
+
uniformly over all path intervals avoids a visible seam or accumulated frame flip.
|
|
12
|
+
The maxPathPoints ceiling (default 100000) bounds path points and frames.
|
|
13
|
+
|
|
14
|
+
## Parameters
|
|
15
|
+
|
|
16
|
+
<a id="path"></a>
|
|
17
|
+
|
|
18
|
+
**`path`** · readonly [`Vector3`](Vector3.md)[] · Required
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
<a id="initialnormal"></a>
|
|
23
|
+
|
|
24
|
+
**`initialNormal`** · [`Vector3`](Vector3.md) · Optional
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
<a id="limits"></a>
|
|
29
|
+
|
|
30
|
+
**`limits`** · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
## Returns
|
|
35
|
+
|
|
36
|
+
readonly [`PathFrame`](PathFrame.md)[]
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
## Related APIs
|
|
40
|
+
|
|
41
|
+
- [GeometrySamplingLimits](GeometrySamplingLimits.md)
|
|
42
|
+
- [PathFrame](PathFrame.md)
|
|
43
|
+
- [Vector3](Vector3.md)
|
|
44
|
+
|
|
45
|
+
Package: `@metamesh/modeling@0.13.0`.
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# computeParallelTransportFrames
|
|
2
|
+
|
|
3
|
+
Builds rotation-minimizing frames by parallel-transporting the previous normal. This avoids the sudden profile flips produced by picking a fresh up-vector per ring. Paths exceeding maxPathPoints (default 100000) reject before frame allocation or guide evaluation.
|
|
4
|
+
|
|
5
|
+
`const` **computeParallelTransportFrames**: (`path`: readonly [`Vector3`](Vector3.md)[], `initialNormal?`: [`Vector3`](Vector3.md), `normalGuide?`: [`PathNormalGuide`](PathNormalGuide.md), `limits?`: `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\>) => readonly [`PathFrame`](PathFrame.md)[]
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## Parameters
|
|
10
|
+
|
|
11
|
+
<a id="path"></a>
|
|
12
|
+
|
|
13
|
+
**`path`** · readonly [`Vector3`](Vector3.md)[] · Required
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
<a id="initialnormal"></a>
|
|
18
|
+
|
|
19
|
+
**`initialNormal`** · [`Vector3`](Vector3.md) · Optional
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
<a id="normalguide"></a>
|
|
24
|
+
|
|
25
|
+
**`normalGuide`** · [`PathNormalGuide`](PathNormalGuide.md) · Optional
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
<a id="limits"></a>
|
|
30
|
+
|
|
31
|
+
**`limits`** · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
## Returns
|
|
36
|
+
|
|
37
|
+
readonly [`PathFrame`](PathFrame.md)[]
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
## Related APIs
|
|
41
|
+
|
|
42
|
+
- [GeometrySamplingLimits](GeometrySamplingLimits.md)
|
|
43
|
+
- [PathFrame](PathFrame.md)
|
|
44
|
+
- [PathNormalGuide](PathNormalGuide.md)
|
|
45
|
+
- [Vector3](Vector3.md)
|
|
46
|
+
|
|
47
|
+
Package: `@metamesh/modeling@0.13.0`.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# computeTriangleMeshCentroid
|
|
2
|
+
|
|
3
|
+
Computes the uniform-density volume centroid of an oriented closed solid, including cavity shells. Coordinates are millimetres. Indexed closure and positive aggregate volume are required; callers may use validateSolidMesh first when geometric intersections and shell orientation are untrusted. Fresh mutable input is inspected on every call, and buffers are never changed.
|
|
4
|
+
|
|
5
|
+
**computeTriangleMeshCentroid**(`mesh`: [`TriangleMesh`](TriangleMesh.md)): [`Vector3`](Vector3.md)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## Parameters
|
|
10
|
+
|
|
11
|
+
<a id="mesh"></a>
|
|
12
|
+
|
|
13
|
+
**`mesh`** · [`TriangleMesh`](TriangleMesh.md) · Required
|
|
14
|
+
|
|
15
|
+
Consistently oriented closed mesh with positive enclosed volume.
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
## Returns
|
|
20
|
+
|
|
21
|
+
[`Vector3`](Vector3.md)
|
|
22
|
+
|
|
23
|
+
A fresh immutable XYZ volume centroid.
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
## Related APIs
|
|
27
|
+
|
|
28
|
+
- [TriangleMesh](TriangleMesh.md)
|
|
29
|
+
- [Vector3](Vector3.md)
|
|
30
|
+
|
|
31
|
+
Package: `@metamesh/modeling@0.13.0`.
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# containsBounds
|
|
2
|
+
|
|
3
|
+
Tests actual XY containment, including touching boundaries; dimensions must match.
|
|
4
|
+
|
|
5
|
+
## Call Signature
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
**containsBounds**(`outer`: [`Bounds2`](Bounds2.md), `inner`: [`Bounds2`](Bounds2.md)): `boolean`
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
Tests actual XY containment, including touching boundaries; dimensions must match.
|
|
14
|
+
|
|
15
|
+
### Parameters
|
|
16
|
+
|
|
17
|
+
<a id="outer"></a>
|
|
18
|
+
|
|
19
|
+
**`outer`** · [`Bounds2`](Bounds2.md) · Required
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
<a id="inner"></a>
|
|
24
|
+
|
|
25
|
+
**`inner`** · [`Bounds2`](Bounds2.md) · Required
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
### Returns
|
|
30
|
+
|
|
31
|
+
`boolean`
|
|
32
|
+
|
|
33
|
+
## Call Signature
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
**containsBounds**(`outer`: [`Bounds3`](Bounds3.md), `inner`: [`Bounds3`](Bounds3.md)): `boolean`
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
Tests actual XYZ containment, including touching boundaries; dimensions must match.
|
|
42
|
+
|
|
43
|
+
### Parameters
|
|
44
|
+
|
|
45
|
+
<a id="outer-1"></a>
|
|
46
|
+
|
|
47
|
+
**`outer`** · [`Bounds3`](Bounds3.md) · Required
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
<a id="inner-1"></a>
|
|
52
|
+
|
|
53
|
+
**`inner`** · [`Bounds3`](Bounds3.md) · Required
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
### Returns
|
|
58
|
+
|
|
59
|
+
`boolean`
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
## Related APIs
|
|
63
|
+
|
|
64
|
+
- [Bounds2](Bounds2.md)
|
|
65
|
+
- [Bounds3](Bounds3.md)
|
|
66
|
+
|
|
67
|
+
## Guides
|
|
68
|
+
|
|
69
|
+
- [Text from a Font parameter](../../guides/recipes.md#text-from-a-font-parameter)
|
|
70
|
+
- [Solid inspection](../../guides/recipes.md#solid-inspection)
|
|
71
|
+
|
|
72
|
+
Package: `@metamesh/modeling@0.13.0`.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# contourContainsPoint
|
|
2
|
+
|
|
3
|
+
Returns true when a point lies inside or on the boundary of a loop.
|
|
4
|
+
|
|
5
|
+
**contourContainsPoint**(`loop`: [`Contour`](Contour.md), `point`: [`Vector2`](Vector2.md)): `boolean`
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## Parameters
|
|
10
|
+
|
|
11
|
+
<a id="loop"></a>
|
|
12
|
+
|
|
13
|
+
**`loop`** · [`Contour`](Contour.md) · Required
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
<a id="point"></a>
|
|
18
|
+
|
|
19
|
+
**`point`** · [`Vector2`](Vector2.md) · Required
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
## Returns
|
|
24
|
+
|
|
25
|
+
`boolean`
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
## Related APIs
|
|
29
|
+
|
|
30
|
+
- [Contour](Contour.md)
|
|
31
|
+
- [Vector2](Vector2.md)
|
|
32
|
+
|
|
33
|
+
Package: `@metamesh/modeling@0.13.0`.
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# createAnchor3
|
|
2
|
+
|
|
3
|
+
Constructs a normalized immutable attachment anchor.
|
|
4
|
+
|
|
5
|
+
**createAnchor3**(`position`: [`Vector3`](Vector3.md), `direction`: [`Vector3`](Vector3.md), `up?`: [`Vector3`](Vector3.md), `tolerance?`: [`GeometryToleranceOptions`](GeometryToleranceOptions.md)): [`Anchor3`](Anchor3.md)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
`up` is projected onto the plane perpendicular to `direction`, removing small
|
|
10
|
+
input drift while preserving its roll intent.
|
|
11
|
+
|
|
12
|
+
## Parameters
|
|
13
|
+
|
|
14
|
+
<a id="position"></a>
|
|
15
|
+
|
|
16
|
+
**`position`** · [`Vector3`](Vector3.md) · Required
|
|
17
|
+
|
|
18
|
+
Finite anchor point in model coordinates.
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
<a id="direction"></a>
|
|
23
|
+
|
|
24
|
+
**`direction`** · [`Vector3`](Vector3.md) · Required
|
|
25
|
+
|
|
26
|
+
Non-zero outward attachment normal.
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
<a id="up"></a>
|
|
31
|
+
|
|
32
|
+
**`up`** · [`Vector3`](Vector3.md) · Optional
|
|
33
|
+
|
|
34
|
+
Non-parallel roll reference; defaults to +Y.
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
<a id="tolerance"></a>
|
|
39
|
+
|
|
40
|
+
**`tolerance`** · [`GeometryToleranceOptions`](GeometryToleranceOptions.md) · Optional
|
|
41
|
+
|
|
42
|
+
Optional comparison overrides.
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
## Returns
|
|
47
|
+
|
|
48
|
+
[`Anchor3`](Anchor3.md)
|
|
49
|
+
|
|
50
|
+
A frozen anchor with unit, orthogonal direction and up vectors.
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
## Throws
|
|
54
|
+
|
|
55
|
+
- GeometryError For non-finite or degenerate inputs.
|
|
56
|
+
|
|
57
|
+
## Related APIs
|
|
58
|
+
|
|
59
|
+
- [Anchor3](Anchor3.md)
|
|
60
|
+
- [GeometryToleranceOptions](GeometryToleranceOptions.md)
|
|
61
|
+
- [Vector3](Vector3.md)
|
|
62
|
+
|
|
63
|
+
Package: `@metamesh/modeling@0.13.0`.
|