X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=libs%2Flib3ds%2Fvector.h;fp=libs%2Flib3ds%2Fvector.h;h=bc829b65bf3bbd2c1be01d19c3be991bff09c564;hb=6c322d339ec9c5063c8f47117633b46e2a8eafd0;hp=0000000000000000000000000000000000000000;hpb=787ad7856f5074db4fe805b15bfca61553895de1;p=summerhack diff --git a/libs/lib3ds/vector.h b/libs/lib3ds/vector.h new file mode 100644 index 0000000..bc829b6 --- /dev/null +++ b/libs/lib3ds/vector.h @@ -0,0 +1,58 @@ +/* -*- c -*- */ +#ifndef INCLUDED_LIB3DS_VECTOR_H +#define INCLUDED_LIB3DS_VECTOR_H +/* + * The 3D Studio File Format Library + * Copyright (C) 1996-2001 by J.E. Hoffmann + * 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: vector.h,v 1.6 2004/12/31 16:17:15 reed Exp $ + */ + +#ifndef INCLUDED_LIB3DS_TYPES_H +#include +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +extern LIB3DSAPI void lib3ds_vector_zero(Lib3dsVector c); +extern LIB3DSAPI void lib3ds_vector_copy(Lib3dsVector dest, Lib3dsVector src); +extern LIB3DSAPI void lib3ds_vector_neg(Lib3dsVector c); +extern LIB3DSAPI void lib3ds_vector_add(Lib3dsVector c, Lib3dsVector a, Lib3dsVector b); +extern LIB3DSAPI void lib3ds_vector_sub(Lib3dsVector c, Lib3dsVector a, Lib3dsVector b); +extern LIB3DSAPI void lib3ds_vector_scalar(Lib3dsVector c, Lib3dsFloat k); +extern LIB3DSAPI void lib3ds_vector_cross(Lib3dsVector c, Lib3dsVector a, Lib3dsVector b); +extern LIB3DSAPI Lib3dsFloat lib3ds_vector_dot(Lib3dsVector a, Lib3dsVector b); +extern LIB3DSAPI Lib3dsFloat lib3ds_vector_squared(Lib3dsVector c); +extern LIB3DSAPI Lib3dsFloat lib3ds_vector_length(Lib3dsVector c); +extern LIB3DSAPI void lib3ds_vector_normalize(Lib3dsVector c); +extern LIB3DSAPI void lib3ds_vector_normal(Lib3dsVector n, Lib3dsVector a, + Lib3dsVector b, Lib3dsVector c); +extern LIB3DSAPI void lib3ds_vector_transform(Lib3dsVector c, Lib3dsMatrix m, Lib3dsVector a); +extern LIB3DSAPI void lib3ds_vector_cubic(Lib3dsVector c, Lib3dsVector a, Lib3dsVector p, + Lib3dsVector q, Lib3dsVector b, Lib3dsFloat t); +extern LIB3DSAPI void lib3ds_vector_min(Lib3dsVector c, Lib3dsVector a); +extern LIB3DSAPI void lib3ds_vector_max(Lib3dsVector c, Lib3dsVector a); +extern LIB3DSAPI void lib3ds_vector_dump(Lib3dsVector c); + +#ifdef __cplusplus +} +#endif +#endif +