File: model.h

package info (click to toggle)
freespace2 24.0.2%2Brepack-1
  • links: PTS, VCS
  • area: non-free
  • in suites: trixie
  • size: 43,188 kB
  • sloc: cpp: 583,107; ansic: 21,729; python: 1,174; sh: 464; makefile: 248; xml: 181
file content (144 lines) | stat: -rw-r--r-- 2,159 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
#pragma once

#include "scripting/ade_api.h"

#include "model/model.h"

namespace scripting {
namespace api {

//**********HANDLE: model
class model_h
{
 protected:
	polymodel *model;

 public:
	explicit model_h(int n_modelnum);
	explicit model_h(polymodel *n_model);
	model_h();

	polymodel *Get();

	int GetID();

	bool IsValid();
};
DECLARE_ADE_OBJ(l_Model, model_h);

class submodel_h
{
protected:
	polymodel *model;
	int submodel_num;

public:
	explicit submodel_h(int n_modelnum, int n_submodelnum);
	explicit submodel_h(polymodel *n_model, int n_submodelnum);
	submodel_h();

	polymodel *GetModel();
	int GetModelID();

	bsp_info *GetSubmodel();
	int GetSubmodelIndex();

	bool IsValid();
};
DECLARE_ADE_OBJ(l_Submodel, submodel_h);

class modelsubmodels_h : public model_h
{
 public:
	 modelsubmodels_h(polymodel *pm);
	 modelsubmodels_h();
};
DECLARE_ADE_OBJ(l_ModelSubmodels, modelsubmodels_h);

class modeltextures_h : public model_h
{
 public:
	modeltextures_h(polymodel *pm);
	modeltextures_h();
};
DECLARE_ADE_OBJ(l_ModelTextures, modeltextures_h);

class eyepoints_h : public model_h
{
 public:
	eyepoints_h(polymodel *pm);
	eyepoints_h();
};
DECLARE_ADE_OBJ(l_Eyepoints, eyepoints_h);

// Thrusters:
class thrusters_h : public model_h
{
 public:
	thrusters_h(polymodel *pm);
	thrusters_h();
};
DECLARE_ADE_OBJ(l_Thrusters, thrusters_h);

// Thrusterbank:
struct thrusterbank_h
{
	thruster_bank *bank;

	thrusterbank_h();

	thrusterbank_h(thruster_bank* ba);

	thruster_bank *Get();

	bool isValid();
};
DECLARE_ADE_OBJ(l_Thrusterbank, thrusterbank_h);

// Glowpoint:
struct glowpoint_h
{
	glow_point *point;

	glowpoint_h();

	glowpoint_h(glow_point* np);

	glow_point* Get();

	bool isValid();

};
DECLARE_ADE_OBJ(l_Glowpoint, glowpoint_h);

// Glowbanks:
class dockingbays_h : public model_h
{
 public:
	dockingbays_h(polymodel *pm);
	dockingbays_h();
};
DECLARE_ADE_OBJ(l_Dockingbays, dockingbays_h);

class dockingbay_h : public model_h
{
 private:
	int dock_id;

 public:
	dockingbay_h(polymodel *pm, int dock_idx);
	dockingbay_h();

	bool IsValid();

	dock_bay* getDockingBay();
};
DECLARE_ADE_OBJ(l_Dockingbay, dockingbay_h);


}
}