style cleanup / comment formatting for bli/bke/bmesh
[blender.git] / source / blender / blenlib / BLI_math_geom.h
index bb19a50f22ebd39d9ecc79fcdba57ede5fc7e129..a725a3ff4c11fa881423bfa37fecf0a7c8a2fd05 100644 (file)
@@ -23,8 +23,8 @@
  * ***** END GPL LICENSE BLOCK *****
  * */
 
-#ifndef BLI_MATH_GEOM_H
-#define BLI_MATH_GEOM_H
+#ifndef __BLI_MATH_GEOM_H__
+#define __BLI_MATH_GEOM_H__
 
 /** \file BLI_math_geom.h
  *  \ingroup bli
@@ -36,7 +36,7 @@ extern "C" {
 
 #include "BLI_math_inline.h"
 
-#ifdef BLI_MATH_INLINE_H
+#ifdef __BLI_MATH_INLINE_H__
 #include "intern/math_geom_inline.c"
 #endif
 
@@ -67,7 +67,9 @@ float dist_to_plane_v3(const float p[3], const float plane_co[3], const float pl
 float dist_to_line_segment_v3(const float p[3], const float l1[3], const float l2[3]);
 float closest_to_line_v3(float r[3], const float p[3], const float l1[3], const float l2[3]);
 float closest_to_line_v2(float r[2], const float p[2], const float l1[2], const float l2[2]);
-void closest_to_line_segment_v3(float r[3], const float p[3], const float l1[3], const float l2[3]);
+void  closest_to_line_segment_v3(float r[3], const float p[3], const float l1[3], const float l2[3]);
+void  closest_to_plane_v3(float r[3], const float plane_co[3], const float plane_no_unit[3], const float pt[3]);
+
 
 float line_point_factor_v3(const float p[3], const float l1[3], const float l2[3]);
 float line_point_factor_v2(const float p[2], const float l1[2], const float l2[2]);
@@ -101,20 +103,20 @@ int isect_line_line_strict_v3(const float v1[3], const float v2[3],
                               const float v3[3], const float v4[3],
                               float vi[3], float *r_lambda);
 
-/*if clip is nonzero, will only return true if lambda is >= 0.0
-  (i.e. intersection point is along positive d)*/
+/* if clip is nonzero, will only return true if lambda is >= 0.0
* (i.e. intersection point is along positive d)*/
 int isect_ray_plane_v3(const float p1[3], const float d[3],
                        const float v0[3], const float v1[3], const float v2[3],
                        float *r_lambda, const int clip);
 
 /**
  * Intersect line/plane, optionally treat line as directional (like a ray) with the no_flip argument.
- * @param out The intersection point.
- * @param l1 The first point of the line.
- * @param l2 The second point of the line.
- * @param plane_co A point on the plane to intersect with.
- * @param plane_no The direction of the plane (does not need to be normalized).
- * @param no_flip When true, the intersection point will always be from l1 to l2, even if this is not on the plane.
+ * \param out The intersection point.
+ * \param l1 The first point of the line.
+ * \param l2 The second point of the line.
+ * \param plane_co A point on the plane to intersect with.
+ * \param plane_no The direction of the plane (does not need to be normalized).
+ * \param no_flip When true, the intersection point will always be from l1 to l2, even if this is not on the plane.
  */
 int isect_line_plane_v3(float out[3], const float l1[3], const float l2[3],
                         const float plane_co[3], const float plane_no[3], const short no_flip);
@@ -123,12 +125,12 @@ int isect_line_plane_v3(float out[3], const float l1[3], const float l2[3],
  * Intersect two planes, return a point on the intersection and a vector
  * that runs on the direction of the intersection.
  * Return error code is the same as 'isect_line_line_v3'.
- * @param r_isect_co The resulting intersection point.
- * @param r_isect_no The resulting vector of the intersection.
- * @param plane_a_co The point on the first plane.
- * @param plane_a_no The normal of the first plane.
- * @param plane_b_co The point on the second plane.
- * @param plane_b_no The normal of the second plane.
+ * \param r_isect_co The resulting intersection point.
+ * \param r_isect_no The resulting vector of the intersection.
+ * \param plane_a_co The point on the first plane.
+ * \param plane_a_no The normal of the first plane.
+ * \param plane_b_co The point on the second plane.
+ * \param plane_b_no The normal of the second plane.
  */
 void isect_plane_plane_v3(float r_isect_co[3], float r_isect_no[3],
                           const float plane_a_co[3], const float plane_a_no[3],
@@ -212,8 +214,8 @@ void box_minmax_bounds_m4(float min[3], float max[3],
 
 /********************************** Mapping **********************************/
 
-void map_to_tube(float *u, float *v, const float x, const float y, const float z);
-void map_to_sphere(float *u, float *v, const float x, const float y, const float z);
+void map_to_tube(float *r_u, float *r_v, const float x, const float y, const float z);
+void map_to_sphere(float *r_u, float *r_v, const float x, const float y, const float z);
 
 /********************************** Normals **********************************/
 
@@ -246,9 +248,9 @@ void vcloud_estimate_transform(int list_size, float (*pos)[3], float *weight,
 /****************************** Spherical Harmonics *************************/
 
 /* Uses 2nd order SH => 9 coefficients, stored in this order:
  0 = (0,0),
  1 = (1,-1), 2 = (1,0), 3 = (1,1),
  4 = (2,-2), 5 = (2,-1), 6 = (2,0), 7 = (2,1), 8 = (2,2) */
* 0 = (0,0),
* 1 = (1,-1), 2 = (1,0), 3 = (1,1),
* 4 = (2,-2), 5 = (2,-1), 6 = (2,0), 7 = (2,1), 8 = (2,2) */
 
 MINLINE void zero_sh(float r[9]);
 MINLINE void copy_sh_sh(float r[9], const float a[9]);
@@ -265,9 +267,11 @@ MINLINE void madd_sh_shfl(float r[9], const float sh[3], const float f);
 float form_factor_hemi_poly(float p[3], float n[3],
        float v1[3], float v2[3], float v3[3], float v4[3]);
 
+void axis_dominant_v3(int *axis_a, int *axis_b, const float axis[3]);
+
 #ifdef __cplusplus
 }
 #endif
 
-#endif /* BLI_MATH_GEOM_H */
+#endif /* __BLI_MATH_GEOM_H__ */