/** @packageDocumentation * @module CartesianGeometry */ import { LineString3d } from "../curve/LineString3d"; import { StrokeOptions } from "../curve/StrokeOptions"; import { EllipsoidPatch } from "./Ellipsoid"; import { UVSurface } from "./GeometryHandler"; import { Range3d } from "./Range"; /** * Support methods to act on surfaces with 0..1 uv fractional parameterization * @public */ export declare class UVSurfaceOps { /** Return the range of sampled points at specified offset from the surface. * * point counts in each direction may be set in the optional `options` structure. * * numU and numV are clamped at (2,500). */ static sampledRangeOfOffsetPatch(patch: UVSurface, offsetDistance: number | undefined, numU: number, numV: number): Range3d; /** Return the range of sampled points at specified offset from the surface. * * point counts in each direction may be set in the optional `options` structure, with angle ranges from the ellipsoid. * * Default evaluation is at 5 degree intervals. */ static sampledRangeOfOffsetEllipsoidPatch(patch: EllipsoidPatch, offsetDistance: number | undefined, options?: StrokeOptions): Range3d; private constructor(); /** * * evaluate `numEdge+1` points at surface uv parameters interpolated between (u0,v0) and (u1,v1) * * accumulate the xyz in a linestring. * * If xyzToUV is given, also accumulate transformed values as surfaceUV * * use xyzToUserUV transform to convert xyz to uv stored in the linestring (this uv is typically different from surface uv -- e.g. torus cap plane coordinates) * @param surface * @param u0 u coordinate at start of parameter space line * @param v0 v coordinate at end of parameter space line * @param u1 u coordinate at start of parameter space line * @param v1 v coordinate at end of parameter space line * @param numEdge number of edges. (`numEdge+1` points are evaluated) * @param saveUV if true, save each surface uv fractions with `linestring.addUVParamsAsUV (u,v)` * @param saveFraction if true, save each fractional coordinate (along the u,v line) with `linestring.addFraction (fraction)` * * @param xyzToUV */ static createLinestringOnUVLine(surface: UVSurface, u0: number, v0: number, u1: number, v1: number, numEdge: number, saveUV?: boolean, saveFraction?: boolean): LineString3d; } //# sourceMappingURL=UVSurfaceOps.d.ts.map