diff options
Diffstat (limited to 'libdimension/dimension/objects.h')
-rw-r--r-- | libdimension/dimension/objects.h | 24 |
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); |