#include <HModel.h>
Inheritance diagram for HModelCache:
Public Member Functions | |
HFileInfoProperty * | GetFileInfo () |
HAttrProperty * | GetAttr () |
HModelCache * | GetSiblingModelCache () |
HObjectCacheContainer * | GetParentObjectCacheContainer () |
IEPatchModel * | BuildExportModel (IEModelParms *iemp, const char *modelmapfilename) |
IEPolyModel * | BuildExportModel (IEPolyModelParms *iemp, const char *modelmapfilename) |
BOOL | MergeIEModel (IEPatchModel *model, const char *name, float peaktolerance, BOOL addgroup, BOOL showprogressbar) |
BOOL | MergeIEModel (IEPolyModel *model, const char *name, float peaktolerance, BOOL addgroup, BOOL showprogressbar) |
HModel * | NewInstance (HChor *) |
void | SetChanged (BOOL modified=TRUE) |
HSpline * | GetHeadSpline () |
HSpline * | CreateSpline () |
void | DeleteSpline (HSpline *spline) |
BOOL | AttachCPs (HCP *cp1, HCP *cp2) |
BOOL | AttachHook (HCP *cp1, HCP *cp2, float s) |
HSpline * | StartSpline (Vector *p1, Vector *p2) |
HCP * | AddCP (HCP *cp, Vector *p) |
HCP * | InsertCP (HCP **cpuplink, HCP *cp, Vector *p) |
BOOL | DeleteCP (HCP **cpuplink, HCP *matchcp) |
void | BreakSpline (HCP *cp) |
BOOL | Make5PointPatch (HGroup *group) |
BOOL | Make5PointPatch (HCP *cp1, HCP *cp2, HCP *cp3, HCP *cp4, HCP *cp5) |
void | CopyExtrude (BOOL extrude, HGroupCP *grouptocopy, HGroupCP **newgroup) |
This function can perform two different operations. It can copy or extrude a group. | |
HSegmentCache * | AddSegment (HBoneCache *parentbonecache, HBoneCache *afterbonecache, String &name, COLORREF color) |
int | CountBones () |
void | AddToTemporaryGroup (HGroupCP *gh) |
HGroup * | CreateGroup (const String &name) |
void | FindPatches () |
HPatch * | FindPatch (HCP *cp1, HCP *cp2, HCP *cp3, HCP *cp4) |
HPatch5 * | FindPatch (HCP *cp1, HCP *cp2, HCP *cp3, HCP *cp4, HCP *cp5) |
UINT | GetPatchCount () |
HPatch * | GetPatch (UINT index) |
HPatch5 * | GetHeadPatch5 () |
HDecal * | AddDecal (HClip *clipcache=NULL) |
HDecalContainer * | GetChildDecalContainer () |
HGroupContainer * | GetChildGroupContainer () |
HBoneCacheContainer * | GetChildBoneCacheContainer () |
HLightCacheContainer * | GetChildLightCacheContainer () |
HSplineContainer * | GetChildSplineContainer () |
HRelationContainer * | CreateRelationContainer () |
Static Public Member Functions | |
static HModelCache * | New (const char *name=NULL, BOOL embedded=TRUE) |
Definition at line 41 of file HModel.h.
|
Returns a pointer to the HCP that is created and linked to after the prevcp that is passed in. The position of the new HCP is set to the vector p. Note: NEVER use AddCP() to create a new spline. New splines must be created with StartSpline(), and subsequent HCPs should be added with AddCP();
|
|
Adds a Decal. Will create the "decals folder" if it doesn't exist.
|
|
Creates a new bone and places it on the bones tree as child of parentbonecache and right after the afterbonecache. Will also create the HBoneCacheContainer and an HSegmentCache where controlled CPs may be added
modelcache->AddSegment(NULL, NULL, "Bone1", GetColor(modelcache->CountBones()));
|
|
This function adds a group of control points to the model's "Untitled" temporary group. You pass in the first HGroupCP of a group to wish to add to the temporary group. This group will be selected when you exit the plugin. The group that is passed into this function will be freed.
|
|
Returns whether the two attached control points create a loop. This is TRUE if cp1 and cp2 are the beginning and the end of the same spline. If a loop is created, a number of things happen. If cp2 is the first control point in the spline, the spline is reversed before the loop is made. The last control point in the spline gets deleted (make sure you keep this in mind if you are performing operations on HCPs after they are attached (check the return value to see if a loop was made). Also, the control point before the last control point has its IsLoop flag set, and its GetNext() pointer set to the first HCP in the spline. If the attach operation does not create a loop, then the two HCPs are stacked, and added to their attached control point list. They are also linked to the HCP::GetHead() which stores the position for all of the control points that are attached to each other.
|
|
|
|
|
|
|
|
|
|
This function can perform two different operations. It can copy or extrude a group. The copy operation will take a group and duplicate the control points and splines. The extrude operation will take this a step further and add additional splines to connect the new group of points to previous one. Set the extrude flag to FALSE if you want to copy, and to TRUE if you want to extrude. The new group of control points will be at the same location and the grouptocopy, and it is up to the plugin to walk through the new points and determine their new location. The group to copy is passed in as a HGroupCP and therefore does not need to be a named group (HGroup). The first HGroupCP of the newly created group is stored in the newHGroup handle. It is responsibility of the plugin to free the new group when it is done with it. This can be done by calling HGroupCP::Delete() from the newHGroup that is passed back to the plugin. The Duplicator wizard provides a good demonstration of how to use the CopyExtrude() function.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Returns a pointer to the new HCP that is created. This function creates a new control point at the location specified by the vector p and inserts it between cpuplink and cp. Pass in the the addresses of the two HCPs inbetween you want to insert the new HCP. This function returns NULL if the HCP allocation fails. For instance CP1 -> CP2. Pass in &CP1 and CP2 and a new CP3 will be created in between them which results in CP1 -> CP2 -> CP3. And cpuplink will point to the new HCP.
|
|
|
|
|
|
|
|
|
|
|
|
This creates a new instance of a model and associates it with the HChor. But the resulting HModel pointer is only in existance inside the plugin. To actually insert the instance into the HChor the HModel pointer must be inserted into the HChor structure with a call to HChor::InsertChild(), otherwise you can work with the newly created instance in the chor, but the instance will disapear when the plugin exits. Example: HChor *chor; HModelCache *hmc_new; HModel *working = hmc_new->NewInstance(chor); chor->InsertChildAtTail(working,TRUE); |
|
|
|
Returns a pointer to the new HSpline that is created with the two control point positions passed in. Since a legal spline must have a least two control points, you must use this function to create new splines. You can add subsequent control points with HCP::AddCP().
|
Generated on Thu Oct 27 11:46:56 2005 with
1.4.5 written by Dimitri van Heesch,
© 1997-2001