49#define SKIN_OBJ_CLASS_ID Class_ID(0x32b37e0c, 0x5a9612e4)
50#define SKIN_MOD_CLASS_ID Class_ID(0x6bad4898, 0x0d1d6ced)
88 RefTargetHandle
Clone(RemapDir& remap = NoRemap());
98 RefResult
NotifyRefChanged(Interval changeInt,RefTargetHandle hTarget,PartID& partID, RefMessage message);
119 void Build_Tri(Face * f,
int a,
int b,
int c);
144 int To_Bone_Index(
int refidx) {
return refidx - SimpleWSMObject::NumRefs(); }
145 int To_Ref_Index(
int boneidx) {
return SimpleWSMObject::NumRefs() + boneidx; }
161 IOResult
Save(ISave *isave);
162 IOResult
Load(ILoad *iload);
225 ISubObjType *GetSubObjType(
int i);
226 int NumSubObjTypes();
238 RefTargetHandle
Clone(RemapDir& remap = NoRemap());
239 RefResult
NotifyRefChanged(Interval changeInt, RefTargetHandle hTarget, PartID& partID, RefMessage message);
256 virtual ChannelMask
ChannelsUsed() {
return SELECT_CHANNEL|SUBSEL_TYPE_CHANNEL|GEOM_CHANNEL; }
257 virtual ChannelMask
ChannelsChanged() {
return SELECT_CHANNEL|SUBSEL_TYPE_CHANNEL|GEOM_CHANNEL; }
263 virtual void NotifyInputChanged(Interval changeInt, PartID partID, RefMessage message, ModContext *mc) {}
268 virtual void ModifyObject(TimeValue t, ModContext & mc, ObjectState * os, INode * node);
280 virtual Class_ID
InputType() {
return Class_ID(TRIOBJ_CLASS_ID,0); }
285 IOResult
Save(ISave *isave);
286 IOResult
Load(ILoad *iload);
287 virtual IOResult
LoadLocalData(ILoad *iload, LocalModData **pld);
288 virtual IOResult
SaveLocalData(ISave *isave, LocalModData *ld);
300 int HitTest(TimeValue t, INode* inode,
int type,
int crossing,
int flags, IPoint2 *p, ViewExp *vpt, ModContext* mc);
344 void Install_Bone_Influence_Dialog(
void);
345 void Remove_Bone_Influence_Dialog(
void);
347 BOOL Bone_Influence_Dialog_Proc(HWND hWnd,
UINT message,WPARAM wParam,LPARAM lParam);
virtual void User_Picked_Bones(INodeTab &nodetab)
void Create_Named_Selection_Sets(void)
void EndEditParams(IObjParam *ip, ULONG flags, Animatable *next)
void InvertSelection(int selLevel)
void BeginEditParams(IObjParam *ip, ULONG flags, Animatable *prev)
void SetReference(int i, RefTargetHandle rtarg)
virtual void ActivateSubSelSet(TSTR &setName)
virtual BOOL DependOnTopology(ModContext &mc)
virtual Class_ID InputType()
virtual ChannelMask ChannelsUsed()
void Install_Named_Selection_Sets(void)
virtual void RemoveSubSelSet(TSTR &setName)
virtual BOOL SupportsNamedSubSels()
virtual void NewSetFromCurSel(TSTR &setName)
SelectModBoxCMode * SelectMode
RefTargetHandle Clone(RemapDir &remap=NoRemap())
RefTargetHandle GetReference(int i)
void SelectSubComponent(HitRecord *hitRec, BOOL selected, BOOL all, BOOL invert=FALSE)
ICustButton * LinkByNameButton
friend BOOL CALLBACK _bone_influence_dialog_thunk(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
virtual void NotifyInputChanged(Interval changeInt, PartID partID, RefMessage message, ModContext *mc)
SkinWSMObjectClass * WSMObjectRef
WSMObject * Get_WSMObject(void)
virtual IOResult SaveLocalData(ISave *isave, LocalModData *ld)
virtual void ModifyObject(TimeValue t, ModContext &mc, ObjectState *os, INode *node)
Interval Get_Validity(TimeValue t)
virtual IOResult LoadLocalData(ILoad *iload, LocalModData **pld)
RefResult NotifyRefChanged(Interval changeInt, RefTargetHandle hTarget, PartID &partID, RefMessage message)
void GetClassName(TSTR &s)
IOResult Save(ISave *isave)
CreateMouseCallBack * GetCreateMouseCallBack()
IOResult Load(ILoad *iload)
ICustButton * UnLinkButton
ICustButton * AutoLinkButton
int HitTest(TimeValue t, INode *inode, int type, int crossing, int flags, IPoint2 *p, ViewExp *vpt, ModContext *mc)
void SelectAll(int selLevel)
void Auto_Attach_Verts(BOOL all=FALSE)
virtual ChannelMask ChannelsChanged()
void ClearSelection(int selLevel)
virtual void User_Picked_Bone(INode *node)
void ActivateSubobjSel(int level, XFormModes &modes)
RefResult NotifyRefChanged(Interval changeInt, RefTargetHandle hTarget, PartID &partID, RefMessage message)
void Remove_Bone(INode *node)
int Get_Base_Pose_Time(void)
static ISpinnerControl * BasePoseSpin
virtual ~SkinWSMObjectClass()
static ICustButton * RemoveBonesButton
@ BONE_SEL_MODE_REMOVE_MANY
IOResult Save(ISave *isave)
int To_Ref_Index(int boneidx)
virtual void User_Picked_Bone(INode *node)
virtual void SetReference(int i, RefTargetHandle rtarg)
void Set_Bone_Selection_Mode(int mode)
void BeginEditParams(IObjParam *ip, ULONG flags, Animatable *prev)
INodeTab & Get_Bone_List(void)
void Add_Bones(INodeTab &nodetab)
int Find_Closest_Bone(const Point3 &vertex)
Modifier * CreateWSMMod(INode *node)
friend BOOL CALLBACK _skeleton_dialog_thunk(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
void Remove_Bones(INodeTab &nodetab)
BOOL Skeleton_Dialog_Proc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
static ICustButton * AddBonesButton
int Add_Bone(INode *node)
int Find_Bone(INode *node)
void BuildMesh(TimeValue t)
void EndEditParams(IObjParam *ip, ULONG flags, Animatable *next)
static IObjParam * InterfacePtr
virtual RefTargetHandle GetReference(int i)
virtual void User_Picked_Bones(INodeTab &nodetab)
IOResult Load(ILoad *iload)
RefTargetHandle Clone(RemapDir &remap=NoRemap())
int Get_Base_Pose_Frame(void)
void Update_Bone_List(void)
INode * Get_Bone(int idx)
int To_Bone_Index(int refidx)
void Build_Tri(Face *f, int a, int b, int c)
CreateMouseCallBack * GetCreateMouseCallBack()
#define SKIN_OBJ_CLASS_ID
#define SKIN_MOD_CLASS_ID
ClassDesc * Get_Skin_Mod_Desc()
ClassDesc * Get_Skin_Obj_Desc()