Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

ObjCryst::RefParType Class Reference

class of refinable parameter types. More...

Collaboration diagram for ObjCryst::RefParType:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 RefParType (const string &name)
 Create a top parameter type.

 RefParType (const RefParType *parent, const string &name)
 create a children type.

 ~RefParType ()
 Destructor.

bool IsDescendantFromOrSameAs (const RefParType *type) const
 Returns true if the parameter is a descendant of 'type'.

bool operator== (const RefParType *parent) const
 returns true if the two types are the same.

const string & GetName () const
 Get the name for this parameter.


Private Member Functions

void InitId ()
 Get a Unique id (RefParType::mId).


Private Attributes

const RefParTypempParent
 the parent for this RefParType (we could easily allow several...)

const string mName
 The name/description for this parameter type.

unsigned long mId
 The unique number identifying this type.


Detailed Description

class of refinable parameter types.

This is used to categorize all parameters, to be able to modify a complete category of parameters (fix/unfix, set limits,...). The types are organized as a tree.

Parameters should be allocated globally in the heap, so we only use pointers in the interface.

Note:
when modifying (fixing, changing limits) for a given RefParType (ie a 'family' of parameters), it affects all RefinablePar of this type and the parameters belonging to the children of this RefParType. eg fixing for the type "gpRefParTypeScatt" will fix all the derived postionnal, orientationnal, and population parameters for the scatterers.
Remarks:
In the future, why not use a tree with multiple inheritance ?? It would be easy to allow multiple parents... But beware of loops...


Constructor & Destructor Documentation

ObjCryst::RefParType::RefParType const string &  name  ) 
 

Create a top parameter type.

(in ObjCryst, there is only one, the "ObjCryst" category.

ObjCryst::RefParType::RefParType const RefParType parent,
const string &  name
 

create a children type.

ObjCryst::RefParType::~RefParType  ) 
 

Destructor.


Member Function Documentation

const string& ObjCryst::RefParType::GetName  )  const
 

Get the name for this parameter.

void ObjCryst::RefParType::InitId  )  [private]
 

Get a Unique id (RefParType::mId).

bool ObjCryst::RefParType::IsDescendantFromOrSameAs const RefParType type  )  const
 

Returns true if the parameter is a descendant of 'type'.

bool ObjCryst::RefParType::operator== const RefParType parent  )  const
 

returns true if the two types are the same.


Member Data Documentation

unsigned long ObjCryst::RefParType::mId [private]
 

The unique number identifying this type.

const string ObjCryst::RefParType::mName [private]
 

The name/description for this parameter type.

const RefParType* ObjCryst::RefParType::mpParent [private]
 

the parent for this RefParType (we could easily allow several...)


The documentation for this class was generated from the following file:
Generated on Tue Nov 14 15:05:47 2006 for ObjCryst++ by doxygen 1.3.6