aboutsummaryrefslogtreecommitdiff
path: root/src/Models.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/Models.h')
-rw-r--r--src/Models.h25
1 files changed, 16 insertions, 9 deletions
diff --git a/src/Models.h b/src/Models.h
index 7929887..8ab4f90 100644
--- a/src/Models.h
+++ b/src/Models.h
@@ -9,24 +9,22 @@
#define MAX_TEXTURED_TRIANGLES 400
struct TexturedTriangle {
- short vertex[3];
+ GLuint vertex[3];
float r,g,b;
};
struct Model {
- short vertexNum, TriangleNum;
-
XYZ vertex[MAX_TEXTURED_TRIANGLES * 3];
+ GLuint vertexNum;
XYZ normals[MAX_TEXTURED_TRIANGLES];
+
TexturedTriangle Triangles[MAX_TEXTURED_TRIANGLES];
- GLfloat vArray[MAX_TEXTURED_TRIANGLES * 27];
+ GLuint TriangleNum;
- XYZ boundingspherecenter;
- float boundingsphereradius;
- int LineCheck(XYZ, XYZ, XYZ*);
- int LineCheck2(XYZ, XYZ, XYZ*, XYZ, float);
+ XYZ center;
+ float radius;
+ GLfloat vArray[MAX_TEXTURED_TRIANGLES * 27];
- void UpdateVertexArray();
void load(const char*);
void save(const char*);
void CalculateNormals();
@@ -34,4 +32,13 @@ struct Model {
void draw(float r,float g,float b);
};
+#ifdef __cplusplus
+extern "C" {
+#endif // __cplusplus
+int segCrossModel(struct XYZ, struct XYZ, struct Model *, struct XYZ *);
+int segCrossModelTrans(struct XYZ, struct XYZ, struct Model *,
+ struct XYZ, float, struct XYZ *);
+#ifdef __cplusplus
+} // extern "C"
+#endif // __cplusplus
#endif