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
|