float Radius(void) const { return ParentObject->radius;
};
float BoxLeft(void) const { return ParentObject->minY;
};
float BoxRight(void) const { return ParentObject->maxY;
};
float BoxTop(void) const { return ParentObject->minZ;
};
float BoxBottom(void) const { return ParentObject->maxZ;
};
float BoxFront(void) const { return ParentObject->maxX;
};
float BoxBack(void) const { return ParentObject->minX;
};
void SetSwitch( int id, UInt32 value ) {
ShiAssert(id<ParentObject->nSwitches); SwitchValues[id] = value; };
void SetDOFrotation( int id, float r )
{ ShiAssert(id<ParentObject->nDOFs); DOFValues[id].rotation = r; };
void SetDOFxlation( int id, float x ) {
ShiAssert(id<ParentObject->nDOFs); DOFValues[id].translation = x; };
void SetSlotChild( int id, ObjectInstance
*o ) { ShiAssert(id<ParentObject->nSlots); SlotChildren[id] = o; };
void SetTextureSet( int id )
{
// edg: sanity check texture setting
if (id < ParentObject->nTextureSets)
TextureSet = id;
};
void SetDynamicVertex( int id, float dx, float dy, float dz );
void GetDynamicVertex( int id, float *dx, float *dy, float *dz
);
public:
UInt32 *SwitchValues;
DOFvalue *DOFValues;
ObjectInstance **SlotChildren;
Ppoint *DynamicCoords;
int TextureSet;
int id;
ObjectParent
*ParentObject;