1
#ifndef _XFIREWORKS_Piece_h_INCLUDED_
2
#define _XFIREWORKS_Piece_h_INCLUDED_
4
typedef struct _PieceClass * PieceClass;
5
typedef struct _PieceNext * PieceNext;
6
typedef struct _Pieces * Pieces;
11
#include "Calculator.h"
13
/*===========================================================================*/
14
/* ���֥������ȤΥ��Фμ��� */
15
/*===========================================================================*/
17
/*---------------------------------------------------------------------------*/
19
/*---------------------------------------------------------------------------*/
21
char * PieceClass_GetName(PieceClass piece_class);
22
double PieceClass_GetProbability(PieceClass piece_class);
23
ObjList PieceClass_GetGCListList(PieceClass piece_class);
24
ObjList PieceClass_GetNextList(PieceClass piece_class);
26
/*---------------------------------------------------------------------------*/
28
/*---------------------------------------------------------------------------*/
30
PieceClass PieceNext_GetPieceClass(PieceNext piece_next);
31
double PieceNext_GetPower(PieceNext piece_next);
32
int PieceNext_GetNumber(PieceNext piece_next);
34
/*---------------------------------------------------------------------------*/
36
/*---------------------------------------------------------------------------*/
38
PieceClass Pieces_GetPieceClass(Pieces pieces);
39
int Pieces_GetArraySize(Pieces pieces);
40
int Pieces_GetNumber(Pieces pieces);
41
double * Pieces_GetX(Pieces pieces);
42
double * Pieces_GetY(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);
50
/*===========================================================================*/
51
/* PieceClass ���֥������Ȥκ���������� */
52
/*===========================================================================*/
54
PieceClass PieceClass_Create(char * name,
60
int after_image_length,
65
PieceClass PieceClass_Destroy(PieceClass piece_class);
67
/*===========================================================================*/
68
/* PieceNext ���֥������Ȥκ���������� */
69
/*===========================================================================*/
71
PieceNext PieceNext_Create(PieceClass piece_class, double power, int n);
72
PieceNext PieceNext_Destroy(PieceNext next);
74
/*===========================================================================*/
76
/*===========================================================================*/
78
ObjList PieceClassList_CreateFromStream(Disp disp,
79
ColorGCDatabase database,
92
/*===========================================================================*/
93
/* Pieces ���֥������Ȥ���� */
94
/*===========================================================================*/
96
/*---------------------------------------------------------------------------*/
97
/* Pieces ���֥������Ȥν���� */
98
/*---------------------------------------------------------------------------*/
100
int Pieces_Initialize(Pieces pieces,
101
PieceClass piece_class, double power,
103
double * x, double * y, 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);
108
/*---------------------------------------------------------------------------*/
109
/* Pieces ���֥������Ȥ����� */
110
/*---------------------------------------------------------------------------*/
112
Pieces Pieces_Create(PieceClass piece_class, double power, int number, int n,
113
double * x, double * y, 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);
118
/*---------------------------------------------------------------------------*/
119
/* Piece ���֥������Ȥκ�� */
120
/*---------------------------------------------------------------------------*/
122
Pieces Pieces_Destroy(Pieces pieces);
124
/*---------------------------------------------------------------------------*/
125
/* Pieces ���֥������Ȥΰ�ư */
126
/*---------------------------------------------------------------------------*/
128
int Pieces_Move(Pieces pieces,
129
int x_min, int y_min, int x_max, int y_max, int size);
133
/*****************************************************************************/
135
/*****************************************************************************/