Home

law_law_data Class Reference
[Laws]

Serves as a wrapper for a law object, for passing into unary and multiple law data classes. More...

#include <law_data.hxx>

Inheritance diagram for law_law_data:

Inheritance graph
[legend]
Collaboration diagram for law_law_data:

Collaboration graph
[legend]

List of all members.

Public Member Functions

void add ()
 Increments the use count of this law_data.
int date ()
 Returns the version of ACIS in which this law_data class first appeared.
virtual law_datadeep_copy (base_pointer_map *pm=NULL) const
 Creates a copy of an item that does not share any data with the original.
 law_law_data (law *in_data)
 Constructs a law_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_datarestore ()
 Returns NULL.
void save ()
 Saves the law_data with its encapsulated data.
law_dataset_domain (SPAinterval *new_domain)
 Sets the domain of this law_data to the given interval.
char * string (law_symbol_type type, int &count, law_data_node *&ldn)
 Returns a string that represents this law_data.
const char * symbol (law_symbol_type type)
 Returns the string that represents this law_data's symbol.
 ~law_law_data ()
 Applications are required to call this destructor for their law data types.


Detailed Description

Serves as a wrapper for a law object, for passing into unary and multiple law data classes.


Role: This is a law data class that holds a pointer to a law.

See also:
law

Constructor & Destructor Documentation

law_law_data::~law_law_data (  ) 

Applications are required to call this destructor for their law data types.

law_law_data::law_law_data ( law in_data  ) 

Constructs a law_law_data.



Role: The constructor method for creating a law_data wrapper to a law.

Parameters:
in_data pointer to sublaw.


Member Function Documentation

void law_data::add (  )  [inherited]

Increments the use count of this law_data.



Role: This method is called in all law_data constructors for the law_data being constructed, and on all of its sublaws.

int law_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 from law_data.

virtual law_data* law_law_data::deep_copy ( base_pointer_map pm = NULL  )  const [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.

Parameters:
pm list of items within the entity that are already deep copied.

Implements law_data.

int law_data::ref_count (  )  [inline, inherited]

Returns the use count of this law_data.

void law_data::remove (  )  [inherited]

Decrements the use count of this law_data, and deletes the law_data when the count drops to zero.



Role: This method is called by all law_data destructors for a law_data, and on all its sublaws. Users of a law_data should call remove instead of delete to delete it.

virtual law_data* law_data::restore (  )  [virtual, inherited]

Returns NULL.

void law_law_data::save (  )  [virtual]

Saves the law_data with its encapsulated data.

Implements law_data.

law_data* law_law_data::set_domain ( SPAinterval new_domain  )  [virtual]

Sets the domain of this law_data to the given interval.



Parameters:
new_domain the new domain.

Reimplemented from law_data.

char* law_law_data::string ( law_symbol_type  type,
int &  count,
law_data_node *&  ldn 
) [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.

Parameters:
type type of symbol - standard ACIS type.
count count.
ldn law data node.

Reimplemented from law_data.

const char* law_law_data::symbol ( law_symbol_type  type  )  [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.

Parameters:
type type of symbol - standard ACIS type.

Implements law_data.