coolray.org FAQ Contact Us
CoolRay Banner
CoolRay / Documentation
Main Page   Class Hierarchy   Compound List   Compound Members   Related Pages  

Class Class Reference

A Class object holds Metainformation about all Object derived classes. More...

#include <Object.h>

Inheritance diagram for Class

Inheritance graph
[legend]
List of all members.

Public Methods

 Class (const char *classname)
virtual ~Class ()
const char* getName ()const
 Get the name of the class. More...

virtual ObjectnewInstance ()const=0
 Create a new instance of the class. More...

virtual PropertyList* getPropertyList (bool all=true)const=0
 Get all properties supported by a instance of these class. More...

virtual Class* getBase ()const=0
 Get the base class. More...

virtual bool isAbstract ()const=0
 Query if class is abstract. More...

bool isChild (Class *pBaseClass,int *pDistance=NULL)const
 Determine if we are the child class of a given base class. More...


Detailed Description

A Class object holds Metainformation about all Object derived classes.

All raytracing classes derive from Object and therefore are covered by a Metainformation system build upon this abtract base class.

Author(s):
Marcus Bürgel
See also:
Object


Member Function Documentation

Class * Class::getBase ( ) const [pure virtual]
 

Get the base class.

Returns:
base class

const char * Class::getName ( ) const
 

Get the name of the class.

Returns:
name of the class

PropertyList * Class::getPropertyList ( bool all = true ) const [pure virtual]
 

Get all properties supported by a instance of these class.

Parameters:
all   true - return all properties (including inherited properties) false - return all direct properties (but no inherited ones)
Returns:
property list

bool Class::isAbstract ( ) const [pure virtual]
 

Query if class is abstract.

Returns:
true - if class is abstract, else false

bool Class::isChild ( Class * pBaseClass,
int * pDistance = NULL ) const
 

Determine if we are the child class of a given base class.

Optionally the distance (number nodes in the inheritance tree) is calculated.

Parameters:
pBaseClass   the base class
pDistance   (optional) pointer to integer receiving the distance if this parameter is NULL no distance information is returned
Returns:
true, if pBaseClass is a base class false, pBaseClass isn't a base class

Object * Class::newInstance ( ) const [pure virtual]
 

Create a new instance of the class.

A InstanciationException is thrown if a abstract class is asked for a new instance.

Returns:
new instance
Exceptions:
InstanciationException  


The documentation for this class was generated from the following file:
  • Object.h
You are visitor No.

counter

Copyright (c) 2001 Stefan Michel, All Rights Reserved.
Last modified: