Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
9d36d1a
Improved CurveCurveIntersectXY
saeeedtorabi Nov 14, 2025
7f0db82
Added support for extend
saeeedtorabi Nov 17, 2025
308385b
Merge branch 'master' into saeed-torabi/spiral-intersection-modify
saeeedtorabi Nov 17, 2025
dfd4385
- make geomA/B arg order consistent
dassaf4 Nov 21, 2025
ea35661
use `Checker.testExactNumber` for 0-tolerance comparisons (e.g., for …
dassaf4 Nov 21, 2025
a05819c
helper methods
dassaf4 Nov 21, 2025
7d88e0c
use linestring fraction as spiral fraction seed; it evaluates to a cl…
dassaf4 Nov 21, 2025
acce963
ClosestPointStrokeHandler ctor bug when result detail is provided
dassaf4 Nov 21, 2025
33485b9
remove unused methods and interval logic
dassaf4 Nov 25, 2025
6c4e6dc
doc
dassaf4 Nov 25, 2025
23e964a
doc
dassaf4 Nov 26, 2025
24ffc64
finally added a tol arg for comparing points
dassaf4 Nov 26, 2025
4d02a6c
fix anomalous testPoint3d call
dassaf4 Nov 26, 2025
adbd02c
spiral intersectXY:
dassaf4 Nov 26, 2025
67f0732
Merge branch 'master' into saeed-torabi/spiral-intersection-modify
dassaf4 Nov 26, 2025
05de9d5
extract-api
dassaf4 Nov 26, 2025
046dd22
Broke long lines to shorter lines to increase readability
saeeedtorabi Nov 27, 2025
4d40b5c
Merge branch 'master' into saeed-torabi/spiral-intersection-modify
saeeedtorabi Nov 27, 2025
62bc8e0
Implemented spirals close approach
saeeedtorabi Nov 26, 2025
81222ed
Major code refactor
saeeedtorabi Nov 28, 2025
98d4722
minor change
saeeedtorabi Dec 1, 2025
15f98f7
Merge branch 'master' into saeed-torabi/spiral-close-approach
saeeedtorabi Dec 3, 2025
380b5b5
Merge branch 'master' into saeed-torabi/spiral-close-approach
saeeedtorabi Dec 9, 2025
3a53765
minor doc change
saeeedtorabi Dec 18, 2025
4d66bb4
Merge branch 'master' into saeed-torabi/spiral-close-approach
saeeedtorabi Dec 18, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"changes": [
{
"packageName": "@itwin/core-geometry",
"comment": "",
"type": "none"
}
],
"packageName": "@itwin/core-geometry"
}
19 changes: 13 additions & 6 deletions core/geometry/src/curve/StrokeOptions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,21 @@ import { Angle } from "../geometry3d/Angle";
* * Nearly all stroke and facet use cases will apply an angle tolerance.
* * For curves, 15 degrees is typical
* * For facets, 22.5 degrees is typical.
* * Halving the angle tolerance will (roughly) make curves get twice as many strokes, and surfaces get 4 times as many facets.
* * The angle tolerance has the useful property that its effect is independent of scale of that data. If data is suddenly scaled into millimeters rather than meters, the facet counts remain the same.
* * Halving the angle tolerance will (roughly) make curves get twice as many strokes, and surfaces get 4 times as
* many facets.
* * The angle tolerance has the useful property that its effect is independent of scale of that data. If data is
* suddenly scaled into millimeters rather than meters, the facet counts remain the same.
* * When creating output for devices such as 3D printing will want a chord tolerance.
* * For graphics display, use an angle tolerance of around 15 degrees and an chord tolerance which is the size of several pixels.
* * For graphics display, use an angle tolerance of around 15 degrees and an chord tolerance which is the size of
* several pixels.
* * Analysis meshes (e.g. Finite Elements) commonly need to apply maxEdgeLength.
* * Using maxEdgeLength for graphics probably produces too many facets. For example, it causes long cylinders to get many nearly-square facets instead of the small number of long quads usually used for graphics.
* * Facet tolerances are, as the Pirates' Code, guidelines, not absolute rules. Facet and stroke code may ignore tolerances in awkward situations.
* * If multiple tolerances are in effect, the actual count will usually be based on the one that demands the most strokes or facets, unless it is so high that it violates some upper limit on the number of facets on an arc or a section of a curve.
* * Using maxEdgeLength for graphics probably produces too many facets. For example, it causes long cylinders to
* get many nearly-square facets instead of the small number of long quads usually used for graphics.
* * Facet tolerances are, as the Pirates' Code, guidelines, not absolute rules. Facet and stroke code may ignore
* tolerances in awkward situations.
* * If multiple tolerances are in effect, the actual count will usually be based on the one that demands the most
* strokes or facets, unless it is so high that it violates some upper limit on the number of facets on an arc or a
* section of a curve.
* @public
*/
export class StrokeOptions {
Expand Down
Loading
Loading