1 #ifndef _XFIREWORKS_Piece_h_INCLUDED_ 2 #define _XFIREWORKS_Piece_h_INCLUDED_ 3 4 typedef struct _PieceClass * PieceClass; 5 typedef struct _PieceNext * PieceNext; 6 typedef struct _Pieces * Pieces; 7 8 #include "Obj.h" 9 #include "Stream.h" 10 #include "ColorGC.h" 11 #include "Calculator.h" 12 13 /*===========================================================================*/ 14 /* ���֥������ȤΥ��Фμ��� */ 15 /*===========================================================================*/ 16 17 /*---------------------------------------------------------------------------*/ 18 /* PieceClass ���饹 */ 19 /*---------------------------------------------------------------------------*/ 20 21 char * PieceClass_GetName(PieceClass piece_class); 22 int PieceClass_GetSize(PieceClass piece_class); 23 double PieceClass_GetProbability(PieceClass piece_class); 24 ObjList PieceClass_GetGCListList(PieceClass piece_class); 25 ObjList PieceClass_GetNextList(PieceClass piece_class); 26 27 /*---------------------------------------------------------------------------*/ 28 /* PieceNext ���饹 */ 29 /*---------------------------------------------------------------------------*/ 30 31 PieceClass PieceNext_GetPieceClass(PieceNext piece_next); 32 double PieceNext_GetPower(PieceNext piece_next); 33 int PieceNext_GetNumber(PieceNext piece_next); 34 35 /*---------------------------------------------------------------------------*/ 36 /* Pieces ���饹 */ 37 /*---------------------------------------------------------------------------*/ 38 39 PieceClass Pieces_GetPieceClass(Pieces pieces); 40 int Pieces_GetArraySize(Pieces pieces); 41 int Pieces_GetNumber(Pieces pieces); 42 XArc * Pieces_GetPositions(Pieces pieces); 43 double * Pieces_GetZ(Pieces pieces); 44 double * Pieces_GetVx(Pieces pieces); 45 double * Pieces_GetVy(Pieces pieces); 46 double * Pieces_GetVz(Pieces pieces); 47 int Pieces_GetSize(Pieces pieces); 48 ObjList Pieces_GetGCList(Pieces pieces); 49 50 /*===========================================================================*/ 51 /* PieceClass ���֥������Ȥκ���������� */ 52 /*===========================================================================*/ 53 54 PieceClass PieceClass_Create(char * name, 55 int size, 56 double probability, 57 double air, 58 double gravity, 59 double transmission, 60 int after_image_length, 61 int fine, 62 ObjList gc_list_list, 63 ObjList next_list, 64 Disp disp); 65 PieceClass PieceClass_Destroy(PieceClass piece_class); 66 67 /*===========================================================================*/ 68 /* PieceNext ���֥������Ȥκ���������� */ 69 /*===========================================================================*/ 70 71 PieceNext PieceNext_Create(PieceClass piece_class, double power, int n); 72 PieceNext PieceNext_Destroy(PieceNext next); 73 74 /*===========================================================================*/ 75 /* �ǡ������ɤ߹��� */ 76 /*===========================================================================*/ 77 78 ObjList PieceClassList_CreateFromStream(Disp disp, 79 ColorGCDatabase database, 80 Stream stream, 81 int fine, 82 int probability_mag, 83 int size_mag, 84 int air_mag, 85 int gravity_mag, 86 int transmission_mag, 87 int after_image_mag, 88 int color_length_mag, 89 int next_power_mag, 90 int next_number_mag); 91 92 /*===========================================================================*/ 93 /* Pieces ���֥������Ȥ���� */ 94 /*===========================================================================*/ 95 96 /*---------------------------------------------------------------------------*/ 97 /* Pieces ���֥������Ȥν���� */ 98 /*---------------------------------------------------------------------------*/ 99 100 int Pieces_Initialize(Pieces pieces, 101 PieceClass piece_class, double power, 102 int number, int n, 103 XArc * positions, double * z, 104 double * vx, double * vy, double * vz, 105 int x_min, int y_min, int x_max, int y_max, 106 Calculator calculator); 107 108 /*---------------------------------------------------------------------------*/ 109 /* Pieces ���֥������Ȥ����� */ 110 /*---------------------------------------------------------------------------*/ 111 112 Pieces Pieces_Create(PieceClass piece_class, double power, int number, int n, 113 XArc * positions, double * z, 114 double * vx, double * vy, double * vz, 115 int x_min, int y_min, int x_max, int y_max, 116 Calculator calculator); 117 118 /*---------------------------------------------------------------------------*/ 119 /* Piece ���֥������Ȥκ�� */ 120 /*---------------------------------------------------------------------------*/ 121 122 Pieces Pieces_Destroy(Pieces pieces); 123 124 /*---------------------------------------------------------------------------*/ 125 /* Pieces ���֥������Ȥΰ�ư */ 126 /*---------------------------------------------------------------------------*/ 127 128 int Pieces_Move(Pieces pieces, 129 int x_min, int y_min, int x_max, int y_max, int size); 130 131 #endif 132 133 /*****************************************************************************/ 134 /* End of Program */ 135 /*****************************************************************************/ 136