HHashObject Class Reference

Father class for all hierarchical collections of Hash objects. More...

#include <HHashObj.h>

Inheritance diagram for HHashObject:

Inheritance graph
[legend]
Collaboration diagram for HHashObject:

Collaboration graph
[legend]
List of all members.

Public Member Functions

char * GetName ()
void SetName (const char *name)
ObjectType GetObjectType ()
BOOL IsKindOfBoneCache ()
HHashObjectGetChild ()
void SetChild (HHashObject *child)
HHashObjectGetSibling ()
void SetSibling (HHashObject *sibling)
HHashObjectGetSiblingSame ()
HHashObjectGetParentOfType (ObjectType ot)
HHashObjectGetHeadInstance ()
 Retrieves the first work-object (instance) of an HHashObject.
HHashObjectGetNextInstance (HHashObject *instance)
 Retrieves the next HObject.
HCategoryPropertyGetPluginProperties ()
HUserCategoryPropertyCreateUserCategoryProperty ()
HUserCategoryPropertyGetUserCategoryProperty ()
void InsertChildAtTail (HHashObject *child, BOOL modify=TRUE)
void InsertChildAtHead (HHashObject *child)
void InsertChildAtTailOfType (HHashObject *child)
void InsertChildAtHeadOfType (HHashObject *child)
void InsertChildAfterObject (HHashObject *child, HHashObject *after)
void InsertChildAlpha (HHashObject *child, BOOL modify=TRUE)
void InsertChildOfTypeAlpha (HHashObject *child)
void InsertSibling (HHashObject *child)
void Unstitch ()
void UnstitchWithChildren (BOOL markparentmodified=TRUE)
void Move (HHashObject *parent, HHashObject *oldersibling, BOOL select=TRUE, BOOL markparentmodified=TRUE)
void MoveWithChildren (HHashObject *parent, HHashObject *oldersibling, BOOL select=TRUE, BOOL markparentmodified=TRUE)
void MarkViewsNeedDrawn ()

Detailed Description

Father class for all hierarchical collections of Hash objects.

The HHashObject adds to the HTreeObjects the functions necessary for building, retrieving, modifying the child tree and the immediate neighbor nodes in the tree.

Definition at line 264 of file HHashObj.h.


Member Function Documentation

HUserCategoryProperty* HHashObject::CreateUserCategoryProperty  ) 
 

HHashObject * HHashObject::GetChild  ) 
 

Retrieves the First child HHashObject in the childs list independent of its type. To test for its type use HHashObject::GetSibling().

Skips user containers, and doesn't include classes not derived off HashObject (CPs)

Note:
Using GetChild(), GetSibling(), or GetParent() will ensure that the iteration proceeds through the list in the same order as they appear in the PWS folder.
Here is a code snipet that will iterate through objects of type HModels in a HChor object.
for (HHashObject *obj = chor->GetChild(); obj; obj=obj->GetSibling()) {
   if (obj->GetObjectType() == HOT_MODEL)
   ...
}

See also:
see HChor::GetChildModel() for an easier and more efficient way to accomplish the same iteration.

HHashObject * HHashObject::GetHeadInstance  ) 
 

Retrieves the first work-object (instance) of an HHashObject.

Each HObjectCache have a list of all work-object instanciated from itself anywhere in a project.

For example if you have a HModelCache under the Objects folder, the GetHeadInstance would return the first HModel (an work-objectinstance of a HModelCache) from an internal list. HModels are found in choreographies or if you are editing a HModelCache in a view. If you drop a HModelCache into a choreography, an HModel is created, and it is added to the internal list of checked out instances (GetHeadInstance()).

char* HHashObject::GetName  ) 
 

Reimplemented in HActionCache.

HHashObject * HHashObject::GetNextInstance HHashObject instance  ) 
 

Retrieves the next HObject.

Each HObjectCache have a list of all instanciation of itself anywhere in a project. This member function retrieves the next instance of the object. This instance may reside anywhere in the project, choreographies, open Model or Actions views as referenced by "Shortcut to ...".

Parameters:
instance - Pointer to the HHashObject from which the next instance is to be retrieved.

ObjectType HHashObject::GetObjectType  ) 
 

Returns the object type

Note:
The HTreeObject::GetObjectType() should be used instead of this one. This one is an old remnent of the 8.5 SDK and have been left there so not to invalidate old plugins.
See also:
ObjectType for the complete list of ObjectType tags and their values.

HTreeObject::GetObjectType()

Reimplemented from HTreeObject.

Reimplemented in HShading.

HHashObject * HHashObject::GetParentOfType ObjectType  ot  ) 
 

Skips user containers, and doesn't include classes not derived off HashObject (CPs)

HCategoryProperty* HHashObject::GetPluginProperties  ) 
 

HHashObject * HHashObject::GetSibling  ) 
 

Retrieves the Next child HHashObject independent of its type in the list starting where the current HHashObject is in the list. To test for its type use HHashObject::GetSibling().

Skips user containers, and doesn't include classes not derived off HashObject (CPs)

Note:
See HHashObject::GetChild() for an example that iterates through objects in a list.

HHashObject * HHashObject::GetSiblingSame  ) 
 

Retrieves the Next child HHashObject of the same type as the current HHashObject in the list starting where the current HHashObject is in the list.

Skips user containers, and doesn't include classes not derived off HashObject (CPs)

HUserCategoryProperty* HHashObject::GetUserCategoryProperty  ) 
 

void HHashObject::InsertChildAfterObject HHashObject child,
HHashObject after
 

void HHashObject::InsertChildAlpha HHashObject child,
BOOL  modify = TRUE
 

void HHashObject::InsertChildAtHead HHashObject child  ) 
 

void HHashObject::InsertChildAtHeadOfType HHashObject child  ) 
 

void HHashObject::InsertChildAtTail HHashObject child,
BOOL  modify = TRUE
 

void HHashObject::InsertChildAtTailOfType HHashObject child  ) 
 

void HHashObject::InsertChildOfTypeAlpha HHashObject child  ) 
 

void HHashObject::InsertSibling HHashObject child  ) 
 

BOOL HHashObject::IsKindOfBoneCache  ) 
 

void HHashObject::MarkViewsNeedDrawn  ) 
 

void HHashObject::Move HHashObject parent,
HHashObject oldersibling,
BOOL  select = TRUE,
BOOL  markparentmodified = TRUE
 

void HHashObject::MoveWithChildren HHashObject parent,
HHashObject oldersibling,
BOOL  select = TRUE,
BOOL  markparentmodified = TRUE
 

void HHashObject::SetChild HHashObject child  ) 
 

void HHashObject::SetName const char *  name  ) 
 

void HHashObject::SetSibling HHashObject sibling  ) 
 

void HHashObject::Unstitch  ) 
 

void HHashObject::UnstitchWithChildren BOOL  markparentmodified = TRUE  ) 
 


The documentation for this class was generated from the following files:
This A:M SDK v12.0 documentation is maintained by Hash Inc. Please address any comments concerning this documentation to AMReports. If you have any information, knowledge, or documentation to share with the A:M developer community, please post them on the Hash SDK forum.

Generated on Thu Oct 27 11:46:56 2005 with doxygen 1.4.5 written by Dimitri van Heesch, © 1997-2001