Files
astromaddie--HaloCE-VR/source/tool/connected_geometry.h
T

63 lines
1.2 KiB
C

/*
CONNECTED_GEOMETRY.H
header included in hcex build.
*/
#ifndef __CONNECTED_GEOMETRY_H
#define __CONNECTED_GEOMETRY_H
#pragma once
/* ---------- headers */
#include "memory/array.h"
#include "math/real_math.h"
/* ---------- constants */
/* ---------- macros */
/* ---------- structures */
struct connected_geometry_edge
{
struct dynamic_array triangle_indices;
long point_indices[2];
long unused[2];
};
struct connected_geometry_triangle
{
long edge_designators[3];
long coplanar_group_index;
long unused[2];
};
struct connected_geometry
{
struct dynamic_array points;
struct dynamic_array edges;
struct dynamic_array triangles;
};
/* ---------- prototypes/CONNECTED_GEOMETRY.C */
void connected_geometry_new(
struct connected_geometry *geometry);
void connected_geometry_delete(
struct connected_geometry *geometry);
long connected_geometry_add_triangle(
struct connected_geometry *geometry,
real_point3d const *point0,
real_point3d const *point1,
real_point3d const *point2,
boolean report_duplicates);
long connected_geometry_group_coplanar(
struct connected_geometry *geometry);
/* ---------- globals */
/* ---------- public code */
#endif // __CONNECTED_GEOMETRY_H