Action:
|
Test the deep copy functionality for improper sharing.
|
|
Prototype:
|
outcome api_test_deep_copy (
|
|
|
ENTITY_LIST const& entity_list,// list of
|
|
|
|
|
|
// entities to be
|
|
|
|
|
|
// deep copied
|
|
|
double numerical_tolerance
|
// tolerance for real
|
|
|
|
= SPAresnor,
|
|
// value comparisons
|
|
|
logical report_all_errors
|
// flag to skip
|
|
|
|
= FALSE,
|
|
// attributes not
|
|
|
|
|
|
// deep copyable
|
|
|
char* file1
|
// file of entities saved
|
|
|
|
= NULL,
|
// before deep-copy
|
|
|
char* file2
|
// file of entities saved
|
|
|
|
= NULL,
|
// after deep-copy
|
|
|
AcisOptions* ao = NULL
|
// acis options
|
|
|
);
|
|
Includes:
|
#include "kernel/acis.hxx"
|
|
#include "baseutil/logical.h"
|
|
#include "kernel/kernapi/api/api.hxx"
|
|
#include "kernel/kernapi/api/kernapi.hxx"
|
|
#include "kernel/kerndata/lists/lists.hxx"
|
|
#include "kernel/kernapi/api/acis_options.hxx"
|
|
Description:
|
This API deep copies the given list of entities. These entities are saved to SAT files and restored, and then saved out again before and after a deep copy. If this function is called in a debug build, the memory from the original will be pattern filled for additional checking of no sharing after a deep copy. A comparison is done between the two SAT files created,
original.sat and
deep_copy.sat.
|
|
|
This function is used primarily for internal testing. However, if derived entities are used outside of
ACIS, this function can be used to test their deep copy capabilities.
|
|
Limitations:
|
Refer to Description.
|
|
Library:
|
kernel
|
|
Filename:
|
kern/kernel/kernapi/api/kernapi.hxx
|
|
Effect:
|
Changes model
|