#include <osg/Export>
#include <osg/Object>
#include <osg/GL>
#include <typeinfo>
#include <utility>
#include <vector>
Namespaces | |
namespace | osg |
Classes | |
class | osg::StateAttribute |
Base class for state attributes. More... | |
struct | osg::StateAttribute::ModeUsage |
struct | osg::StateAttribute::Callback |
Defines | |
#define | OSG_STATEATTRIBUTE 1 |
#define | GL_COLOR_SUM 0x8458 |
#define | META_StateAttribute(library, name, type) |
META_StateAttribute macro define the standard clone, isSameKindAs, className and getType methods. | |
#define | COMPARE_StateAttribute_Types(TYPE, rhs_attribute) |
COMPARE_StateAttribute_Types macro is a helper for implementing the StateAtribute::compare(. | |
#define | COMPARE_StateAttribute_Parameter(parameter) |
COMPARE_StateAttribute_Parameter macro is a helper for implementing the StatateAtribute::compare(. |
#define COMPARE_StateAttribute_Parameter | ( | parameter | ) |
Value:
if (parameter<rhs.parameter) return -1; \ if (rhs.parameter<parameter) return 1;
.) method. Macro assumes that variable rhs has been correctly defined by preceding code macro.
#define COMPARE_StateAttribute_Types | ( | TYPE, | |||
rhs_attribute | ) |
Value:
if (this==&rhs_attribute) return 0;\ const std::type_info* type_lhs = &typeid(*this);\ const std::type_info* type_rhs = &typeid(rhs_attribute);\ if (type_lhs->before(*type_rhs)) return -1;\ if (*type_lhs != *type_rhs) return 1;\ const TYPE& rhs = static_cast<const TYPE&>(rhs_attribute);
.) method.
#define GL_COLOR_SUM 0x8458 |
#define META_StateAttribute | ( | library, | |||
name, | |||||
type | ) |
Value:
virtual osg::Object* cloneType() const { return new name(); } \ virtual osg::Object* clone(const osg::CopyOp& copyop) const { return new name (*this,copyop); } \ virtual bool isSameKindAs(const osg::Object* obj) const { return dynamic_cast<const name *>(obj)!=NULL; } \ virtual const char* libraryName() const { return #library; } \ virtual const char* className() const { return #name; } \ virtual Type getType() const { return type; }
Use when subclassing from Object to make it more convenient to define the standard pure virtual methods which are required for all Object subclasses.
#define OSG_STATEATTRIBUTE 1 |