summaryrefslogtreecommitdiffstats
path: root/libdimension/dimension/objects.h
diff options
context:
space:
mode:
Diffstat (limited to 'libdimension/dimension/objects.h')
-rw-r--r--libdimension/dimension/objects.h24
1 files changed, 15 insertions, 9 deletions
diff --git a/libdimension/dimension/objects.h b/libdimension/dimension/objects.h
index 9ce9e46..eb476cf 100644
--- a/libdimension/dimension/objects.h
+++ b/libdimension/dimension/objects.h
@@ -1,5 +1,5 @@
/*************************************************************************
- * Copyright (C) 2009-2011 Tavian Barnes <tavianator@tavianator.com> *
+ * Copyright (C) 2009-2014 Tavian Barnes <tavianator@tavianator.com> *
* *
* This file is part of The Dimension Library. *
* *
@@ -27,6 +27,7 @@
/**
* A triangle, with normals interpolated between the points.
+ * @param[in] pool The memory pool to allocate from.
* @param[in] a The first corner of the triangle.
* @param[in] b The second corner of the triangle.
* @param[in] c The third corner of the triangle.
@@ -35,52 +36,57 @@
* @param[in] nc The normal at \p c.
*/
dmnsn_object *dmnsn_new_triangle(
+ dmnsn_pool *pool,
dmnsn_vector a, dmnsn_vector b, dmnsn_vector c,
dmnsn_vector na, dmnsn_vector nb, dmnsn_vector nc
);
/**
* A flat triangle, without normal interpolation.
+ * @param[in] pool The memory pool to allocate from.
* @param[in] a The first corner of the triangle.
* @param[in] b The second corner of the triangle.
* @param[in] c The third corner of the triangle.
*/
-dmnsn_object *dmnsn_new_flat_triangle(
- dmnsn_vector a, dmnsn_vector b, dmnsn_vector c
-);
+dmnsn_object *dmnsn_new_flat_triangle(dmnsn_pool *pool, dmnsn_vector a, dmnsn_vector b, dmnsn_vector c);
/**
* A plane.
+ * @param[in] pool The memory pool to allocate from.
* @param[in] normal The normal vector of the plane.
* @return A plane through the origin, with the given normal.
*/
-dmnsn_object *dmnsn_new_plane(dmnsn_vector normal);
+dmnsn_object *dmnsn_new_plane(dmnsn_pool *pool, dmnsn_vector normal);
/**
* A sphere.
+ * @param[in] pool The memory pool to allocate from.
* @return A sphere of radius 1, centered at the origin.
*/
-dmnsn_object *dmnsn_new_sphere(void);
+dmnsn_object *dmnsn_new_sphere(dmnsn_pool *pool);
/**
* A cube.
+ * @param[in] pool The memory pool to allocate from.
* @return An axis-aligned cube, from (-1, -1, -1) to (1, 1, 1).
*/
-dmnsn_object *dmnsn_new_cube(void);
+dmnsn_object *dmnsn_new_cube(dmnsn_pool *pool);
/**
* A cylinder/cone.
+ * @param[in] pool The memory pool to allocate from.
* @param[in] r1 The bottom radius.
* @param[in] r2 The top radius.
* @param[in] open Whether to render caps.
* @return A cone slice, from r = \p r1 at y = -1, to r = \p r2 at y = 1
*/
-dmnsn_object *dmnsn_new_cone(double r1, double r2, bool open);
+dmnsn_object *dmnsn_new_cone(dmnsn_pool *pool, double r1, double r2, bool open);
/**
* A torus.
+ * @param[in] pool The memory pool to allocate from.
* @param[in] major The major radius.
* @param[in] minor The minor radius.
* @return A torus, centered at the origin and lying in the x-z plane.
*/
-dmnsn_object *dmnsn_new_torus(double major, double minor);
+dmnsn_object *dmnsn_new_torus(dmnsn_pool *pool, double major, double minor);