Skip to content

Instantly share code, notes, and snippets.

@od0x0
Created November 16, 2010 00:36
Show Gist options
  • Save od0x0/701242 to your computer and use it in GitHub Desktop.
Save od0x0/701242 to your computer and use it in GitHub Desktop.
//Triangulated Mesh Editing Utility
#pragma once
#include "AE.h"
typedef struct AEMesh AEMesh;
typedef struct AEMeshVertex AEMeshVertex;
typedef struct AEMeshTriangle AEMeshTriangle;
typedef enum{
AEMeshTypeTriangles,
AEMeshTypeQuads,
AEMeshTypeTriangleStrip
}AEMeshType;
AEMesh* AEMeshNew(void);
void AEMeshDelete(AEMesh* self);
size_t AEMeshTriangleCount(AEMesh* self);
//Notes: Returns an ID that is valid until next Add or Remove, thus, do not store IDs
size_t AEMeshTriangleAdd(AEMesh* self);
void AEMeshTriangleRemove(AEMesh* self, size_t ID);
void AEMeshTriangleSet(AEMesh* self, size_t ID, AEVec3* vertices, AEVec3* normals, AEVec2* texcoords, size_t texcoordsPerVertex);
void AEMeshTriangleGet(AEMesh* self, size_t ID, AEVec3* vertices, AEVec3* normals, AEVec2* texcoords, size_t texcoordsPerVertex);
//Operations
void AEMeshTriangleSubdivide(AEMesh* self, size_t ID);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment