|
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
|