subtype_object
List of: Classes
Subjects: Construction Geometry
Contents: Kernel

Purpose: Defines the master object from which all subtype objects must be derived.

Derivation: subtype_object : ACIS_OBJECT : -

Filename: kern/kernel/kernutil/subtype/subtype.hxx

Description: This class defines the master object from which all subtype objects must be derived. This object contains a use count (in case the object is shareable) and defines two virtual functions and a destructor.

Constructor: public: subtype_object::subtype_object ();


C++ constructor, creating a subtype_object.




Destructor: public: virtual subtype_object::~subtype_object ();


C++ destructor, deleting a subtype_object. and all those objects that need it.



Methods: public: void subtype_object::add_ref ();


Use count manipulation.






public: virtual void subtype_object::debug (


char const*, // leader for second and




// subsequent lines of




// output


logical, // TRUE for brief output




// FALSE for full output


FILE* // file name



= debug_file_ptr


) const = 0;


Writes the subtype_object in readable form for debugging. If logical is TRUE, brief output is produced; if logical is FALSE, long output is produced.






public: logical subtype_object::mult_ref () const;


Returns TRUE if there is more than one reference; otherwise, it returns FALSE.






public: logical subtype_object::operator!= (


subtype_object const& rhs // subtype-object


) const;


TRUE if two subtype objects are not the same. Use this method for sharing on restoration of old save files.






public: virtual logical subtype_object::operator== (


subtype_object const& // subtype-object


) const;


Determines if two subtype objects are the same. Use this method for sharing on restoration of old save files.






public: int subtype_object::ref_count ();


Returns the use count.






public: void subtype_object::remove_ref ();


Removes a reference.






public: virtual void subtype_object::save () const;


Saves a subtype object with identifier and brackets, and enters it in the current tag table. If it is already there, just puts out a reference.






public: virtual void


subtype_object::save_data () const = 0;


Saves the information for the subtype_object to a save file.






public: virtual int


subtype_object::type () const = 0;


Returns the type of subtype_object.






public: virtual char const*


subtype_object::type_name () const = 0;


Returns a pointer to a static string, which is the externally-meaningful type name for this subtype.






public: virtual logical


subtype_object::unknown_type () const;


Returns TRUE if this object type is unknown to the system; otherwise, it returns FALSE. This method returns FALSE as the default, so except for the system unknown subtype, the method should be omitted from derived class definitions.

Internal Use: full_size
PDF/KERN/37CLSR.PDF
HTM/DATA/KERN/KERN/37CLSR/0007.HTM