openscenegraph
osg::ClipPlane Class Reference

#include <ClipPlane>

Inheritance diagram for osg::ClipPlane:
osg::StateAttribute osg::Object osg::Referenced

Public Member Functions

 ClipPlane ()
 ClipPlane (unsigned int no)
 ClipPlane (unsigned int no, const Vec4d &plane)
 ClipPlane (unsigned int no, const Plane &plane)
 ClipPlane (unsigned int no, double a, double b, double c, double d)
 ClipPlane (const ClipPlane &cp, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
virtual osg::Object * cloneType () const
virtual osg::Object * clone (const osg::CopyOp &copyop) const
virtual bool isSameKindAs (const osg::Object *obj) const
virtual const char * libraryName () const
virtual const char * className () const
virtual Type getType () const
virtual int compare (const StateAttribute &sa) const
virtual unsigned int getMember () const
virtual bool getModeUsage (StateAttribute::ModeUsage &usage) const
void setClipPlane (const Plane &plane)
void setClipPlane (double a, double b, double c, double d)
void setClipPlane (const Vec4d &plane)
const Vec4d & getClipPlane () const
void setClipPlaneNum (unsigned int num)
unsigned int getClipPlaneNum () const
virtual void apply (State &state) const
Public Member Functions inherited from osg::StateAttribute
 StateAttribute ()
 StateAttribute (const StateAttribute &sa, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
virtual StateAttribute * asStateAttribute ()
virtual const StateAttribute * asStateAttribute () const
virtual Texture * asTexture ()
virtual const Texture * asTexture () const
TypeMemberPair getTypeMemberPair () const
virtual bool isTextureAttribute () const
bool operator< (const StateAttribute &rhs) const
bool operator== (const StateAttribute &rhs) const
bool operator!= (const StateAttribute &rhs) const
const ParentList & getParents () const
StateSet * getParent (unsigned int i)
const StateSet * getParent (unsigned int i) const
unsigned int getNumParents () const
void setShaderComponent (ShaderComponent *sc)
ShaderComponent * getShaderComponent ()
const ShaderComponent * getShaderComponent () const
virtual bool checkValidityOfAssociatedModes (osg::State &) const
void setUpdateCallback (StateAttributeCallback *uc)
StateAttributeCallback * getUpdateCallback ()
const StateAttributeCallback * getUpdateCallback () const
void setEventCallback (StateAttributeCallback *ec)
StateAttributeCallback * getEventCallback ()
const StateAttributeCallback * getEventCallback () const
virtual void compileGLObjects (State &) const
virtual void resizeGLObjectBuffers (unsigned int)
virtual void releaseGLObjects (State *=0) const
Public Member Functions inherited from osg::Object
 Object ()
 Object (bool threadSafeRefUnref)
 Object (const Object &, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
std::string getCompoundClassName () const
virtual Node * asNode ()
virtual const Node * asNode () const
virtual NodeVisitor * asNodeVisitor ()
virtual const NodeVisitor * asNodeVisitor () const
virtual StateSet * asStateSet ()
virtual const StateSet * asStateSet () const
virtual Uniform * asUniform ()
virtual const Uniform * asUniform () const
virtual Camera * asCamera ()
virtual const Camera * asCamera () const
virtual Drawable * asDrawable ()
virtual const Drawable * asDrawable () const
virtual Callback * asCallback ()
virtual const Callback * asCallback () const
virtual CallbackObject * asCallbackObject ()
virtual const CallbackObject * asCallbackObject () const
virtual UserDataContainer * asUserDataContainer ()
virtual const UserDataContainer * asUserDataContainer () const
virtual ValueObject * asValueObject ()
virtual const ValueObject * asValueObject () const
virtual Image * asImage ()
virtual const Image * asImage () const
virtual void setThreadSafeRefUnref (bool threadSafe)
virtual void setName (const std::string &name)
void setName (const char *name)
const std::string & getName () const
void setDataVariance (DataVariance dv)
DataVariance getDataVariance () const
virtual void computeDataVariance ()
void setUserDataContainer (osg::UserDataContainer *udc)
template<class T>
void setUserDataContainer (const ref_ptr< T > &udc)
osg::UserDataContainer * getUserDataContainer ()
const osg::UserDataContainer * getUserDataContainer () const
osg::UserDataContainer * getOrCreateUserDataContainer ()
virtual void setUserData (Referenced *obj)
template<class T>
void setUserData (const ref_ptr< T > &ud)
virtual Referenced * getUserData ()
virtual const Referenced * getUserData () const
template<typename T>
bool getUserValue (const std::string &name, T &value) const
template<typename T>
void setUserValue (const std::string &name, const T &value)
template<typename T>
BoolValueObject UCharValueObject UShortValueObject UIntValueObject DoubleValueObject Vec3fValueObject Vec2dValueObject Vec4dValueObject PlaneValueObject MatrixdValueObject BoundingBoxdValueObject BoundingSpheredValueObject bool getUserValue (const std::string &name, T &value) const
Public Member Functions inherited from osg::Referenced
 Referenced ()
 Referenced (bool threadSafeRefUnref)
 Referenced (const Referenced &)
Referenced & operator= (const Referenced &)
bool getThreadSafeRefUnref () const
OpenThreads::Mutex * getRefMutex () const
int ref () const
int unref () const
int unref_nodelete () const
int referenceCount () const
ObserverSet * getObserverSet () const
ObserverSet * getOrCreateObserverSet () const
void addObserver (Observer *observer) const
void removeObserver (Observer *observer) const

Protected Member Functions

virtual ~ClipPlane ()
Protected Member Functions inherited from osg::StateAttribute
virtual ~StateAttribute ()
void addParent (osg::StateSet *object)
void removeParent (osg::StateSet *object)
Protected Member Functions inherited from osg::Object
virtual ~Object ()
Protected Member Functions inherited from osg::Referenced
virtual ~Referenced ()
void signalObserversAndDelete (bool signalDelete, bool doDelete) const
void deleteUsingDeleteHandler () const

Protected Attributes

Vec4d _clipPlane
unsigned int _clipPlaneNum
Protected Attributes inherited from osg::StateAttribute
ParentList _parents
ref_ptr< ShaderComponent > _shaderComponent
ref_ptr< StateAttributeCallback > _updateCallback
ref_ptr< StateAttributeCallback > _eventCallback
Protected Attributes inherited from osg::Object
std::string _name
DataVariance _dataVariance
osg::UserDataContainer * _userDataContainer
Protected Attributes inherited from osg::Referenced
OpenThreads::AtomicPtr _observerSet
OpenThreads::Atomic _refCount

Additional Inherited Members

Public Types inherited from osg::StateAttribute
enum  Values {
  OFF = 0x0 , ON = 0x1 , OVERRIDE = 0x2 , PROTECTED = 0x4 ,
  INHERIT = 0x8
}
enum  Type {
  TEXTURE , POLYGONMODE , POLYGONOFFSET , MATERIAL ,
  ALPHAFUNC , ANTIALIAS , COLORTABLE , CULLFACE ,
  FOG , FRONTFACE , LIGHT , POINT ,
  LINEWIDTH , LINESTIPPLE , POLYGONSTIPPLE , SHADEMODEL ,
  TEXENV , TEXENVFILTER , TEXGEN , TEXMAT ,
  LIGHTMODEL , BLENDFUNC , BLENDEQUATION , LOGICOP ,
  STENCIL , COLORMASK , DEPTH , VIEWPORT ,
  SCISSOR , BLENDCOLOR , MULTISAMPLE , CLIPPLANE ,
  COLORMATRIX , VERTEXPROGRAM , FRAGMENTPROGRAM , POINTSPRITE ,
  PROGRAM , CLAMPCOLOR , HINT , SAMPLEMASKI ,
  PRIMITIVERESTARTINDEX , CLIPCONTROL , VALIDATOR , VIEWMATRIXEXTRACTOR ,
  OSGNV_PARAMETER_BLOCK , OSGNVEXT_TEXTURE_SHADER , OSGNVEXT_VERTEX_PROGRAM , OSGNVEXT_REGISTER_COMBINERS ,
  OSGNVCG_PROGRAM , OSGNVSLANG_PROGRAM , OSGNVPARSE_PROGRAM_PARSER , UNIFORMBUFFERBINDING ,
  TRANSFORMFEEDBACKBUFFERBINDING , ATOMICCOUNTERBUFFERBINDING , PATCH_PARAMETER , FRAME_BUFFER_OBJECT ,
  VERTEX_ATTRIB_DIVISOR , SHADERSTORAGEBUFFERBINDING , INDIRECTDRAWBUFFERBINDING , VIEWPORTINDEXED ,
  DEPTHRANGEINDEXED , SCISSORINDEXED , BINDIMAGETEXTURE , SAMPLER ,
  CAPABILITY = 100
}
typedef GLenum GLMode
typedef unsigned int GLModeValue
typedef unsigned int OverrideValue
typedef std::pair< Type, unsigned int > TypeMemberPair
typedef std::vector< StateSet * > ParentList
typedef osg::StateAttributeCallback Callback
Public Types inherited from osg::Object
enum  DataVariance { DYNAMIC , STATIC , UNSPECIFIED }
Static Public Member Functions inherited from osg::Referenced
static OpenThreads::Mutex * getGlobalReferencedMutex ()
static void setDeleteHandler (DeleteHandler *handler)
static DeleteHandler * getDeleteHandler ()

Detailed Description

Encapsulates OpenGL glClipPlane().

Constructor & Destructor Documentation

◆ ClipPlane() [1/6]

osg::ClipPlane::ClipPlane ( )

◆ ClipPlane() [2/6]

osg::ClipPlane::ClipPlane ( unsigned int no)
inline

References _clipPlaneNum.

◆ ClipPlane() [3/6]

osg::ClipPlane::ClipPlane ( unsigned int no,
const Vec4d & plane )
inline

References _clipPlaneNum, and setClipPlane().

◆ ClipPlane() [4/6]

osg::ClipPlane::ClipPlane ( unsigned int no,
const Plane & plane )
inline

References _clipPlaneNum, and setClipPlane().

◆ ClipPlane() [5/6]

osg::ClipPlane::ClipPlane ( unsigned int no,
double a,
double b,
double c,
double d )
inline

References _clipPlaneNum, and setClipPlane().

◆ ClipPlane() [6/6]

osg::ClipPlane::ClipPlane ( const ClipPlane & cp,
const CopyOp & copyop = CopyOp::SHALLOW_COPY )
inline

Copy constructor using CopyOp to manage deep vs shallow copy.

References _clipPlane, _clipPlaneNum, ClipPlane(), osg::CopyOp::SHALLOW_COPY, and osg::StateAttribute::StateAttribute().

◆ ~ClipPlane()

virtual osg::ClipPlane::~ClipPlane ( )
protectedvirtual

Member Function Documentation

◆ apply()

virtual void osg::ClipPlane::apply ( State & state) const
virtual

Applies the clip plane's state to the OpenGL state machine.

Reimplemented from osg::StateAttribute.

◆ className()

virtual const char * osg::ClipPlane::className ( ) const
inlinevirtual

Return the name of the attribute's class type.

Reimplemented from osg::StateAttribute.

◆ clone()

virtual osg::Object * osg::ClipPlane::clone ( const osg::CopyOp & ) const
inlinevirtual

Clone an attribute, with Object* return type. Must be defined by derived classes.

Implements osg::StateAttribute.

References ClipPlane().

◆ cloneType()

virtual osg::Object * osg::ClipPlane::cloneType ( ) const
inlinevirtual

Clone the type of an attribute, with Object* return type. Must be defined by derived classes.

Implements osg::StateAttribute.

References _clipPlaneNum, and ClipPlane().

◆ compare()

virtual int osg::ClipPlane::compare ( const StateAttribute & sa) const
inlinevirtual

Return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs.

Implements osg::StateAttribute.

References _clipPlane, _clipPlaneNum, ClipPlane(), COMPARE_StateAttribute_Parameter, COMPARE_StateAttribute_Types, and osg::StateAttribute::StateAttribute().

◆ getClipPlane()

const Vec4d & osg::ClipPlane::getClipPlane ( ) const
inline

Gets the clip plane as a Vec4d.

References _clipPlane.

◆ getClipPlaneNum()

unsigned int osg::ClipPlane::getClipPlaneNum ( ) const

Gets the clip plane number.

◆ getMember()

virtual unsigned int osg::ClipPlane::getMember ( ) const
inlinevirtual

Return the member identifier within the attribute's class type. Used for light number/clip plane number etc.

Reimplemented from osg::StateAttribute.

References _clipPlaneNum.

◆ getModeUsage()

virtual bool osg::ClipPlane::getModeUsage ( StateAttribute::ModeUsage & ) const
inlinevirtual

Return the modes associated with this StateAttribute.

Reimplemented from osg::StateAttribute.

References _clipPlaneNum, GL_CLIP_PLANE0, and osg::StateAttribute::ModeUsage::usesMode().

◆ getType()

virtual Type osg::ClipPlane::getType ( ) const
inlinevirtual

Return the Type identifier of the attribute's class type.

Implements osg::StateAttribute.

References osg::StateAttribute::CLIPPLANE.

◆ isSameKindAs()

virtual bool osg::ClipPlane::isSameKindAs ( const osg::Object * obj) const
inlinevirtual

Return true if this and obj are of the same kind of object.

Reimplemented from osg::StateAttribute.

References ClipPlane(), and NULL.

◆ libraryName()

virtual const char * osg::ClipPlane::libraryName ( ) const
inlinevirtual

Return the name of the attribute's library.

Reimplemented from osg::StateAttribute.

◆ setClipPlane() [1/3]

void osg::ClipPlane::setClipPlane ( const Plane & plane)
inline

Set the clip plane with the given Plane.

References _clipPlane.

Referenced by ClipPlane(), ClipPlane(), and ClipPlane().

◆ setClipPlane() [2/3]

void osg::ClipPlane::setClipPlane ( const Vec4d & plane)
inline

Set the clip plane with the given Vec4.

References _clipPlane.

◆ setClipPlane() [3/3]

void osg::ClipPlane::setClipPlane ( double a,
double b,
double c,
double d )
inline

Defines the plane as [ a b c d ].

References _clipPlane.

◆ setClipPlaneNum()

void osg::ClipPlane::setClipPlaneNum ( unsigned int num)

Sets the clip plane number.

Member Data Documentation

◆ _clipPlane

Vec4d osg::ClipPlane::_clipPlane
protected

◆ _clipPlaneNum

unsigned int osg::ClipPlane::_clipPlaneNum
protected

The documentation for this class was generated from the following file: