## class SG_EXPORT osg::Stencil

> Encapsulate OpenGL glStencilFunc/Op/Mask functions

## Inheritance:

### Public Methods

Stencil()
Stencil(const Stencil& stencil, const CopyOp& copyop=CopyOp::SHALLOW_COPY)
  Copy constructor using CopyOp to manage deep vs shallow copy
META_StateAttribute(osg, Stencil, STENCIL)
virtual int compare(const StateAttribute& sa) const
  return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs
virtual void getAssociatedModes(std::vector<GLMode>& modes) const
inline void setFunction(Function func, int ref, unsigned int mask)
inline Function getFunction() const
inline int getFunctionRef() const
inline unsigned int getFunctionMask() const
inline void setOperation(Operation sfail, Operation zfail, Operation zpass)
  set the operations to apply when the various stencil and depth tests fail or pass.
inline Operation getStencilFailOperation() const
  get the operation when the stencil test fails
inline Operation getStencilPassAndDepthFailOperation() const
  get the operation when the stencil test passes but the depth test fails
inline Operation getStencilPassAndDepthPassOperation() const
  get the operation when both the stencil test and the depth test pass
inline void setWriteMask(unsigned int mask)
inline unsigned int getWriteMask() const
virtual void apply(State& state) const

### Public Members

enum Function
enum Operation

### Protected Fields

Function _func
int _funcRef
unsigned int _funcMask
Operation _sfail
Operation _zfail
Operation _zpass
unsigned int _writeMask

### Protected Methods

virtual ~Stencil()

### Inherited from StateAttribute:

### Public Methods

virtual Object* cloneType() const
virtual Object* clone(const CopyOp&) const
virtual bool isSameKindAs(const Object* obj) const
virtual const char* libraryName() const
virtual const char* className() const
virtual Type getType() const
virtual bool isTextureAttribute() const
bool operator < (const StateAttribute& rhs) const
bool operator == (const StateAttribute& rhs) const
bool operator != (const StateAttribute& rhs) const
virtual void compile(State&) const

### Public Members

typedef GLenum GLMode
typedef unsigned int GLModeValue
typedef unsigned int OverrideValue
enum Values
typedef unsigned int Type
enum Types

### Inherited from Object:

### Public Methods

inline void setDataVariance(DataVariance dv)
inline DataVariance getDataVariance() const
inline void setUserData(Referenced* obj)
inline Referenced* getUserData()
inline const Referenced* getUserData() const

### Public Members

enum DataVariance

### Protected Fields

DataVariance _dataVariance
ref_ptr<Referenced> _userData

### Inherited from Referenced:

### Public Methods

inline Referenced& operator = (Referenced&)
static void setDeleteHandler(DeleteHandler* handler)
static DeleteHandler* getDeleteHandler()
inline void ref() const
inline void unref_nodelete() const
inline int referenceCount() const
inline void unref() const

### Protected Fields

mutable int _refCount

## Documentation

> Encapsulate OpenGL glStencilFunc/Op/Mask functions

`Stencil()`

`Stencil(const Stencil& stencil, const CopyOp& copyop=CopyOp::SHALLOW_COPY)`
  Copy constructor using CopyOp to manage deep vs shallow copy

`META_StateAttribute(osg, Stencil, STENCIL)`

`virtual int compare(const StateAttribute& sa) const`
  return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs

`virtual void getAssociatedModes(std::vector<GLMode>& modes) const`

`enum Function`

`NEVER`

`LESS`

`EQUAL`

`LEQUAL`

`GREATER`

`NOTEQUAL`

`GEQUAL`

`ALWAYS`

`inline void setFunction(Function func, int ref, unsigned int mask)`

`inline Function getFunction() const`

`inline int getFunctionRef() const`

`inline unsigned int getFunctionMask() const`

`enum Operation`

`KEEP`

`ZERO`

`REPLACE`

`INCR`

`DECR`

`INVERT`

`inline void setOperation(Operation sfail, Operation zfail, Operation zpass)`
  set the operations to apply when the various stencil and depth tests fail or pass. First parameter is to control the operation when the stencil test fails. The second parameter is to control the operation when the stencil test passes, but depth test fails. The third parameter controls the operation when both the stencil test and depth pass. Ordering of parameter is the same as if using glStencilOp(,,).

`inline Operation getStencilFailOperation() const`
  get the operation when the stencil test fails

`inline Operation getStencilPassAndDepthFailOperation() const`
  get the operation when the stencil test passes but the depth test fails

`inline Operation getStencilPassAndDepthPassOperation() const`
  get the operation when both the stencil test and the depth test pass

`inline void setWriteMask(unsigned int mask)`

`inline unsigned int getWriteMask() const`

`virtual void apply(State& state) const`

`virtual ~Stencil()`

`Function _func`

`int _funcRef`

`unsigned int _funcMask`

`Operation _sfail`

`Operation _zfail`

`Operation _zpass`

`unsigned int _writeMask`

This class has no child classes.

Alphabetic index HTML hierarchy of classes or Java

This page was generated with the help of DOC++.