home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DOS/V Power Report 1997 March
/
VPR9703A.ISO
/
VPR_DATA
/
DOGA
/
SOURCES
/
WIREVIEW.LZH
/
ANIM.H
< prev
next >
Wrap
C/C++ Source or Header
|
1995-12-20
|
2KB
|
81 lines
#ifndef _ANIM_
#define _ANIM_
#include "matrix.h"
static const int markersize = 4;
static const int filenamedirlength = 128;
static const int filenamebodylength = 32;
static const int buttons = 4;
enum OperationStatus { OpPlay, OpPause};
enum PlayMode {PmTimer, PmLoop, PmLoad};
class TWinFrame;
class TWinView;
class TBmpButton;
class THSlider;
class Motion;
class CameraMotion;
class Mechanic;
class Bezier;
class PolyData;
struct LineSegment {
short x1, y1;
short x2, y2;
};
struct WireFrame {
LineSegment *line;
int lines;
};
class AnimationData {
public:
TWinFrame *Frame;
TWinView *PersView;
TBmpButton *button[4];
THSlider *frameCounter;
char filedir[filenamedirlength];
char filename[filenamebodylength];
OperationStatus opstat;
PlayMode playmode;
WireFrame *wireframe;
Motion *motion;
CameraMotion *camera;
int maxframe;
int selectframe;
Matrix viewmat;
int animateflag;
AnimationData();
void CalcViewMatrix(void);
void CalcView(Motion *mot);
void CalcViewAll(void);
void ReadFile(char *filename);
void InitMotion(void);
void NewFile(void);
int GetMotionName(char *filename);
void SetCaption(void);
void SelectFrame(int frame);
int GetLines(int frame, LineSegment *line);
int GetLinesNoBackFace(int frame, LineSegment **line, PolyData *polydata);
void BuildWireFrame(int frame);
void FreeWireFrame(void);
void Resize(int x, int y, int ox, int oy);
};
#endif