edge:circular-3pt
List of: Scheme Extensions
Subjects: Construction Geometry, Model Object
Contents: Constructors

Action: Creates an arc passing through three positions.

Filename: cstr/cstr_scm/edge_scm.cxx

APIs: api_curve_arc_3pt

Syntax: (edge:circular-3pt edge-pos1 edge-pos2


edge-pos3 [full=#f])

Arg Types: edge-pos1 position

edge-pos2 position

edge-pos3 position

full boolean

Returns: entity

Description: edge-pos1 specifies the start location and angle.


edge-pos2 specifies a location on the edge of the arc.


edge-pos3 specifies the end location and angle if the optional argument full is not used.


full determines whether or not to complete the arc in a full circle. If full is set to #t, the extension creates a full circle. The order of the arguments specifies the arc's direction.

Example: ; edge:circular-3pt

; Set the view's eye position, target position,

; and up vector.

(define viewset (view:set


(position 0 0 -100)


(position 0 0 0)


(gvector 1 0 0)))

;; viewset

; Create circular edge 1 passing through 3 points.

(define edge1


(edge:circular-3pt (position 5 0 0)


(position 0 5 0) (position -5 0 0)))

;; edge1

; Create circular edge 2 passing through 3 points.

(define edge2


(edge:circular-3pt (position 15 0 0)


(position 0 10 0) (position 0 -11 0) #t))

;; edge2

; Create circular edge 3 passing through 3 points.

(define edge3


(edge:circular-3pt (position 20 0 0)


(position 0 -20 0) (position -15 -15 0) #f))

;; edge3

; OUTPUT Example


Figure 2-11. edge:circular-3pt
PDF/CSTR/02SCA.PDF
HTM/DATA/CSTR/CSTR/02SCA/0020.HTM