LAW
List of: Classes
Subjects: Laws, SAT Save and Restore
Contents: Kernel

Purpose: Stores a law mathematics function as an entity for saving to and restoring from a SAT file.

Derivation: LAW : ENTITY : ACIS_OBJECT : -

SAT Identifier: "LAW"

Filename: kern/kernel/geomhusk/lawent.hxx

Description: This permits a law mathematic function to be written to a SAT file without the requirement of it being attached to some model topology. This is used in conjunction with api_law_to_entity. As such, equations used in some model analysis have some permanence from session to session.

References: LAW law

Constructor: public: LAW::LAW ();


C++ allocation constructor requests memory for this object but does not populate it. The allocation constructor is used primarily by restore. Applications should call this constructor only with the overloaded new operator, because this reserves the memory on the heap, a requirement to support roll back and history management.






public: LAW::LAW (


LAW* // law entity to copy


);


C++ copy constructor requests memory for this object and populates it with the data from the object supplied as an argument. Applications should call this constructor only with the overloaded new operator, because this reserves the memory on the heap, a requirement to support roll back and history management.






public: LAW::LAW (


law* // law mathematic




// function


);


C++ initialize constructor requests memory for this object and populates it with the data supplied as arguments. Applications should call this constructor only with the overloaded new operator, because this reserves the memory on the heap, a requirement to support roll back and history management.




Destructor: public: virtual void LAW::lose ();


Posts a delete bulletin to the bulletin board indicating the instance is no longer used in the active model. The lose methods for attached attributes are also called.






protected: virtual LAW::~LAW ();


This C++ destructor should never be called directly. Instead, applications should use the overloaded lose method inherited from the ENTITY class, because this supports history management. (For example, x=new LAW(...) then later x->lose.)



Methods: public: virtual void LAW::debug_ent (


FILE* // file pointer


) const;


Prints the type and address of this object, roll back pointer, attributes, and any unknown subtype information to the specified file. Refer to the ENTITY class for more details.






public: law* LAW::def () const;


Returns the law mathematic function enclosed within the LAW entity.






public: virtual int LAW::identity (


int
// level



= 0


) const;


If level is unspecified or 0, returns the type identifier LAW_TYPE. If level is specified, returns LAW_TYPE for that level of derivation from ENTITY. The level of this class is defined as LAW_LEVEL.






public: virtual logical LAW::is_deepcopyable (


) const;


Returns TRUE if this can be deep copied.






public: void LAW::operator*= (


const SPAtransf& // output transform


);


Transforms a LAW. Before performing a change it checks whether the data structure is posted on the bulletin board. If not, the routine calls backup to put an entry on the bulletin board.






public: void LAW::restore_common ();


The RESTORE_DEF macro expands to the restore_common method, which is used in reading information from a SAT file. This method is never called directly. It is called by a higher hierarchical function if an item in the SAT file is determined to be of this class type. An instance of this class will already have been created through the allocation constructor. This method then populates the class instance with the appropriate data from the SAT file.


restore_law


Restore the underlying law mathematic function






public: void LAW::set_def (


law* in_law // new law


);


Specifies a new law function to store in the LAW entity.






public: virtual const char* LAW::type_name () const;


Returns the string "LAW".

Internal Use: full_size, save, save_common




Related Fncs: is_LAW
PDF/KERN/33CLL.PDF
HTM/DATA/KERN/KERN/33CLL/0001.HTM