pattern:print-transform
List of: Scheme Extensions
Subjects: Patterns
Contents: Kernel

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
PDF/KERN/14SCI.PDF
HTM/DATA/KERN/KERN/14SCI/0078.HTM