19#define a_plane_c(x) a_cast_s(a_plane, x)
20#define a_plane_(_, x) a_cast_s(a_plane _, x)
24#if defined(__cplusplus)
31#if !defined A_HAVE_INLINE || defined(LIBA_PLANE_C)
33#define A_INTERN A_PUBLIC extern
62#if !defined A_HAVE_INLINE || defined(LIBA_PLANE_C)
64#define A_INTERN static A_INLINE
66#if defined(__cplusplus)
77#if defined(__cplusplus)
78 A_INLINE
a_point3 const &org()
const {
return orig; }
81 a_plane_set_org(
this, x, y, z);
83 A_INLINE
a_vector3 const &dir()
const {
return dir_; }
86 return a_plane_set_dir(
this, x, y, z);
90 return a_plane_set_uv(
this, &u, &v);
94 return a_plane_set_u(
this, &n, &u);
98 return a_plane_set_v(
this, &n, &v);
100 A_INLINE
a_vector3 const &u()
const {
return u_; }
101 A_INLINE
a_vector3 const &v()
const {
return v_; }
104 return a_plane_set(
this, &p, &n);
108 return a_plane_set3(
this, &p1, &p2, &p3);
112 a_plane_eval(
this, u, v, &res);
116 a_plane_parm(
this, &p, &u, &v);
120 return a_plane_proj(
this, &p, &res);
124 return a_plane_sdist(
this, &rhs);
128 return a_plane_dist(
this, &rhs);
132 return a_plane_int0(
this, &rhs, &u, &v);
136 return a_plane_int1(
this, &rhs, min, max, &w);
140 return a_plane_int2(
this, &rhs, &res);
142 A_INLINE
void rot2d(
a_real angle)
144 a_plane_rot2d(
this, angle);
149#if defined(LIBA_PLANE_C)
151#define A_INTERN A_INLINE
153#if defined(A_HAVE_INLINE) || defined(LIBA_PLANE_C)
179#if defined(LIBA_PLANE_C)
181#define A_INTERN static A_INLINE
double a_real
compiler built-in floating-point number type
Definition a.h:1012
instance structure for three-dimensional line
Definition line3.h:88
instance structure for three-dimensional plane
Definition plane.h:74
instance structure for three-dimensional point
Definition point3.h:77
instance structure for three-dimensional vector
Definition vector3.h:87