expanded comment

This commit is contained in:
Dave Schuyler 2004-01-22 02:26:55 +00:00
parent 815d15ee4b
commit 7470a32d17

View File

@ -34,6 +34,66 @@
// return the specific type of the derived class. // return the specific type of the derived class.
// Inheriting from this automatically provides support // Inheriting from this automatically provides support
// for is_of_type() and is_exact_type(). // for is_of_type() and is_exact_type().
//
// Defining get_type() and force_init_type() are not
// necessary if your class does not define any virtual
// functions.
//
// There is a specific layout for defining the
// overrides from this class. Keeping the definitions
// formatted just like these examples will allow
// someone in the future to use a sed (or similar)
// script to make global changes, if necessary. Avoid
// rearranging the braces or the order of the functions
// unless you're ready to change them in every file all
// at once.
//
// What follows are some examples that can be used in
// new classes that you create.
//
// ---------------------------------------------------
// In the class definition (.h file)
// ---------------------------------------------------
//
// public:
// static TypeHandle get_class_type() {
// return _type_handle;
// }
// static void init_type() {
// <<<BaseClassOne>>>::init_type();
// <<<BaseClassTwo>>>::init_type();
// <<<BaseClassN>>>::init_type();
// register_type(_type_handle, "<<<ThisClassStringName>>>",
// <<<BaseClassOne>>>::get_class_type(),
// <<<BaseClassTwo>>>::get_class_type(),
// <<<BaseClassN>>>::get_class_type());
// }
// virtual TypeHandle get_type() const {
// return get_class_type();
// }
// virtual TypeHandle force_init_type() {init_type(); return get_class_type();}
//
// private:
// static TypeHandle _type_handle;
//
//
// ----------------------
// In the class .cxx file
// ----------------------
//
// TypeHandle <<<ThisClassStringName>>>::_type_handle;
//
//
// ----------------------------------------------
// In the class config_<<<PackageName>>>.cxx file
// ----------------------------------------------
//
// ConfigureFn(config_<<<PackageName>>>) {
// <<<ClassOne>>>::init_type();
// <<<ClassTwo>>>::init_type();
// <<<ClassN>>>::init_type();
// }
//
//////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////
class EXPCL_PANDAEXPRESS TypedObject { class EXPCL_PANDAEXPRESS TypedObject {
public: public: