(index ("matrix-new" 0) ("matrix-assign" 304) ("matrix-destroy" 607) ("matrix-zero" 777) ("matrix-identity" 995) ("matrix-transpose" 1224) ("matrix-inverse" 1432) ("matrix-product" 1666) ("matrix-scale" 1910) ("matrix-translate" 2081) ("matrix-rotate" 2367) ("default-triangle-class" 2665) ("triangle-enclosing" 2893) ("triangle-new" 3172) ("triangle-set" 3413) ("triangle-area" 3710) ("triangle-perimeter" 3863) ("triangle-quality" 4031) ("triangle-normal" 4239) ("triangle-revert" 4414) ("triangle-orientation" 4598) ("triangle-neighbors" 4804) ("triangle-vertices-edges" 4941) ("triangle-vertices" 5318) ("triangle-vertex-opposite" 5524) ("triangle-edge-opposite" 5790) ("triangle-is-ok" 6042) ("triangle-circumcircle-center" 6249) ("triangle-interpolate-height" 6520) ("triangles-from-edges" 6877))
(def (sig (procedure "matrix-new:: double * double * double * double * double * double * double * double * double * double * double * double * double * double * double * double => (nonnull-c-pointer GtsMatrix) " (id matrix-new))) (p "Creates a new GTS 4x4 Matrix object and returns the pointer to it."))
(def (sig (procedure " matrix-assign:: (nonnull-c-pointer GtsMatrix) * double * double * double * double * double * double * double * double * double * double * double * double * double * double * double * double => void " (id matrix-assign))) (p "Sets the contents of an existing GTS Matrix object."))
(def (sig (procedure " matrix-destroy:: (nonnull-c-pointer GtsMatrix) => void" (id matrix-destroy))) (p "Destroys a GTS Matrix object and frees the associated memory."))
(def (sig (procedure " matrix-zero:: (c-pointer GtsMatrix) => (nonnull-c-pointer GtsMatrix) " (id matrix-zero))) (p "Sets a GTS Matrix object to the zero matrix (if the given matrix is NULL a new one is allocated)."))
(def (sig (procedure " matrix-identity:: (c-pointer GtsMatrix) => (nonnull-c-pointer GtsMatrix) " (id matrix-identity))) (p "Sets a GTS Matrix object to the identity matrix (if the given matrix is NULL a new one is allocated)"))
(def (sig (procedure " matrix-transpose:: (nonnull-c-pointer GtsMatrix) => (nonnull-c-pointer GtsMatrix) " (id matrix-transpose))) (p "Transposes a GTS Matrix object and return the newly allocated matrix."))
(def (sig (procedure " matrix-inverse:: (nonnull-c-pointer GtsMatrix) => (c-pointer GtsMatrix) " (id matrix-inverse))) (p "Inverts a GTS Matrix object and returns the newly allocated matrix or NULL if the matrix can't be inverted."))
(def (sig (procedure " matrix-product:: (nonnull-c-pointer GtsMatrix) * (nonnull-c-pointer GtsMatrix) => (nonnull-c-pointer GtsMatrix) " (id matrix-product))) (p "Calculates the product of two matrices and return the newly allocated matrix."))
(def (sig (procedure " matrix-scale:: (c-pointer GtsMatrix) * f64vector => (nonnull-c-pointer GtsMatrix) " (id matrix-scale))) (p "Scales a GTS Matrix object in place."))
(def (sig (procedure " matrix-translate:: (c-pointer GtsMatrix) * f64vector => (nonnull-c-pointer GtsMatrix) " (id matrix-translate))) (p "Translates the GTS Matrix object by the given SRFI-4 " (tt "f64vector") " object (if the matrix is NULL a new one is allocated and translated)."))
(def (sig (procedure " matrix-rotate:: (c-pointer GtsMatrix) * f64vector * double => (nonnull-c-pointer GtsMatrix) " (id matrix-rotate))) (p "Rotates the GTS Matrix object around the give SRFI-4 " (tt "f64vector") " by the given angle (if the matrix is NULL a new one is allocated and rotated)."))
(def (sig (procedure " default-triangle-class :: void => (nonnull-c-pointer GtsTriangleClass) " (id default-triangle-class))) (p "Default class descriptor for the GTS Triangle class (used by the triangle constructors below)."))
(def (sig (procedure " triangle-enclosing:: (nonnull-c-pointer GtsTriangleClass) * (nonnull-c-pointer g_slist) * double =>  (nonnull-c-pointer GtsTriangle) " (id triangle-enclosing))) (p "Creates a GTS Triangle object that is guaranteed to enclose all the points in the list."))
(def (sig (procedure " triangle-new :: (nonnull-c-pointer GtsEdge) * (nonnull-c-pointer GtsEdge) * (nonnull-c-pointer GtsEdge)  =>  (nonnull-c-pointer GtsTriangle) " (id triangle-new))) (p "Creates a new GTS Triangle object from 3 edges."))
(def (sig (procedure " triangle-set :: (nonnull-c-pointer GtsTriangle)  * (nonnull-c-pointer GtsEdge) * (nonnull-c-pointer GtsEdge) * (nonnull-c-pointer GtsEdge) => void " (id triangle-set))) (p "Discards the existing edges of the given GTS Triangle object and replaces them with the new ones."))
(def (sig (procedure " triangle-area :: (nonnull-c-pointer GtsTriangle) => double " (id triangle-area))) (p "Computes the area of the given triangle."))
(def (sig (procedure " triangle-perimeter :: (nonnull-c-pointer GtsTriangle) => double " (id triangle-perimeter))) (p "Computes the perimeter of the given triangle."))
(def (sig (procedure " triangle-quality :: (nonnull-c-pointer GtsTriangle) => double " (id triangle-quality))) (p "Computes a measure of the quality of the given triangle (how close to equilateral it is)."))
(def (sig (procedure " triangle-normal :: (nonnull-c-pointer GtsTriangle) => f64vector " (id triangle-normal))) (p "Computes the normal to the plane of the given triangle."))
(def (sig (procedure " triangle-revert :: (nonnull-c-pointer GtsTriangle) => void " (id triangle-revert))) (p "Changes the orientation of the given triangle, turning it inside out."))
(def (sig (procedure " triangle-orientation :: (nonnull-c-pointer GtsTriangle) => double " (id triangle-orientation))) (p "Checks for the orientation of the plane (x,y) projection of the given triangle."))
(def (sig (procedure " triangle-neighbors :: (nonnull-c-pointer GtsTriangle) => (nonnull-c-pointer g_slist) " (id triangle-neighbors))))
(def (sig (procedure " triangle-vertices-edges :: (nonnull-c-pointer GtsTriangle) * (c-pointer GtsEdge) => vertices-vector * edges-vector " (id triangle-vertices-edges))) (p "Returns a pair of two vectors containing the vertices and edges of the given triangle, respectively. If the edge argument is not NULL, then it is identical to the first elements of the edges vector."))
(def (sig (procedure " triangle-vertices :: (nonnull-c-pointer GtsTriangle) * (c-pointer GtsEdge) => vector " (id triangle-vertices))) (p "Returns a vector containing the vertices of the given triangle."))
(def (sig (procedure " triangle-vertex-opposite :: (nonnull-c-pointer GtsTriangle) * (nonnull-c-pointer GtsEdge) => (nonnull-c-pointer GtsVertex) " (id triangle-vertex-opposite))) (p "Returns a vertex of the given triangle that does not belong to the given edge."))
(def (sig (procedure " triangle-edge-opposite :: (nonnull-c-pointer GtsTriangle) * (nonnull-c-pointer GtsVertex) => (nonnull-c-pointer GtsEdge) " (id triangle-edge-opposite))) (p "Returns the edge of the given triangle opposite to the given vertex."))
(def (sig (procedure " triangle-is-ok :: (nonnull-c-pointer GtsTriangle) => bool " (id triangle-is-ok))) (p "Returns true if the given triangle is non-degenerate, non-duplicate triangle, false otherwise."))
(def (sig (procedure " triangle-circumcircle-center :: (nonnull-c-pointer GtsTriangle) * (nonnull-c-pointer GtsPointClass) => (nonnull-c-pointer GtsPoint) " (id triangle-circumcircle-center))) (p "Returns the center of the circumscribing circle of the given triangle."))
(def (sig (procedure " triangle-interpolate-height :: (nonnull-c-pointer GtsTriangle) * (nonnull-c-pointer GtsPoint) => void" (id triangle-interpolate-height))) (p "Fills the z-coordinate of the given point belonging to the plane projection of the given triangle with the linearly interpolated value of the z-coordinates of the vertices of the triangle."))
(def (sig (procedure " triangles-from-edges :: (nonnull-c-pointer g_slist) => (nonnull-c-pointer g_slist) " (id triangles-from-edges))) (p "Returns a list of unique triangles which have one of their edges in the given list of edges."))
