api_test_deep_copy
List of: Functions
Subjects: Model Geometry, Model Object
Contents: Kernel

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
PDF/KERN/16FNA.PDF
HTM/DATA/KERN/KERN/16FNA/0166.HTM