summaryrefslogtreecommitdiffstats
path: root/3rdparty/lib3ds/mesh.h
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/lib3ds/mesh.h')
-rw-r--r--3rdparty/lib3ds/mesh.h157
1 files changed, 0 insertions, 157 deletions
diff --git a/3rdparty/lib3ds/mesh.h b/3rdparty/lib3ds/mesh.h
deleted file mode 100644
index 66282e26..00000000
--- a/3rdparty/lib3ds/mesh.h
+++ /dev/null
@@ -1,157 +0,0 @@
-/* -*- c -*- */
-#ifndef INCLUDED_LIB3DS_MESH_H
-#define INCLUDED_LIB3DS_MESH_H
-/*
- * The 3D Studio File Format Library
- * Copyright (C) 1996-2007 by Jan Eric Kyprianidis <www.kyprianidis.com>
- * All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as published by
- * the Free Software Foundation; either version 2.1 of the License, or (at
- * your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
- * License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- * $Id: mesh.h,v 1.20 2007/06/20 17:04:08 jeh Exp $
- */
-
-#ifndef INCLUDED_LIB3DS_TYPES_H
-#include <lib3ds/types.h>
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * Triangular mesh point
- * \ingroup mesh
- */
-typedef struct Lib3dsPoint {
- Lib3dsVector pos;
-} Lib3dsPoint;
-
-/**
- * Triangular mesh face
- * \ingroup mesh
- * \sa Lib3dsFaceFlag
- */
-struct Lib3dsFace {
- Lib3dsUserData user; /*! Arbitrary user data */
- char material[64]; /*! Material name */
- Lib3dsWord points[3]; /*! Indices into mesh points list */
- Lib3dsWord flags; /*! See Lib3dsFaceFlag, below */
- Lib3dsDword smoothing; /*! Bitmask; each bit identifies a group */
- Lib3dsVector normal;
-};
-
-
-/**
- * Vertex flags
- * Meaning of _Lib3dsFace::flags. ABC are points of the current face
- * (A: is 1st vertex, B is 2nd vertex, C is 3rd vertex)
- */
-typedef enum {
- LIB3DS_FACE_FLAG_VIS_AC = 0x1, /*!< Bit 0: Edge visibility AC */
- LIB3DS_FACE_FLAG_VIS_BC = 0x2, /*!< Bit 1: Edge visibility BC */
- LIB3DS_FACE_FLAG_VIS_AB = 0x4, /*!< Bit 2: Edge visibility AB */
- LIB3DS_FACE_FLAG_WRAP_U = 0x8, /*!< Bit 3: Face is at tex U wrap seam */
- LIB3DS_FACE_FLAG_WRAP_V = 0x10, /*!< Bit 4: Face is at tex V wrap seam */
- LIB3DS_FACE_FLAG_UNK7 = 0x80, /* Bit 5-8: Unused ? */
- LIB3DS_FACE_FLAG_UNK10 = 0x400, /* Bit 9-10: Random ? */
- /* Bit 11-12: Unused ? */
- LIB3DS_FACE_FLAG_SELECT_3 = (1<<13), /*!< Bit 13: Selection of the face in selection 3*/
- LIB3DS_FACE_FLAG_SELECT_2 = (1<<14), /*!< Bit 14: Selection of the face in selection 2*/
- LIB3DS_FACE_FLAG_SELECT_1 = (1<<15), /*!< Bit 15: Selection of the face in selection 1*/
-} Lib3dsFaceFlag;
-
-/**
- * Triangular mesh box mapping settings
- * \ingroup mesh
- */
-struct Lib3dsBoxMap {
- char front[64];
- char back[64];
- char left[64];
- char right[64];
- char top[64];
- char bottom[64];
-};
-
-/**
- * Texture projection type
- * \ingroup tracks
- */
-typedef enum {
- LIB3DS_MAP_NONE =0xFFFF,
- LIB3DS_MAP_PLANAR =0,
- LIB3DS_MAP_CYLINDRICAL =1,
- LIB3DS_MAP_SPHERICAL =2
-} Lib3dsMapType;
-
-/**
- * Triangular mesh texture mapping data
- * \ingroup mesh
- */
-struct Lib3dsMapData {
- Lib3dsWord maptype;
- Lib3dsVector pos;
- Lib3dsMatrix matrix;
- Lib3dsFloat scale;
- Lib3dsFloat tile[2];
- Lib3dsFloat planar_size[2];
- Lib3dsFloat cylinder_height;
-};
-
-/**
- * Triangular mesh object
- * \ingroup mesh
- */
-struct Lib3dsMesh {
- Lib3dsUserData user; /*< Arbitrary user data */
- Lib3dsMesh *next;
- char name[64]; /*< Mesh name. Don't use more than 8 characters */
- Lib3dsDword object_flags; /*< @see Lib3dsObjectFlags */
- Lib3dsByte color;
- Lib3dsMatrix matrix; /*< Transformation matrix for mesh data */
- Lib3dsDword points; /*< Number of points in point list */
- Lib3dsPoint *pointL; /*< Point list */
- Lib3dsDword flags; /*< Number of flags in per-point flags list */
- Lib3dsWord *flagL; /*< Per-point flags list */
- Lib3dsDword texels; /*< Number of U-V texture coordinates */
- Lib3dsTexel *texelL; /*< U-V texture coordinates */
- Lib3dsDword faces; /*< Number of faces in face list */
- Lib3dsFace *faceL; /*< Face list */
- Lib3dsBoxMap box_map;
- Lib3dsMapData map_data;
-};
-
-extern LIB3DSAPI Lib3dsMesh* lib3ds_mesh_new(const char *name);
-extern LIB3DSAPI void lib3ds_mesh_free(Lib3dsMesh *mesh);
-extern LIB3DSAPI Lib3dsBool lib3ds_mesh_new_point_list(Lib3dsMesh *mesh, Lib3dsDword points);
-extern LIB3DSAPI void lib3ds_mesh_free_point_list(Lib3dsMesh *mesh);
-extern LIB3DSAPI Lib3dsBool lib3ds_mesh_new_flag_list(Lib3dsMesh *mesh, Lib3dsDword flags);
-extern LIB3DSAPI void lib3ds_mesh_free_flag_list(Lib3dsMesh *mesh);
-extern LIB3DSAPI Lib3dsBool lib3ds_mesh_new_texel_list(Lib3dsMesh *mesh, Lib3dsDword texels);
-extern LIB3DSAPI void lib3ds_mesh_free_texel_list(Lib3dsMesh *mesh);
-extern LIB3DSAPI Lib3dsBool lib3ds_mesh_new_face_list(Lib3dsMesh *mesh, Lib3dsDword flags);
-extern LIB3DSAPI void lib3ds_mesh_free_face_list(Lib3dsMesh *mesh);
-extern LIB3DSAPI void lib3ds_mesh_bounding_box(Lib3dsMesh *mesh, Lib3dsVector bmin, Lib3dsVector bmax);
-extern LIB3DSAPI void lib3ds_mesh_calculate_normals(Lib3dsMesh *mesh, Lib3dsVector *normalL);
-extern LIB3DSAPI void lib3ds_mesh_dump(Lib3dsMesh *mesh);
-extern LIB3DSAPI Lib3dsBool lib3ds_mesh_read(Lib3dsMesh *mesh, Lib3dsIo *io);
-extern LIB3DSAPI Lib3dsBool lib3ds_mesh_write(Lib3dsMesh *mesh, Lib3dsIo *io);
-
-#ifdef __cplusplus
-}
-#endif
-#endif
-