Shapemetry API / GcsSystem
Class: GcsSystem
Defined in: sketch/index.ts:75
The geometric constraint system. Owns all entities (points, lines, circles, arcs) and constraints. Provides CRUD operations and orchestrates the solver.
Constructors
Constructor
new GcsSystem():
GcsSystem
Returns
GcsSystem
Properties
points
points:
GenArena<GcsPoint>
Defined in: sketch/index.ts:76
lines
lines:
GenArena<GcsLine>
Defined in: sketch/index.ts:77
circles
circles:
GenArena<GcsCircle>
Defined in: sketch/index.ts:78
arcs
arcs:
GenArena<GcsArc>
Defined in: sketch/index.ts:79
constraints
constraints:
GenArena<ConstraintEntry>
Defined in: sketch/index.ts:80
arcInternalConstraints
arcInternalConstraints:
Map<string,ConstraintHandle>
Defined in: sketch/index.ts:86
Internal constraints auto-added by addArc (center–end distance). Keyed by arc handle key so they can be removed with the arc.
parameterMap
parameterMap:
ParamRef[] =[]
Defined in: sketch/index.ts:89
Cached parameter list (rebuilt when dirty).
parameterIndex
parameterIndex:
Map<string,number>
Defined in: sketch/index.ts:91
Map from paramRefKey to index in parameterMap.
dirty
dirty:
boolean=false
Defined in: sketch/index.ts:93
Whether the parameter map needs rebuilding.
Accessors
pointCount
Get Signature
get pointCount():
number
Defined in: sketch/index.ts:240
Returns
number
lineCount
Get Signature
get lineCount():
number
Defined in: sketch/index.ts:241
Returns
number
circleCount
Get Signature
get circleCount():
number
Defined in: sketch/index.ts:242
Returns
number
arcCount
Get Signature
get arcCount():
number
Defined in: sketch/index.ts:243
Returns
number
constraintCount
Get Signature
get constraintCount():
number
Defined in: sketch/index.ts:244
Returns
number
Methods
addPoint()
addPoint(
x,y,fixed?):GcsPointHandle
Defined in: sketch/index.ts:97
Parameters
x
number
y
number
fixed?
boolean = false
Returns
getPoint()
getPoint(
handle):GcsPoint|null
Defined in: sketch/index.ts:102
Parameters
handle
Returns
GcsPoint | null
setFixed()
setFixed(
handle,fixed):void
Defined in: sketch/index.ts:106
Parameters
handle
fixed
boolean
Returns
void
removePoint()
removePoint(
handle):boolean
Defined in: sketch/index.ts:114
Parameters
handle
Returns
boolean
addLine()
addLine(
p1,p2):GcsLineHandle|null
Defined in: sketch/index.ts:137
Parameters
p1
p2
Returns
GcsLineHandle | null
getLine()
getLine(
handle):GcsLine|null
Defined in: sketch/index.ts:142
Parameters
handle
Returns
GcsLine | null
removeLine()
removeLine(
handle):boolean
Defined in: sketch/index.ts:146
Parameters
handle
Returns
boolean
addCircle()
addCircle(
center,radius):GcsCircleHandle|null
Defined in: sketch/index.ts:155
Parameters
center
radius
number
Returns
GcsCircleHandle | null
getCircle()
getCircle(
handle):GcsCircle|null
Defined in: sketch/index.ts:161
Parameters
handle
Returns
GcsCircle | null
removeCircle()
removeCircle(
handle):boolean
Defined in: sketch/index.ts:165
Parameters
handle
Returns
boolean
addArc()
addArc(
center,start,end):GcsArcHandle|null
Defined in: sketch/index.ts:180
Add an arc defined by center, start, and end points. Auto-adds an internal PointOnArc(end, arc) constraint so that dist(center, end) == dist(center, start) is maintained dynamically.
Parameters
center
start
end
Returns
GcsArcHandle | null
getArc()
getArc(
handle):GcsArc|null
Defined in: sketch/index.ts:197
Parameters
handle
Returns
GcsArc | null
removeArc()
removeArc(
handle):boolean
Defined in: sketch/index.ts:201
Parameters
handle
Returns
boolean
addConstraint()
addConstraint(
constraint):ConstraintHandle|null
Defined in: sketch/index.ts:222
Parameters
constraint
Returns
ConstraintHandle | null
removeConstraint()
removeConstraint(
handle):boolean
Defined in: sketch/index.ts:228
Parameters
handle
Returns
boolean
getConstraint()
getConstraint(
handle):Constraint|null
Defined in: sketch/index.ts:234
Parameters
handle
Returns
Constraint | null
solve()
solve(
maxIterations?,tolerance?):SolveResult
Defined in: sketch/index.ts:252
Solve the constraint system. Modifies entity positions in-place to satisfy all constraints.
Parameters
maxIterations?
number = 100
tolerance?
number = 1e-10
Returns
dof()
dof():
DofAnalysis
Defined in: sketch/index.ts:312
Analyze degrees of freedom in the current system.
Returns
DofAnalysis
getPointPosition()
getPointPosition(
handle): {x:number;y:number; } |null
Defined in: sketch/index.ts:339
Parameters
handle
Returns
{ x: number; y: number; } | null
getLineEndpoints()
getLineEndpoints(
handle): {start: {x:number;y:number; };end: {x:number;y:number; }; } |null
Defined in: sketch/index.ts:345
Parameters
handle
Returns
{ start: { x: number; y: number; }; end: { x: number; y: number; }; } | null
getCircleGeometry()
getCircleGeometry(
handle): {center: {x:number;y:number; };radius:number; } |null
Defined in: sketch/index.ts:354
Parameters
handle
Returns
{ center: { x: number; y: number; }; radius: number; } | null
getArcGeometry()
getArcGeometry(
handle): {center: {x:number;y:number; };start: {x:number;y:number; };end: {x:number;y:number; }; } |null
Defined in: sketch/index.ts:362
Parameters
handle
Returns
{ center: { x: number; y: number; }; start: { x: number; y: number; }; end: { x: number; y: number; }; } | null
rebuildIfDirty()
rebuildIfDirty():
void
Defined in: sketch/index.ts:382
Returns
void
extractParameters()
extractParameters():
Float64Array
Defined in: sketch/index.ts:413
Returns
Float64Array
writeParameters()
writeParameters(
parameters,parameterMap):void
Defined in: sketch/index.ts:428
Parameters
parameters
Float64Array
parameterMap
ParamRef[]
Returns
void
buildSnapshot()
buildSnapshot():
EntitySnapshot
Defined in: sketch/index.ts:444
Returns
EntitySnapshot
buildSnapshotFromParams()
buildSnapshotFromParams(
parameters,parameterIndex):EntitySnapshot
Defined in: sketch/index.ts:485
Parameters
parameters
Float64Array
parameterIndex
Map<string, number>
Returns
EntitySnapshot
validateConstraint()
validateConstraint(
constraint):boolean
Defined in: sketch/index.ts:539
Parameters
constraint
Returns
boolean