HChor Class Reference

#include <HChor.h>

Inheritance diagram for HChor:

Inheritance graph
[legend]
Collaboration diagram for HChor:

Collaboration graph
[legend]
List of all members.

Public Member Functions

HFileInfoPropertyGetFileInfo ()
HTimePropertyGetTotalTime ()
HVectorPropertyGetForce ()
HIntPropertyGetRigidSubSamples ()
HFloatPropertyGetRigidDrag ()
HBoolPropertyGetDisplayWhileSimulating ()
void CreateFrame (Time time)
void Dirty ()
Time GetTime ()
void SetTime (Time time)
void SetTimeWithSound (Time time)
HChorContainerGetParentChorContainer ()
HModelGetChildModel ()
HPropGetChildProp ()
HCameraGetChildCamera ()
HForceGetChildForce ()
HMatFXGetChildMatFX ()
HMCDeviceGetChildMCDevice ()
HLightListNodeGetHeadLightList ()
HLightListNodeGetHeadAllLightList ()
IEPatchModelBuildExportModel (IEModelParms *iemp, Time time, const char *modelmapfilename)
IEPolyModelBuildExportModel (IEPolyModelParms *iemp, Time time, const char *modelmapfilename)
IEPolyModelBuildExportModel (IEPolyModelParms *iemp, HModel *hmodel, HGroup *hgroup, BOOL markpatchesinvisible, VertexInfo *vertexinfo)
BOOL Intersect (Vector &p, Vector &d, Vector &hitp, Vector &hitn, float maxdist)
 Old for backward compatibility. flatness = 0.160.
BOOL Intersect (Vector &p, Vector &d, Vector &hitp, Vector &hitn, float maxdist, float flatness)
 this function sends a ray into the scene and returns the first intersection/hit point and normal vector of the hit surface

Static Public Member Functions

static HChorNew ()

Detailed Description

Root class of a choreography object tree.

Definition at line 30 of file HChor.h.


Member Function Documentation

IEPolyModel* HChor::BuildExportModel IEPolyModelParms iemp,
HModel hmodel,
HGroup hgroup,
BOOL  markpatchesinvisible,
VertexInfo vertexinfo
 

IEPolyModel* HChor::BuildExportModel IEPolyModelParms iemp,
Time  time,
const char *  modelmapfilename
 

IEPatchModel* HChor::BuildExportModel IEModelParms iemp,
Time  time,
const char *  modelmapfilename
 

void HChor::CreateFrame Time  time  ) 
 

void HChor::Dirty  ) 
 

HCamera* HChor::GetChildCamera  ) 
 

HForce* HChor::GetChildForce  ) 
 

HMatFX* HChor::GetChildMatFX  ) 
 

HMCDevice* HChor::GetChildMCDevice  ) 
 

HModel * HChor::GetChildModel  ) 
 

Retrieves a separate HChor child list that holds all child HModels. It is important to note that this list is not sorted in the same order as it appears in the Chor folder in the PWS. When working with this list, you may not use any iteration porcess other than HModel::GetNextModelInChor() to guarantee that all models are iterated through.

Here is a code snippet that will iterate through all HModels in an HChor object.

for (HModel *model = chor->GetChildModel(); model; model = model->GetNextModelInChor()) {
   ...
}

HProp* HChor::GetChildProp  ) 
 

HBoolProperty* HChor::GetDisplayWhileSimulating  ) 
 

HFileInfoProperty* HChor::GetFileInfo  ) 
 

HVectorProperty* HChor::GetForce  ) 
 

HLightListNode* HChor::GetHeadAllLightList  ) 
 

HLightListNode* HChor::GetHeadLightList  ) 
 

HChorContainer* HChor::GetParentChorContainer  ) 
 

HFloatProperty* HChor::GetRigidDrag  ) 
 

HIntProperty* HChor::GetRigidSubSamples  ) 
 

Time HChor::GetTime  ) 
 

HTimeProperty* HChor::GetTotalTime  ) 
 

BOOL HChor::Intersect Vector p,
Vector d,
Vector hitp,
Vector hitn,
float  maxdist,
float  flatness
 

this function sends a ray into the scene and returns the first intersection/hit point and normal vector of the hit surface

This function will shoot a ray in a scene and return TRUE if it hits an object, and FALSE if no object is hit. Pass in the point you are shooting from, the direction to shoot the ray, an address for to store the point that it hits, an address to store the normal of the surface that it hits, and a distance to shoot the ray. This function is useful for placing objects on another model's surface, and to determine lighting.

Parameters:
p - the vector representing to point to shoot the ray from.
d - the vector representing the direction to shoot the ray.
hitp - if the ray hits an object, the vector representing the point it hit is returned here.
hitn - if the ray hits an object, the vector representing the normal of the surface it hit is returned here.
maxdist - the distance to shoot the ray.
flatness - a flatness tolerance. This tolerance adjust how fine the patches are subdivided when they are interacted. The default value is 0.16. You can lower this number to get the desired precision.
To get an intersection at a time other than 0 you will have to use the function HChor::SetTime() followed by a HChor::CreateFrame();

Example:

chor->SetTime(currentTime);
chor->CreateFrame();
chor->Intersect(pos, dir, hitp, hitn, depth, flatness);

Note:
The return values of this call are sensitive to your viewport information.
See also:
Marcel Bricman's notes about this function.

BOOL HChor::Intersect Vector p,
Vector d,
Vector hitp,
Vector hitn,
float  maxdist
 

Old for backward compatibility. flatness = 0.160.

Same as the other Intersect function except that there is no flatness parameter.

static HChor* HChor::New  )  [static]
 

void HChor::SetTime Time  time  ) 
 

void HChor::SetTimeWithSound Time  time  ) 
 


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:54 2005 with doxygen 1.4.5 written by Dimitri van Heesch, © 1997-2001