#ifndef _BITMAP_H #include #endif #ifndef _MENU_ITEM_H #include #endif #ifndef _MENU_H #include #endif #ifndef _MENU_BAR_H #include #endif #ifndef _SCROLL_VIEW_H #include #endif #include #ifndef SHAPE_H #define SHAPE_H #ifndef T3d #include "t3d.h" #endif /*------------------------------------------------------------*/ #define MAX_POINT 5000 #define MAX_S 5000 /*------------------------------------------------------------*/ class TShape { public: T3d *owner; long num_point; long num_poly; long spt_x[MAX_POINT]; long spt_y[MAX_POINT]; long pt_x[MAX_POINT]; long pt_y[MAX_POINT]; long pt_z[MAX_POINT]; long screen_x[MAX_POINT]; long screen_y[MAX_POINT]; long screen_z[MAX_POINT]; long l1[MAX_S]; long l2[MAX_S]; long l3[MAX_S]; long l4[MAX_S]; rgb_color acolor[MAX_S]; long zs[MAX_S]; float cur_alpha; float cur_delta; float cur_zeta; TShape(T3d *aowner); virtual ~TShape(); void change_view_point(float new_alpha, float new_delta, float new_zeta); int add_point(long x, long y, long z); void add_poly(long p1, long p2, long p3, long p4, rgb_color c); long calc_mid(long pn); void sort_polys(); void draw(float new_alpha, float new_delta, float new_zeta, float pos_x, float pos_y); long calc_color(long i, rgb_color c); }; #endif