From 291c783983b64f4b0ae4f6f67a016233193efa8c Mon Sep 17 00:00:00 2001 From: Franz Zotter Date: Wed, 29 Aug 2012 06:58:22 +0000 Subject: cleaned up code for mtx_qhull svn path=/trunk/externals/iem/iemmatrix/; revision=16183 --- src/mtx_qhull/vectors.h | 60 ++++++++++++++++++++++++++++--------------------- 1 file changed, 35 insertions(+), 25 deletions(-) (limited to 'src/mtx_qhull/vectors.h') diff --git a/src/mtx_qhull/vectors.h b/src/mtx_qhull/vectors.h index 06a302a..3267df9 100644 --- a/src/mtx_qhull/vectors.h +++ b/src/mtx_qhull/vectors.h @@ -4,6 +4,16 @@ #include #include #include + +/* + * vector operations for zhull + * + * Copyright (c) 2012, Franz Zotter + * IEM, Graz, Austria + * + * + */ + typedef struct vec_ { float c[3]; } vector_t; @@ -24,43 +34,43 @@ typedef struct line_ { } line_t; -vector_t initVector (float x, float y, float z); -float lengthVector(vector_t v); -vector_t normalizeVector(vector_t v); +vector_t initVector (const float x, const float y, const float z); +float lengthVector(const vector_t v); +vector_t normalizeVector(const vector_t v); -plane_t initPlane (vector_t normal, vector_t point); -line_t initLine (vector_t direction, vector_t point); +plane_t initPlane (vector_t normal, const vector_t point); +line_t initLine (vector_t direction, const vector_t point); points_t initPoints (const float *x, const float *y, const float *z, - size_t num_points); + const size_t num_points); void freePoints (points_t *points); size_t getNumPoints(const points_t points); vector_t getPoint(const points_t points, const index_t index); -vector_t crossProduct (vector_t v1, vector_t v2); -float innerProduct (vector_t v1, vector_t v2); +vector_t crossProduct (const vector_t v1, const vector_t v2); +float innerProduct (const vector_t v1, const vector_t v2); float distancePointPoint(const vector_t a, const vector_t b); -float distancePointPlane (vector_t point, plane_t plane); -float distancePointLine (vector_t point, line_t line); -float distancePointLineOnPlane (vector_t point, - line_t line, plane_t plane); -vector_t addVectors(vector_t v1, vector_t v2); -vector_t subtractVectors(vector_t v1, vector_t v2); -vector_t scaleVector(vector_t v1, float f); +float distancePointPlane (const vector_t point, const plane_t plane); +float distancePointLine (const vector_t point, const line_t line); +float distancePointLineOnPlane (const vector_t point, + const line_t line, const plane_t plane); +vector_t addVectors(const vector_t v1, const vector_t v2); +vector_t subtractVectors(const vector_t v1, const vector_t v2); +vector_t scaleVector(vector_t v1, const float f); /*vector_t averagePoints(points_t points); vector_t normalOfPoints(points_t points); plane_t planeFromPoints(points_t points);*/ -plane_t planeFromThreePoints (vector_t a, vector_t b, vector_t c); -line_t lineFromTwoPoints (vector_t a, vector_t b); +plane_t planeFromThreePoints (const vector_t a, const vector_t b, const vector_t c); +line_t lineFromTwoPoints (const vector_t a, const vector_t b); -vector_t averageListedPoints(points_t points, list_t list); -vector_t normalOfListedPoints(points_t points, list_t list); -vector_t directionOfListedPoints(points_t points, list_t list); -plane_t planeFromListedPoints(points_t points, list_t list); -line_t lineFromListedPoints(points_t points, list_t list); +vector_t averageListedPoints(const points_t points, const list_t list); +vector_t normalOfListedPoints(const points_t points, const list_t list); +vector_t directionOfListedPoints(const points_t points, const list_t list); +plane_t planeFromListedPoints(const points_t points, const list_t list); +line_t lineFromListedPoints(const points_t points, const list_t list); -void printPlane(plane_t p); -void printLine(line_t l); -void printVector(vector_t v); +void printPlane(const plane_t p); +void printLine(const line_t l); +void printVector(const vector_t v); #endif /* QHULL_VECTOR_H */ -- cgit v1.2.1