223 lines
12 KiB
HTML
223 lines
12 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
|
|
|
<HTML>
|
|
<HEAD>
|
|
<TITLE>class SG_EXPORT osg::Plane</TITLE>
|
|
<META NAME="GENERATOR" CONTENT="DOC++ 3.4.8">
|
|
</HEAD>
|
|
<BODY BGCOLOR="#ffffff">
|
|
|
|
<H2>class SG_EXPORT <A HREF="#DOC.DOCU">osg::Plane</A></H2></H2><BLOCKQUOTE>A plane class.</BLOCKQUOTE>
|
|
<HR>
|
|
|
|
<DL>
|
|
<P><DL>
|
|
<DT><H3>Public Methods</H3><DD><DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline <B><A HREF="#DOC.2.82.1">Plane</A></B>()
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline <B><A HREF="#DOC.2.82.2">Plane</A></B>(const <!1><A HREF="Plane.html#DOC.2.82.2">Plane</A>& pl)
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline <B><A HREF="#DOC.2.82.3">Plane</A></B>(const float a, const float b, const float c, const float d)
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline <B><A HREF="#DOC.2.82.4">Plane</A></B>(const <!1><A HREF="Vec4.html">Vec4</A>& vec)
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline <B><A HREF="#DOC.2.82.5">Plane</A></B>(const <!1><A HREF="Vec3.html">Vec3</A>& norm, const float d)
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline <B><A HREF="#DOC.2.82.6">Plane</A></B>(const <!1><A HREF="Vec3.html">Vec3</A>& v1, const <!1><A HREF="Vec3.html">Vec3</A>& v2, const <!1><A HREF="Vec3.html">Vec3</A>& v3)
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline <!1><A HREF="Plane.html">Plane</A>& <B><A HREF="#DOC.2.82.7">operator = </A></B>(const <!1><A HREF="Plane.html">Plane</A>& pl)
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline void <B><A HREF="#DOC.2.82.8">set</A></B>(const <!1><A HREF="Plane.html">Plane</A>& pl)
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline void <B><A HREF="#DOC.2.82.9">set</A></B>(const float a, const float b, const float c, const float d)
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline void <B><A HREF="#DOC.2.82.10">set</A></B>(const <!1><A HREF="Vec4.html">Vec4</A>& vec)
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline void <B><A HREF="#DOC.2.82.11">set</A></B>(const <!1><A HREF="Vec3.html">Vec3</A>& norm, const float d)
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline void <B><A HREF="#DOC.2.82.12">set</A></B>(const <!1><A HREF="Vec3.html">Vec3</A>& v1, const <!1><A HREF="Vec3.html">Vec3</A>& v2, const <!1><A HREF="Vec3.html">Vec3</A>& v3)
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline void <B><A HREF="#DOC.2.82.13">makeUnitLength</A></B>()
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline void <B><A HREF="#DOC.2.82.14">calculateUpperLowerBBCorners</A></B>()
|
|
<DD><I>calculate the upper and lower bounding box corners to be used in the intersect(BoundingBox&) method for speeding calculations</I>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline const bool <B><A HREF="#DOC.2.82.15">valid</A></B>() const
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline <!1><A HREF="Vec4.html">Vec4</A>& <B><A HREF="#DOC.2.82.16">asVec4</A></B>()
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline const <!1><A HREF="Vec4.html">Vec4</A>& <B><A HREF="#DOC.2.82.17">asVec4</A></B>() const
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline float& <B><A HREF="#DOC.2.82.18">operator [] </A></B>(const int i)
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline float <B><A HREF="#DOC.2.82.19">operator [] </A></B>(const int i) const
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline const float <B><A HREF="#DOC.2.82.20">distance</A></B>(const <!1><A HREF="Vec3.html">osg::Vec3</A>& v) const
|
|
<DD><I>calculate the distance between a point and the plane</I>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline const int <B><A HREF="#DOC.2.82.21">intersect</A></B>(const <!1><A HREF="BoundingSphere.html">BoundingSphere</A>& bs) const
|
|
<DD><I>intersection test between plane and bounding sphere.</I>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline const int <B><A HREF="#DOC.2.82.22">intersect</A></B>(const <!1><A HREF="BoundingBox.html">BoundingBox</A>& bb) const
|
|
<DD><I>intersection test between plane and bounding sphere.</I>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline void <B><A HREF="#DOC.2.82.23">transform</A></B>(const <!1><A HREF="Matrix.html">osg::Matrix</A>& matrix)
|
|
<DD><I>Transform the plane by matrix.</I>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>inline void <B><A HREF="#DOC.2.82.24">transformProvidingInverse</A></B>(const <!1><A HREF="Matrix.html">osg::Matrix</A>& matrix)
|
|
<DD><I>Transform the plane by provide a pre inverted matrix.</I>
|
|
</DL></P>
|
|
|
|
<P><DL>
|
|
<DT><H3>Protected Fields</H3><DD><DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif><!1><A HREF="Vec4.html">Vec4</A> <B><A HREF="#DOC.2.82.25">_fv</A></B>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>unsigned int <B><A HREF="#DOC.2.82.26">_upperBBCorner</A></B>
|
|
<DT>
|
|
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>unsigned int <B><A HREF="#DOC.2.82.27">_lowerBBCorner</A></B>
|
|
</DL></P>
|
|
|
|
</DL>
|
|
|
|
<A NAME="DOC.DOCU"></A>
|
|
<HR>
|
|
<H2>Documentation</H2>
|
|
<BLOCKQUOTE>A plane class. It can be used to represent an infinite plane.</BLOCKQUOTE>
|
|
<DL>
|
|
|
|
<A NAME="Plane"></A>
|
|
<A NAME="DOC.2.82.1"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline Plane()</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="Plane"></A>
|
|
<A NAME="DOC.2.82.2"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline Plane(const <!1><A HREF="Plane.html#DOC.2.82.2">Plane</A>& pl)</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="Plane"></A>
|
|
<A NAME="DOC.2.82.3"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline Plane(const float a, const float b, const float c, const float d)</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="Plane"></A>
|
|
<A NAME="DOC.2.82.4"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline Plane(const <!1><A HREF="Vec4.html">Vec4</A>& vec)</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="Plane"></A>
|
|
<A NAME="DOC.2.82.5"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline Plane(const <!1><A HREF="Vec3.html">Vec3</A>& norm, const float d)</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="Plane"></A>
|
|
<A NAME="DOC.2.82.6"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline Plane(const <!1><A HREF="Vec3.html">Vec3</A>& v1, const <!1><A HREF="Vec3.html">Vec3</A>& v2, const <!1><A HREF="Vec3.html">Vec3</A>& v3)</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="operator = "></A>
|
|
<A NAME="DOC.2.82.7"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline <!1><A HREF="Plane.html">Plane</A>& operator = (const <!1><A HREF="Plane.html">Plane</A>& pl)</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="set"></A>
|
|
<A NAME="DOC.2.82.8"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline void set(const <!1><A HREF="Plane.html">Plane</A>& pl)</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="set"></A>
|
|
<A NAME="DOC.2.82.9"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline void set(const float a, const float b, const float c, const float d)</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="set"></A>
|
|
<A NAME="DOC.2.82.10"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline void set(const <!1><A HREF="Vec4.html">Vec4</A>& vec)</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="set"></A>
|
|
<A NAME="DOC.2.82.11"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline void set(const <!1><A HREF="Vec3.html">Vec3</A>& norm, const float d)</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="set"></A>
|
|
<A NAME="DOC.2.82.12"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline void set(const <!1><A HREF="Vec3.html">Vec3</A>& v1, const <!1><A HREF="Vec3.html">Vec3</A>& v2, const <!1><A HREF="Vec3.html">Vec3</A>& v3)</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="makeUnitLength"></A>
|
|
<A NAME="DOC.2.82.13"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline void makeUnitLength()</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="calculateUpperLowerBBCorners"></A>
|
|
<A NAME="DOC.2.82.14"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline void calculateUpperLowerBBCorners()</B></TT>
|
|
<DD>calculate the upper and lower bounding box corners to be used
|
|
in the intersect(BoundingBox&) method for speeding calculations
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="valid"></A>
|
|
<A NAME="DOC.2.82.15"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline const bool valid() const </B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="asVec4"></A>
|
|
<A NAME="DOC.2.82.16"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline <!1><A HREF="Vec4.html">Vec4</A>& asVec4()</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="asVec4"></A>
|
|
<A NAME="DOC.2.82.17"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline const <!1><A HREF="Vec4.html">Vec4</A>& asVec4() const </B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="operator [] "></A>
|
|
<A NAME="DOC.2.82.18"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline float& operator [] (const int i)</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="operator [] "></A>
|
|
<A NAME="DOC.2.82.19"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline float operator [] (const int i) const </B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="distance"></A>
|
|
<A NAME="DOC.2.82.20"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline const float distance(const <!1><A HREF="Vec3.html">osg::Vec3</A>& v) const </B></TT>
|
|
<DD>calculate the distance between a point and the plane
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="intersect"></A>
|
|
<A NAME="DOC.2.82.21"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline const int intersect(const <!1><A HREF="BoundingSphere.html">BoundingSphere</A>& bs) const </B></TT>
|
|
<DD>intersection test between plane and bounding sphere.
|
|
return 1 if the bs is completely above plane,
|
|
return 0 if the bs intersects the plane,
|
|
return -1 if the bs is completely below the plane.
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="intersect"></A>
|
|
<A NAME="DOC.2.82.22"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline const int intersect(const <!1><A HREF="BoundingBox.html">BoundingBox</A>& bb) const </B></TT>
|
|
<DD>intersection test between plane and bounding sphere.
|
|
return 1 if the bs is completely above plane,
|
|
return 0 if the bs intersects the plane,
|
|
return -1 if the bs is completely below the plane.
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="transform"></A>
|
|
<A NAME="DOC.2.82.23"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline void transform(const <!1><A HREF="Matrix.html">osg::Matrix</A>& matrix)</B></TT>
|
|
<DD>Transform the plane by matrix. Note, this operations carries out
|
|
the calculation of the inverse of the matrix since to transforms
|
|
planes must be multiplied my the inverse transposed. This
|
|
make this operation expensive. If the inverse has been already
|
|
calculated elsewhere then use transformProvidingInverse() instead.
|
|
See http://www.worldserver.com/turk/computergraphics/NormalTransformations.pdf
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="transformProvidingInverse"></A>
|
|
<A NAME="DOC.2.82.24"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>inline void transformProvidingInverse(const <!1><A HREF="Matrix.html">osg::Matrix</A>& matrix)</B></TT>
|
|
<DD>Transform the plane by provide a pre inverted matrix.
|
|
see transform for details.
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="_fv"></A>
|
|
<A NAME="DOC.2.82.25"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B><!1><A HREF="Vec4.html">Vec4</A> _fv</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="_upperBBCorner"></A>
|
|
<A NAME="DOC.2.82.26"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>unsigned int _upperBBCorner</B></TT>
|
|
<DL><DT><DD></DL><P>
|
|
<A NAME="_lowerBBCorner"></A>
|
|
<A NAME="DOC.2.82.27"></A>
|
|
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>unsigned int _lowerBBCorner</B></TT>
|
|
<DL><DT><DD></DL><P></DL>
|
|
|
|
<HR><DL><DT><B>This class has no child classes.</B></DL>
|
|
|
|
<DL><DT><DT><B>Friends:</B><DD> inline std::ostream& operator << (std::ostream& output, const <!1><A HREF="Plane.html">Plane</A>& pl)<BR><DD></DL><P><P><I><A HREF="index.html">Alphabetic index</A></I> <I><A HREF="HIER.html">HTML hierarchy of classes</A> or <A HREF="HIERjava.html">Java</A></I></P><HR>
|
|
<BR>
|
|
This page was generated with the help of <A HREF="http://docpp.sourceforge.net">DOC++</A>.
|
|
</BODY>
|
|
</HTML>
|