test:deep-copy
List of: Scheme Extensions
Subjects: Debugging
Contents: Kernel

Action: Tests the deep copy functionality for improper sharing.

Filename: kern/kern_scm/ent_scm.cxx

APIs: api_test_deep_copy

Syntax: (test:deep-copy entity-list [tolerance] [report-all]


[file1 [file2]])

Arg Types: entity-list entity | (entity ... )

tolerance real

report-all boolean

file1 string

file2 string

Returns: boolean

Description: The entities are saved and restored to test for sharing after api_deep_copy_entity has been called. If the command is used in a debug build, pattern filling the original entities allows a greater level of checking. For debug or release builds, the original and the deep copy SAT files can be compared for differences.


This function is primarily for internal testing. However, if derived entities are used outside of ACIS, this command can verify if the entities are deep copyable.


entity-list specifies a list of any entities.


If tolerance is specified, the geometry is compared before and after the deep copy.


If report-all is set to true (#t), then all the attributes that could not be deep copied are reported.


file1 specifies the name of the file for storing the entities before deep-copy.


file2 specifies the name of the file for storing the entities after deep-copy.

Example: ; test:deep-copy

; Create a wiggle

(define wiggle1 (solid:wiggle 25 25 25 "anti"))

;; wiggle1

(test:deep-copy wiggle1)

;; #t
PDF/KERN/15SCR.PDF
HTM/DATA/KERN/KERN/15SCR/0019.HTM