112 default_curve->
Add_Key(0.5f,0.0f);
113 default_curve->
Add_Key(0.5f,1.0f);
114 default_table->
Init(
"DefaultTable",default_curve);
117 delete default_curve;
140 return Tables.Remove(table);
148 if (stricmp(it.
Peek_Obj()->Get_Name(),name) == 0) {
158 if (file && file->
Open()) {
166 new_table->
Init(name,curve);
194 csave.
Write(&(min_corner.
X),
sizeof(
float));
195 csave.
Write(&(min_corner.
Y),
sizeof(
float));
196 csave.
Write(&(max_corner.
X),
sizeof(
float));
197 csave.
Write(&(max_corner.
Y),
sizeof(
float));
214 xmin = xmax = ymin = ymax = 0.0f;
222 if (factory !=
NULL) {
228 cload.
Read(&xmin,
sizeof(xmin));
229 cload.
Read(&ymin,
sizeof(ymin));
230 cload.
Read(&xmax,
sizeof(xmax));
231 cload.
Read(&ymax,
sizeof(ymax));
235 WWDEBUG_SAY((
"Unhandled Chunk: 0x%X File: %s Line: %d\r\n",__FILE__,__LINE__));
241 if (set_min_corner !=
NULL) {
242 set_min_corner->
Set(xmin,ymin);
244 if (set_max_corner !=
NULL) {
245 set_max_corner->
Set(xmax,ymax);
uint32 Read(void *buf, uint32 nbytes)
uint32 Write(const void *buf, uint32 nbytes)
bool Begin_Chunk(uint32 id)
virtual void Evaluate(float time, float *set_val)=0
virtual int Key_Count(void)
virtual void Get_Key(int i, float *set_point, float *set_t, unsigned int *extra=NULL)
virtual int Add_Key(float point, float t, unsigned int extra=0)
virtual int Open(char const *filename, int rights=READ)=0
void First(GenericMultiListClass *list)
void Init(const char *name, Curve1DClass *curve)
SimpleVecClass< float > OutputSamples
virtual ~LookupTableClass(void)
LookupTableClass(int sample_count=256)
static void Save_Table_Desc(ChunkSaveClass &csave, Curve1DClass *curve, const Vector2 &min, const Vector2 &max)
static void Load_Table_Desc(ChunkLoadClass &cload, Curve1DClass **curve_ptr, Vector2 *set_min=NULL, Vector2 *set_max=NULL)
static RefMultiListClass< LookupTableClass > Tables
static bool Add_Table(LookupTableClass *table)
static bool Remove_Table(LookupTableClass *table)
static void Shutdown(void)
static LookupTableClass * Get_Table(const char *name, bool try_to_load=true)
virtual const PersistFactoryClass & Get_Factory(void) const =0
virtual uint32 Chunk_ID(void) const =0
virtual PersistClass * Load(ChunkLoadClass &cload) const =0
virtual void Save(ChunkSaveClass &csave, PersistClass *obj) const =0
WWINLINE void Release_Ref(void) const
ObjectType * Get_Obj(void)
ObjectType * Peek_Obj(void)
static PersistFactoryClass * Find_Persist_Factory(uint32 chunk_id)
WWINLINE void Set(float x, float y)
FileFactoryClass * _TheFileFactory
@ LOOKUPTABLE_CHUNK_EXTENTS
@ LOOKUPTABLE_CHUNK_CURVE