Initial commit
This commit is contained in:
48
Torque/SDK/lib/maxsdk40/keyreduc.h
Normal file
48
Torque/SDK/lib/maxsdk40/keyreduc.h
Normal file
@@ -0,0 +1,48 @@
|
||||
/**********************************************************************
|
||||
*<
|
||||
FILE: keyreduc.h
|
||||
|
||||
DESCRIPTION: Key reduction
|
||||
|
||||
CREATED BY: Rolf Berteig
|
||||
|
||||
HISTORY: created 9/30/95
|
||||
|
||||
*> Copyright (c) 1994, All Rights Reserved.
|
||||
**********************************************************************/
|
||||
|
||||
#ifndef __KEYREDUC__
|
||||
#define __KEYREDUC__
|
||||
|
||||
#define DEFULAT_KEYREDUCE_THRESHOLD (0.5f)
|
||||
|
||||
// Values returned from Progress
|
||||
#define KEYREDUCE_ABORT -1 // Stops processing and undoes any key reduction
|
||||
#define KEYREDUCE_STOP 0 // Stops processing, but keeps any reduction done so far
|
||||
#define KEYREDUCE_CONTINUE 1 // Keeps going.
|
||||
|
||||
// A callback so progress can be made during key reduction
|
||||
class KeyReduceStatus {
|
||||
public:
|
||||
// Called once before reduction starts. 'total' is the number
|
||||
// reduction canidate keys.
|
||||
virtual void Init(int total)=0;
|
||||
|
||||
// Called every now and again. 'p' is the number of keys
|
||||
// processed. So % done is p/total * 100.
|
||||
virtual int Progress(int p)=0;
|
||||
};
|
||||
|
||||
// Attempts to delete keys that lie within the given time range.
|
||||
// The controller will be sampled within the range in 'step' size
|
||||
// increments. After the key reduction, the controller's values
|
||||
// at each step are gauranteed to be withen 'threshold' distance
|
||||
// from their original values.
|
||||
//
|
||||
CoreExport int ApplyKeyReduction(
|
||||
Control *cont,Interval range,float thresh,TimeValue step,
|
||||
KeyReduceStatus *status);
|
||||
|
||||
|
||||
#endif //__KEYREDUC__
|
||||
|
||||
Reference in New Issue
Block a user