62#define GRIDSNAPMOD_CLASSID Class_ID(0x7a2d399b, 0x1e3d2004)
83 RefTargetHandle
Clone(RemapDir& remap = NoRemap());
85 IOResult
Load(ILoad *iload);
117 virtual Point3
Map(
int i,Point3 p)
120 p.x = floor(p.x / GridDimension) * GridDimension;
121 p.y = floor(p.y / GridDimension) * GridDimension;
122 p.z = floor(p.z / GridDimension) * GridDimension;
145 const TCHAR *
ClassName() {
return _T(
"Grid Snap Modifier"); }
148 const TCHAR*
Category() {
return _T(
"Westwood Modifiers");}
157 return &_GridSnapModifierDesc;
174static ParamBlockDesc2 _GridSnapParamBlockDesc
177 GSM_PARAMS,_T(
"GridSnap Parameters"), 0, &_GridSnapModifierDesc, P_AUTO_CONSTRUCT + P_AUTO_UI, SIMPMOD_PBLOCKREF,
185 p_range, 0.0001f, 10.0f,
202 _GridSnapModifierDesc.MakeAutoParamBlocks(
this);
210 SimpleMod2::BeginEditParams(ip,flags,prev);
211 _GridSnapModifierDesc.BeginEditParams(ip,
this, flags, prev);
216 SimpleMod2::EndEditParams(ip,flags,next);
217 _GridSnapModifierDesc.EndEditParams(ip,
this, flags, next);
225 newmod->ReplaceReference(SIMPMOD_PBLOCKREF,pblock2->Clone(remap));
226 newmod->SimpleModClone(
this);
232 Modifier::Load(iload);
238 float dimension = 0.0f; Interval valid =
FOREVER;
255RefTargetHandle SimpleMod2::GetReference(
int i)
258 case 0:
return tmControl;
259 case 1:
return posControl;
260 case 2:
return pblock2;
261 default:
return NULL;
265void SimpleMod2::SetReference(
int i,RefTargetHandle rtarg)
268 case 0: tmControl = (Control*)rtarg;
break;
269 case 1: posControl = (Control*)rtarg;
break;
270 case 2: pblock2 = (IParamBlock2*)rtarg;
break;
274Animatable * SimpleMod2::SubAnim(
int i)
277 case 0:
return posControl;
278 case 1:
return tmControl;
279 case 2:
return pblock2;
280 default:
return NULL;
const TCHAR * ClassName()
const TCHAR * InternalName()
void * Create(BOOL loading=FALSE)
IParamBlock2 * GetParamBlockByID(BlockID id)
IParamBlock2 * GetParamBlock(int i)
void BeginEditParams(IObjParam *ip, ULONG flags, Animatable *prev)
IOResult Load(ILoad *iload)
Interval GetValidity(TimeValue t)
RefTargetHandle Clone(RemapDir &remap=NoRemap())
Deformer & GetDeformer(TimeValue t, ModContext &mc, Matrix3 &mat, Matrix3 &invmat)
void EndEditParams(IObjParam *ip, ULONG flags, Animatable *next)
void GetClassName(TSTR &s)
virtual Class_ID ClassID()
TCHAR * Get_String(int id)
#define GRIDSNAPMOD_CLASSID
@ GSM_PARAM_GRIDDIMENSION
ClassDesc * Get_Grid_Snap_Modifier_Desc(void)