Rev 1 | Blame | Compare with Previous | Last modification | View Log | RSS feed
#ifndef BOB_DOM_FRAME_INCLUDED#define BOB_DOM_FRAME_INCLUDED#include "bob_dom_base.h"#include "geometry_bob.h"#define CUT_F_LINEAR 0x1#define CUT_F_ROT 0x2#define CUT_F_TARGETPOS 0x8#define CUT_F_SAMEPOS 0x10#define CUT_F_SAMEROT 0x20#define CUT_F_SAMETARGET 0x40#define CUT_F_BEZIER 0x80#define CUT_F_SAMESCALE 0x100#define CUT_F_COLOR 0x200#define CUT_F_SAMECOLOR 0x400#define CUT_F_FOV 0x800#define CUT_F_SAMEFOV 0x1000#define CUT_F_ABSROT 0x2000#define CUT_F_POSTCBINFO 0x4000#define CUT_F_ROTTCBINFO 0x8000#define CUT_F_POSBEZINFO 0x10000#define CUT_F_TPOSTCBINFO 0x20000#define CUT_F_FAKEROTTCBINFO 0x40000class bob_frame : public bob_with_errors{public:struct Position : public point3d<int>{bool toFile(obinaryfilestream& os) { return point3d<value_type>::toFile(os); }bool toFile(otextfilestream& os);};struct AngleAxis{double angle, x, y, z;AngleAxis() { angle=0; x=0; y=0; z=0; }bool load(ibinaryfilestream& is);bool toFile(otextfilestream & os);bool toFile(obinaryfilestream& os);};struct rgb{double r, g, b;rgb() { r=0; g=0; b=0; }bool load(ibinaryfilestream& is);bool toFile(otextfilestream & os);bool toFile(obinaryfilestream& os);};struct tcb_info{double tension, continuity, bias, easeFrom, easeTo;tcb_info() { tension=0; continuity=0; bias=0; easeFrom=0; easeTo=0; }bool load(ibinaryfilestream& is);bool toFile(otextfilestream& os);bool toFile(obinaryfilestream& os);};public:// don't include CUT_F_POSBEZINFO in the mask until it's known!static const int flagMask = CUT_F_LINEAR|CUT_F_ROT|CUT_F_TARGETPOS|CUT_F_SAMEPOS|CUT_F_SAMEROT|CUT_F_SAMETARGET|CUT_F_BEZIER|CUT_F_SAMESCALE|CUT_F_COLOR|CUT_F_SAMECOLOR|CUT_F_FOV|CUT_F_SAMEFOV|CUT_F_ABSROT|CUT_F_POSTCBINFO|CUT_F_ROTTCBINFO|CUT_F_TPOSTCBINFO|CUT_F_FAKEROTTCBINFO;int flags;Position position;AngleAxis *rotation;Position *targetPos;double rollAngle;tcb_info *pos_tcb_info, *rot_tcb_info, *tpos_tcb_info;double fov;rgb *color;int length, index;bob_frame(){flags=0;rotation=0;targetPos=0;rollAngle=0;color=0;pos_tcb_info=0;rot_tcb_info=0;tpos_tcb_info=0;fov=0;length=0;index=0;}~bob_frame(){delete rotation; delete targetPos; delete pos_tcb_info; delete rot_tcb_info; delete tpos_tcb_info;delete color;}int valueCount();bool toFile(obinaryfilestream& os);bool toFile(otextfilestream& os);bool load(ibinaryfilestream& is);};#endif // !defined(BOB_DOM_FRAME_INCLUDED)