28 DG_MSC_VECTOR_ALIGMENT
32 dgPlane(dgFloat32 x, dgFloat32 y, dgFloat32 z, dgFloat32 w);
35 dgPlane Scale(dgFloat32 s)
const;
36 dgFloat32 Evalue(
const dgFloat32 *point)
const;
37 dgFloat32 Evalue(
const dgVector &point)
const;
38 } DG_GCC_VECTOR_ALIGMENT;
40 DG_MSC_VECTOR_ALIGMENT
44 dgBigPlane(dgFloat64 x, dgFloat64 y, dgFloat64 z, dgFloat64 w);
48 dgFloat64 Evalue(
const dgFloat32 *point)
const;
49 #ifndef __USE_DOUBLE_PRECISION__ 50 dgFloat64 Evalue(
const dgFloat64 *point)
const;
52 dgFloat64 Evalue(
const dgVector &point)
const;
54 } DG_GCC_VECTOR_ALIGMENT;
59 DG_INLINE dgPlane::dgPlane()
63 DG_INLINE dgPlane::dgPlane(dgFloat32 x, dgFloat32 y, dgFloat32 z, dgFloat32 w)
67 DG_INLINE dgPlane::dgPlane(
const dgVector &normal, dgFloat32 distance)
77 DG_INLINE
dgPlane dgPlane::Scale(dgFloat32 s)
const {
78 return dgPlane(m_x * s, m_y * s, m_z * s, m_w * s);
82 DG_INLINE dgFloat32 dgPlane::Evalue(
const dgFloat32 *point)
const {
83 return m_x * point[0] + m_y * point[1] + m_z * point[2] + m_w;
86 DG_INLINE dgFloat32 dgPlane::Evalue(
const dgVector &point)
const {
87 return m_x * point.m_x + m_y * point.m_y + m_z * point.m_z + m_w;
92 DG_INLINE dgBigPlane::dgBigPlane()
96 DG_INLINE dgBigPlane::dgBigPlane(dgFloat64 x, dgFloat64 y, dgFloat64 z, dgFloat64 w)
101 DG_INLINE dgBigPlane::dgBigPlane(
const dgBigVector &normal, dgFloat64 distance)
108 m_w = - (*
this % P0);
111 DG_INLINE
dgBigPlane dgBigPlane::Scale(dgFloat64 s)
const {
112 return dgBigPlane(m_x * s, m_y * s, m_z * s, m_w * s);
115 DG_INLINE dgFloat64 dgBigPlane::Evalue(
const dgFloat32 *point)
const {
116 return m_x * point[0] + m_y * point[1] + m_z * point[2] + m_w;
119 #ifndef __USE_DOUBLE_PRECISION__ 120 DG_INLINE dgFloat64 dgBigPlane::Evalue(
const dgFloat64 *point)
const {
121 return m_x * point[0] + m_y * point[1] + m_z * point[2] + m_w;
125 DG_INLINE dgFloat64 dgBigPlane::Evalue(
const dgVector &point)
const {
126 return m_x * point.m_x + m_y * point.m_y + m_z * point.m_z + m_w;
129 DG_INLINE dgFloat64 dgBigPlane::Evalue(
const dgBigVector &point)
const {
130 return m_x * point.m_x + m_y * point.m_y + m_z * point.m_z + m_w;
Definition: dgVector.h:86
Definition: dgVector.h:104