Action:
|
Prints the requested pattern transform to stdout.
|
|
Filename:
|
kern/kern_scm/pattern_scm.cxx
|
|
Syntax:
|
(pattern:print-transform [index1 [index2]])
|
|
Arg Types:
|
pat
|
pattern
|
|
index1
|
integer
|
|
index2
|
integer
|
|
Returns:
|
boolean
|
|
Description:
|
This extension prints a transform associated with the pattern specified by
pat. By default, the root transformation is printed.
|
|
|
pat specifies a pattern.
|
|
|
If
index1 is given, the relative transformation for the pattern element indexed by its value is output instead.
|
|
|
If both
index1 and
index2 are given, the output is the element which is indexed by
index2 from the element indexed by
index1.
|
|
Example:
|
; pattern:print-transform
|
|
; make a pattern
|
|
(define axis_start (position 0 -25 0))
|
|
;; axis_start
|
|
(define axis_end (position 0 25 0))
|
|
;; axis_end
|
|
(define start-dir (gvector 1 0 0))
|
|
;; start-dir
|
|
(define radius 5)
|
|
;; radius
|
|
(define thread_distance 10)
|
|
;; thread_distance
|
|
(define edge (edge:helix axis_start axis_end
|
|
|
start-dir radius thread_distance))
|
|
;; edge
|
|
(define num 50)
|
|
;; num
|
|
(define root (position 1 2 3))
|
|
;; root
|
|
(define on-endpoints #f)
|
|
;; on-endpoints
|
|
(define rail-dir (gvector 1 0 0))
|
|
;; rail-dir
|
|
(define tangent-dir (gvector 0 1 0))
|
|
;; tangent-dir
|
|
(define pat (pattern:edge edge num
|
|
|
root on-endpoints rail-dir tangent-dir))
|
|
;; pat
|
|
(entity:delete edge)
|
|
;; ()
|
|
; print the root transform
|
|
(define result1 (pattern:print-transform pat))
|
|
;; result1
|
|
; print the first transform
|
|
(define result2 (pattern:print-transform pat 0))
|
|
;; result2
|
|
; check for success
|
|
(law:equal-test result1 #t)
|
|
;; #t
|
|
(law:equal-test result2 #t)
|
|
;; #t
|