#include <law_data.hxx>


Public Member Functions | |
| void | add () |
Increments the use count of this law_data. | |
| virtual int | date () |
Returns the version of ACIS in which this law_data class first appeared. | |
| virtual law_data * | deep_copy (base_pointer_map *pm=NULL) const =0 |
| Creates a copy of an item that does not share any data with the original. | |
| law_data () | |
Constructs a law_data. | |
| int | ref_count () |
Returns the use count of this law_data. | |
| void | remove () |
Decrements the use count of this law_data, and deletes the law_data when the count drops to zero. | |
| virtual law_data * | restore () |
Returns NULL. | |
| virtual void | save ()=0 |
Saves the law_data with its encapsulated data. | |
| virtual law_data * | set_domain (SPAinterval *new_domain) |
Sets the domain of this law_data to the given interval. | |
| virtual char * | string (law_symbol_type type=DEFAULT, int &count=*(int *) NULL_REF, law_data_node *&ldn=*(law_data_node **) NULL_REF) |
Returns a string that represents this law_data. | |
| virtual const char * | symbol (law_symbol_type type=DEFAULT)=0 |
Returns the string that represents this law_data's symbol. | |
Role: This is the virtual base class for a series of wrappers that handle specific ACIS entities and other ACIS classes. Objects constructed from its derived classes may be parsed into strings through the use of tags, such as "edge", "transform", "path", "curve" and "wire" and then used by api_str_to_law. They are returned by the law method string_and_data.
| law_data::law_data | ( | ) |
Constructs a law_data.
| void law_data::add | ( | ) |
| virtual int law_data::date | ( | ) | [virtual] |
Returns the version of ACIS in which this law_data class first appeared.
Role: If a law_data is part of a model that is to be saved at a previous ACIS release level, this is used to indicate whether the law can be saved or not.
Reimplemented in law_law_data.
| virtual law_data* law_data::deep_copy | ( | base_pointer_map * | pm = NULL |
) | const [pure virtual] |
Creates a copy of an item that does not share any data with the original.
Role: Allocates new storage for all member data and any pointers. Returns a pointer to the copied item.
In a deep copy, all the information about the copied item is self-contained in a new memory block. By comparison, a shallow copy stores only the first instance of the item in memory, and increments the reference count for each copy.
The pointer_map keeps a list of all pointers in the original object that have already been deep-copied. For example, a deep_copy of a complex model results in self contained data, but identical sub-parts within the model are allowed to share a single set of data.
| pm | list of items within the entity that are already deep copied. |
Implemented in wire_law_data, curve_law_data, pcurve_law_data, surface_law_data, law_law_data, and base_transform_law_data.
| int law_data::ref_count | ( | ) | [inline] |
Returns the use count of this law_data.
| void law_data::remove | ( | ) |
| virtual law_data* law_data::restore | ( | ) | [virtual] |
Returns NULL.
| virtual void law_data::save | ( | ) | [pure virtual] |
Saves the law_data with its encapsulated data.
Implemented in wire_law_data, curve_law_data, pcurve_law_data, surface_law_data, transform_law_data, and law_law_data.
| virtual law_data* law_data::set_domain | ( | SPAinterval * | new_domain | ) | [virtual] |
Sets the domain of this law_data to the given interval.
| new_domain | the new domain. |
Reimplemented in curve_law_data, surface_law_data, and law_law_data.
| virtual char* law_data::string | ( | law_symbol_type | type = DEFAULT, |
|
| int & | count = *(int *) NULL_REF, |
|||
| law_data_node *& | ldn = *(law_data_node **) NULL_REF | |||
| ) | [virtual] |
Returns a string that represents this law_data.
Role: The law function is composed of its symbol, associated parentheses, and the strings associated with its sublaws. It is provided as a user-friendly interface to laws. A derived class must override this function to be able to save a law_data.
| type | type of symbol - standard ACIS type. | |
| count | count. | |
| ldn | law data node. |
Reimplemented in law_law_data.
| virtual const char* law_data::symbol | ( | law_symbol_type | type = DEFAULT |
) | [pure virtual] |
Returns the string that represents this law_data's symbol.
Role: This is a pure virtual method, forcing derived classes to define their own versions of this method. Hence, this method is called from the derived class and not from this abstract class.
| type | type of symbol - standard ACIS type. |
Implemented in wire_law_data, curve_law_data, pcurve_law_data, surface_law_data, transform_law_data, and law_law_data.