Removed osgIntrospection as it's now available as a seperate osgIntrospection project that can be checked out thus:

svn co http://www.openscenegraph.org/svn/osg/osgIntrospection osgIntrospection
This commit is contained in:
Robert Osfield 2010-06-23 13:28:19 +00:00
parent 36366f61d5
commit 422a5e7058
499 changed files with 13 additions and 111818 deletions

View File

@ -741,16 +741,6 @@ IF(APPLE)
ENDIF(APPLE)
#
# Provide target for generating wrappers
#
SET(GENWRAPPER genwrapper)
ADD_CUSTOM_TARGET(wrappers
COMMAND ${GENWRAPPER} -c ${OpenSceneGraph_SOURCE_DIR}/src/osgWrappers/introspection/genwrapper.conf -t ${OpenSceneGraph_SOURCE_DIR}/src/osgWrappers/introspection/Doxyfile.template -d ${OpenSceneGraph_SOURCE_DIR} | doxygen -
COMMAND ${GENWRAPPER} -c ${OpenSceneGraph_SOURCE_DIR}/src/osgWrappers/introspection/genwrapper.conf -l ${OpenSceneGraph_SOURCE_DIR}
)
# For Doxygen
INCLUDE(${CMAKE_ROOT}/Modules/Documentation.cmake OPTIONAL)
OPTION(BUILD_DOCUMENTATION "Build OpenSceneGraph reference documentation using doxygen (use: make DoxygenDoc)" OFF)
@ -877,10 +867,6 @@ SET(PKGCONFIG_FILES
openscenegraph-osgVolume
)
IF(BUILD_OSG_WRAPPERS)
SET(PKGCONFIG_FILES ${PKGCONFIG_FILES} openscenegraph-osgIntrospection)
ENDIF(BUILD_OSG_WRAPPERS)
IF(QT4_FOUND)
SET(PKGCONFIG_FILES ${PKGCONFIG_FILES} openscenegraph-osgQt)
ENDIF(QT4_FOUND)

View File

@ -159,10 +159,6 @@ IF(DYNAMIC_OPENSCENEGRAPH)
ENDIF()
ADD_SUBDIRECTORY(osgpdf)
IF (BUILD_OSG_WRAPPERS)
ADD_SUBDIRECTORY(osgintrospection)
ENDIF(BUILD_OSG_WRAPPERS)
IF (GLUT_FOUND)
ADD_SUBDIRECTORY(osgviewerGLUT)

View File

@ -1,7 +0,0 @@
SET(TARGET_SRC osgintrospection.cpp )
SET(TARGET_ADDED_LIBRARIES osgIntrospection )
ADD_DEFINITIONS(-DOSG_PLUGIN_EXTENSION=${CMAKE_SHARED_MODULE_SUFFIX})
#### end var setup ###
SETUP_EXAMPLE(osgintrospection)

View File

@ -1,296 +0,0 @@
/* OpenSceneGraph example, osgintrospection.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
#include <osg/ref_ptr>
#include <osgIntrospection/Reflection>
#include <osgIntrospection/Type>
#include <osgIntrospection/MethodInfo>
#include <osgIntrospection/PropertyInfo>
#include <osgDB/DynamicLibrary>
#include <osg/Object>
#include <iostream>
#include <algorithm>
using namespace osgIntrospection;
// borrowed from osgDB...
std::string createLibraryNameForWrapper(const std::string& ext)
{
#if defined(WIN32)
// !! recheck evolving Cygwin DLL extension naming protocols !! NHV
#ifdef __CYGWIN__
return "cygwin_osgwrapper_"+ext+".dll";
#elif defined(__MINGW32__)
return "mingw_osgwrapper_"+ext+".dll";
#else
#ifdef _DEBUG
return "osgwrapper_"+ext+"d.dll";
#else
return "osgwrapper_"+ext+".dll";
#endif
#endif
#elif macintosh
return "osgwrapper_" + ext;
#else
return "osgwrapper_" + ext + ADDQUOTES(OSG_PLUGIN_EXTENSION);
#endif
}
bool type_order(const Type *v1, const Type *v2)
{
if (!v1->isDefined()) return v2->isDefined();
if (!v2->isDefined()) return false;
return v1->getQualifiedName().compare(v2->getQualifiedName()) < 0;
}
void print_method(const MethodInfo &mi)
{
std::cout << "\t ";
// display if the method is virtual
if (mi.isVirtual())
std::cout << "virtual ";
// display the method's return type if defined
if (mi.getReturnType().isDefined())
std::cout << mi.getReturnType().getQualifiedName() << " ";
else
std::cout << "[UNDEFINED TYPE] ";
// display the method's name
std::cout << mi.getName() << "(";
// display method's parameters
const ParameterInfoList &params = mi.getParameters();
for (ParameterInfoList::const_iterator k=params.begin(); k!=params.end(); ++k)
{
// get the ParameterInfo object that describes the
// current parameter
const ParameterInfo &pi = **k;
// display the parameter's modifier
if (pi.isIn())
std::cout << "IN";
if (pi.isOut())
std::cout << "OUT";
if (pi.isIn() || pi.isOut())
std::cout << " ";
// display the parameter's type name
if (pi.getParameterType().isDefined())
std::cout << pi.getParameterType().getQualifiedName();
// display the parameter's name if defined
if (!pi.getName().empty())
std::cout << " " << pi.getName();
if ((k+1)!=params.end())
std::cout << ", ";
}
std::cout << ")";
if (mi.isConst())
std::cout << " const";
if (mi.isPureVirtual())
std::cout << " = 0";
std::cout << "\n";
}
void print_type(const Type &type)
{
// ignore pointer types and undefined types
if (!type.isDefined() || type.isPointer() || type.isReference())
return;
// print the type name
std::cout << type.getQualifiedName() << "\n";
// check whether the type is abstract
if (type.isAbstract()) std::cout << "\t[abstract]\n";
// check whether the type is atomic
if (type.isAtomic()) std::cout << "\t[atomic]\n";
// check whether the type is an enumeration. If yes, display
// the list of enumeration labels
if (type.isEnum())
{
std::cout << "\t[enum]\n";
std::cout << "\tenumeration values:\n";
const EnumLabelMap &emap = type.getEnumLabels();
for (EnumLabelMap::const_iterator j=emap.begin(); j!=emap.end(); ++j)
{
std::cout << "\t\t" << j->second << " = " << j->first << "\n";
}
}
// if the type has one or more base types, then display their
// names
if (type.getNumBaseTypes() > 0)
{
std::cout << "\tderived from: ";
for (int j=0; j<type.getNumBaseTypes(); ++j)
{
const Type &base = type.getBaseType(j);
if (base.isDefined())
std::cout << base.getQualifiedName() << " ";
else
std::cout << "[undefined type] ";
}
std::cout << "\n";
}
// display a list of public methods defined for the current type
const MethodInfoList &mil = type.getMethods();
if (!mil.empty())
{
std::cout << "\t* public methods:\n";
for (MethodInfoList::const_iterator j=mil.begin(); j!=mil.end(); ++j)
{
// get the MethodInfo object that describes the current
// method
const MethodInfo &mi = **j;
print_method(mi);
}
}
// display a list of protected methods defined for the current type
const MethodInfoList &bmil = type.getMethods(Type::PROTECTED_FUNCTIONS);
if (!bmil.empty())
{
std::cout << "\t* protected methods:\n";
for (MethodInfoList::const_iterator j=bmil.begin(); j!=bmil.end(); ++j)
{
// get the MethodInfo object that describes the current
// method
const MethodInfo &mi = **j;
print_method(mi);
}
}
// display a list of properties defined for the current type
const PropertyInfoList &pil = type.getProperties();
if (!pil.empty())
{
std::cout << "\t* properties:\n";
for (PropertyInfoList::const_iterator j=pil.begin(); j!=pil.end(); ++j)
{
// get the PropertyInfo object that describes the current
// property
const PropertyInfo &pi = **j;
std::cout << "\t ";
std::cout << "{";
std::cout << (pi.canGet()? "G": " ");
std::cout << (pi.canSet()? "S": " ");
std::cout << (pi.canCount()? "C": " ");
std::cout << (pi.canAdd()? "A": " ");
std::cout << "} ";
// display the property's name
std::cout << pi.getName();
// display the property's value type if defined
std::cout << " (";
if (pi.getPropertyType().isDefined())
std::cout << pi.getPropertyType().getQualifiedName();
else
std::cout << "UNDEFINED TYPE";
std::cout << ") ";
// check whether the property is an array property
if (pi.isArray())
{
std::cout << " [ARRAY]";
}
// check whether the property is an indexed property
if (pi.isIndexed())
{
std::cout << " [INDEXED]\n\t\t indices:\n";
const ParameterInfoList &ind = pi.getIndexParameters();
// print the list of indices
int num = 1;
for (ParameterInfoList::const_iterator k=ind.begin(); k!=ind.end(); ++k, ++num)
{
std::cout << "\t\t " << num << ") ";
const ParameterInfo &par = **k;
std::cout << par.getParameterType().getQualifiedName() << " " << par.getName();
std::cout << "\n";
}
}
std::cout << "\n";
}
}
std::cout << "\n" << std::string(75, '-') << "\n";
}
void print_types()
{
// get the map of types that have been reflected
const TypeMap &tm = Reflection::getTypes();
// create a sortable list of types
TypeList types(tm.size());
TypeList::iterator j = types.begin();
for (TypeMap::const_iterator i=tm.begin(); i!=tm.end(); ++i, ++j)
*j = i->second;
// sort the map
std::sort(types.begin(), types.end(), &type_order);
// iterate through the type map and display some
// details for each type
for (TypeList::const_iterator i=types.begin(); i!=types.end(); ++i)
{
print_type(**i);
}
}
int main()
{
// load the library of wrappers that reflect the
// classes defined in the 'osg' namespace. In the
// future this will be done automatically under
// certain circumstances (like deserialization).
osg::ref_ptr<osgDB::DynamicLibrary> osg_reflectors =
osgDB::DynamicLibrary::loadLibrary(createLibraryNameForWrapper("osg"));
// display a detailed list of reflected types
try
{
print_types();
}
catch(const osgIntrospection::Exception &e)
{
std::cerr << e.what() << std::endl;
}
return 0;
}

View File

@ -1,326 +0,0 @@
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield
*
* This library is open source and may be redistributed and/or modified under
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
* (at your option) any later version. The full license is in LICENSE file
* included with this distribution, and on the openscenegraph.org website.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* OpenSceneGraph Public License for more details.
*/
//osgIntrospection - Copyright (C) 2005 Marco Jez
#ifndef OSGINTROSPECTION_ATTRIBUTES_
#define OSGINTROSPECTION_ATTRIBUTES_
#include <osgIntrospection/CustomAttribute>
#include <osgIntrospection/Value>
#include <osgIntrospection/Exceptions>
#include <osgIntrospection/Type>
namespace osgIntrospection
{
/// By adding this attribute to a PropertyInfo you specify that there
/// is no default value for that property.
class NoDefaultValueAttribute: public CustomAttribute {};
/// By adding this attribute to a PropertyInfo you specify a custom
/// default value for that property.
class DefaultValueAttribute: public CustomAttribute
{
public:
DefaultValueAttribute(const Value& v): _v(v) {}
const Value& getDefaultValue() const { return _v; }
private:
Value _v;
};
/// Base struct for custom property getters. Descendants may override
/// one or more of the get() methods to provide the means for retrieving
/// the value of a property. The first version of get() is used with
/// indexed properties, the second one serves simple properties and the
/// last one is used with array properties.
struct PropertyGetter
{
virtual Value get(Value& /*instance*/, const ValueList& /*indices*/) const { throw PropertyAccessException("[n/a inside a custom accessor]", PropertyAccessException::IGET); }
virtual Value get(Value& /*instance*/) const { throw PropertyAccessException("[n/a inside a custom accessor]", PropertyAccessException::GET); }
virtual Value get(Value& /*instance*/, int /*i*/) const { throw PropertyAccessException("[n/a inside a custom accessor]", PropertyAccessException::AGET); }
virtual Value get(const Value& /*instance*/, const ValueList& /*indices*/) const { throw PropertyAccessException("[n/a inside a custom accessor]", PropertyAccessException::IGET); }
virtual Value get(const Value& /*instance*/) const { throw PropertyAccessException("[n/a inside a custom accessor]", PropertyAccessException::GET); }
virtual Value get(const Value& /*instance*/, int /*i*/) const { throw PropertyAccessException("[n/a inside a custom accessor]", PropertyAccessException::AGET); }
virtual ~PropertyGetter() {}
};
/// By setting an attribute of this class you can specify a custom object
/// that will be used to retrieve the value of a property instead of the
/// default getter method.
class CustomPropertyGetAttribute: public CustomAttribute
{
public:
CustomPropertyGetAttribute(const PropertyGetter* getter)
: CustomAttribute(), _getter(getter) {}
const PropertyGetter* getGetter() const { return _getter; }
~CustomPropertyGetAttribute()
{
delete _getter;
}
private:
const PropertyGetter* _getter;
};
/// Base struct for custom property setters. Descendants may override
/// one or more of the set() methods to provide the means for setting
/// the value of a property. The first version of set() is used with
/// indexed properties, the second one serves simple properties and the
/// last one is used with array properties.
struct PropertySetter
{
virtual void set(Value& /*instance*/, ValueList& /*indices*/, const Value& /*value*/) const { throw PropertyAccessException("[n/a inside a custom accessor]", PropertyAccessException::ISET); }
virtual void set(Value& /*instance*/, const Value& /*value*/) const { throw PropertyAccessException("[n/a inside a custom accessor]", PropertyAccessException::SET); }
virtual void set(Value& /*instance*/, int /*i*/, const Value& /*value*/) const { throw PropertyAccessException("[n/a inside a custom accessor]", PropertyAccessException::ASET); }
virtual ~PropertySetter() {}
};
/// By setting an attribute of this class you can specify a custom object
/// that will be used to set the value of a property instead of the
/// default setter method.
class CustomPropertySetAttribute: public CustomAttribute
{
public:
CustomPropertySetAttribute(const PropertySetter* setter)
: CustomAttribute(), _setter(setter) {}
const PropertySetter* getSetter() const { return _setter; }
~CustomPropertySetAttribute()
{
delete _setter;
}
private:
const PropertySetter* _setter;
};
/// Base struct for custom array property counters. Descendants should
/// override the count() method which must return the number of items
/// in a chosen array property for the given instance.
struct PropertyCounter
{
virtual int count(const Value& /*instance*/) const { throw PropertyAccessException("[n/a inside a custom accessor]", PropertyAccessException::COUNT); }
virtual ~PropertyCounter() {}
};
/// By setting an attribute of this class you can specify a custom object
/// that will be used to count the number of items in an array property.
class CustomPropertyCountAttribute: public CustomAttribute
{
public:
CustomPropertyCountAttribute(const PropertyCounter* counter)
: CustomAttribute(), _counter(counter) {}
const PropertyCounter* getCounter() const { return _counter; }
~CustomPropertyCountAttribute()
{
delete _counter;
}
private:
const PropertyCounter* _counter;
};
/// Base struct for custom array property adders. Descendants should
/// override the add() method whose purpose is to add a new item to
/// an array property.
struct PropertyAdder
{
virtual void add(Value&, const Value&) const { throw PropertyAccessException("[n/a inside a custom accessor]", PropertyAccessException::ADD); }
virtual ~PropertyAdder() {}
};
/// By setting an attribute of this class you can specify a custom object
/// that will be used to add a new item to an array property.
class CustomPropertyAddAttribute: public CustomAttribute
{
public:
CustomPropertyAddAttribute(const PropertyAdder* adder)
: CustomAttribute(), _adder(adder) {}
const PropertyAdder* getAdder() const { return _adder; }
~CustomPropertyAddAttribute()
{
delete _adder;
}
private:
const PropertyAdder* _adder;
};
/// Base struct for custom array property inserters. Descendants should
/// override the insert() method whose purpose is to insert a new item to
/// an array property.
struct PropertyInserter
{
virtual void insert(Value&, int, const Value&) const { throw PropertyAccessException("[n/a inside a custom accessor]", PropertyAccessException::INSERT); }
virtual void insert(Value&, const ValueList&, const Value&) const { throw PropertyAccessException("[n/a inside a custom accessor]", PropertyAccessException::INSERT); }
virtual ~PropertyInserter() {}
};
/// By setting an attribute of this class you can specify a custom object
/// that will be used to insert a new item to an array property.
class CustomPropertyInsertAttribute: public CustomAttribute
{
public:
CustomPropertyInsertAttribute(const PropertyInserter* inserter)
: CustomAttribute(), _inserter(inserter) {}
const PropertyInserter* getInserter() const { return _inserter; }
~CustomPropertyInsertAttribute()
{
delete _inserter;
}
private:
const PropertyInserter* _inserter;
};
/// Base struct for custom array property removers. Descendants should
/// override the remove() method whose purpose is to remove an item from
/// an array property.
struct PropertyRemover
{
virtual void remove(Value&, int) const { throw PropertyAccessException("[n/a inside a custom accessor]", PropertyAccessException::REMOVE); }
virtual void remove(Value&, ValueList&) const { throw PropertyAccessException("[n/a inside a custom accessor]", PropertyAccessException::REMOVE); }
virtual ~PropertyRemover() {}
};
/// By setting an attribute of this class you can specify a custom object
/// that will be used to remove an item from an array property.
class CustomPropertyRemoveAttribute: public CustomAttribute
{
public:
CustomPropertyRemoveAttribute(const PropertyRemover* remover)
: CustomAttribute(), _remover(remover) {}
const PropertyRemover* getRemover() const { return _remover; }
~CustomPropertyRemoveAttribute()
{
delete _remover;
}
private:
const PropertyRemover* _remover;
};
/// This struct allows customization of an indexed property's index set.
/// You must derive from this struct and provide a concrete implementation
/// of getIndexValueSet(), which must return (in parameter values) a list
/// of valid values to be used as indices. The whichindex parameter
/// specifies which index is being queried (0 = first index, 1 = second
/// index, ...).
/// See CustomIndexAttribute for details.
struct IndexInfo
{
virtual const ParameterInfoList& getIndexParameters() const = 0;
virtual void getIndexValueSet(int whichindex, const Value& instance, ValueList& values) const = 0;
virtual ~IndexInfo() {}
};
/// By default each index in an indexed property is assumed to be an
/// enumeration. When serialization is performed, indices are chosen
/// from the set of enum labels that were defined for the index type.
/// With this attribute you can provide custom code to determine the
/// set of values to be used as indices, instead of the default enum
/// values. This attribute is required, for example, when the number
/// and/or value of indices is not constant over time (such as in
/// associative containers).
class CustomIndexAttribute: public CustomAttribute
{
public:
CustomIndexAttribute(const IndexInfo* ii)
: CustomAttribute(), _ii(ii) {}
const IndexInfo* getIndexInfo() const
{
return _ii;
}
~CustomIndexAttribute()
{
delete _ii;
}
private:
const IndexInfo* _ii;
};
/// Attribute for overriding the type of a property with a custom
/// type. If you add this attribute to a PropertyInfo object, then
/// all subsequent calls to getValue()/getArrayItem()/getIndexedValue()
/// will perform a conversion from the actual property's type to
/// the custom type specified through this attribute. Similarly, all
/// methods in PropertyInfo that alter the property's value will accept
/// a value of the custom type instead of the actual type. In this
/// case the conversion is implicit and occurs later within the accessor
/// methods.
class PropertyTypeAttribute: public CustomAttribute
{
public:
PropertyTypeAttribute(const Type& type)
: CustomAttribute(), _type(type) {}
const Type& getPropertyType() const
{
return _type;
}
private:
const Type& _type;
PropertyTypeAttribute& operator = (const PropertyTypeAttribute&) { return *this; }
};
/// Attribute for overriding the type of an index (of an indexed
/// property) with a custom type. Behaves like PropertyTypeAttribute,
/// but it affects the value of an index instead of the property's
/// value itself.
/// NOTE: property with custom indexing attributes are not affected
/// by this attribute!
class IndexTypeAttribute: public CustomAttribute
{
public:
IndexTypeAttribute(int whichindex, const Type& type)
: CustomAttribute(), _wi(whichindex), _type(type) {}
int getWhichIndex() const
{
return _wi;
}
const Type& getIndexType() const
{
return _type;
}
private:
IndexTypeAttribute& operator = (const IndexTypeAttribute&) { return *this; }
int _wi;
const Type& _type;
};
}
#endif

View File

@ -1,67 +0,0 @@
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield
*
* This library is open source and may be redistributed and/or modified under
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
* (at your option) any later version. The full license is in LICENSE file
* included with this distribution, and on the openscenegraph.org website.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* OpenSceneGraph Public License for more details.
*/
//osgIntrospection - Copyright (C) 2005 Marco Jez
#ifndef OSGINTROSPECTION_COMPARATOR_
#define OSGINTROSPECTION_COMPARATOR_
namespace osgIntrospection
{
class Value;
struct Comparator
{
virtual bool isEqualTo(const Value& l, const Value& r) const = 0;
virtual bool isLessThanOrEqualTo(const Value& l, const Value& r) const = 0;
virtual ~Comparator() {}
};
template<typename T>
struct TotalOrderComparator: Comparator
{
virtual bool isEqualTo(const Value& l, const Value& r) const
{
const T &vl = variant_cast<const T &>(l);
const T &vr = variant_cast<const T &>(r);
return vl <= vr && vr <= vl;
}
virtual bool isLessThanOrEqualTo(const Value& l, const Value& r) const
{
return variant_cast<const T &>(l) <= variant_cast<const T &>(r);
}
virtual ~TotalOrderComparator() {}
};
template<typename T>
struct PartialOrderComparator: Comparator
{
virtual bool isEqualTo(const Value& l, const Value& r) const
{
return variant_cast<const T &>(l) == variant_cast<const T &>(r);
}
virtual bool isLessThanOrEqualTo(const Value& , const Value& ) const
{
throw ComparisonOperatorNotSupportedException(extended_typeid<T>(), "less than or equal to");
}
virtual ~PartialOrderComparator() {}
};
}
#endif

View File

@ -1,108 +0,0 @@
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield
*
* This library is open source and may be redistributed and/or modified under
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
* (at your option) any later version. The full license is in LICENSE file
* included with this distribution, and on the openscenegraph.org website.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* OpenSceneGraph Public License for more details.
*/
//osgIntrospection - Copyright (C) 2005 Marco Jez
#ifndef OSGINTROSPECTION_CONSTRUCTORINFO_
#define OSGINTROSPECTION_CONSTRUCTORINFO_
#include <osgIntrospection/Export>
#include <osgIntrospection/Type>
#include <osgIntrospection/ParameterInfo>
#include <osgIntrospection/CustomAttributeProvider>
namespace osgIntrospection
{
class OSGINTROSPECTION_EXPORT ConstructorInfo: public CustomAttributeProvider
{
public:
// Standard constructor.
ConstructorInfo(const Type& declaratiionType, const ParameterInfoList& params, std::string briefHelp = std::string(), std::string detailedHelp = std::string())
: _declarationType(declaratiionType),
_params(params),
_explicit(false),
_briefHelp(briefHelp),
_detailedHelp(detailedHelp)
{
}
// Constructor allowing explicit state specification.
ConstructorInfo(const Type& declaratiionType, const ParameterInfoList& params, bool isExplicit, std::string briefHelp = std::string(), std::string detailedHelp = std::string())
: _declarationType(declaratiionType),
_params(params),
_explicit(isExplicit),
_briefHelp(briefHelp),
_detailedHelp(detailedHelp)
{
}
virtual ~ConstructorInfo()
{
for (ParameterInfoList::iterator i=_params.begin(); i!=_params.end(); ++i)
delete *i;
}
/// Returns the brief help of the reflected construtor.
inline virtual const std::string& getBriefHelp() const
{
return _briefHelp;
}
/// Returns the detailed help of the reflected contructor.
inline virtual const std::string& getDetailedHelp() const
{
return _detailedHelp;
}
/// Returns the Type object associated to the type that
/// declares the reflected constructor.
inline const Type& getDeclaringType() const
{
return _declarationType;
}
/// Returns a list of objects that describe the reflected
/// constructor's parameters.
inline const ParameterInfoList& getParameters() const
{
return _params;
}
/// Returns true if this constructor is explicit.
inline bool isExplicit() const
{
return _explicit;
}
/// Invokes the reflected constructor dynamically passing it the
/// arguments as a list of Value objects.
virtual Value createInstance(ValueList& args) const = 0;
protected:
virtual void getInheritedProviders(CustomAttributeProviderList& providers) const;
private:
ConstructorInfo& operator = (const ConstructorInfo&) { return *this; }
const Type& _declarationType;
ParameterInfoList _params;
bool _explicit;
std::string _briefHelp;
std::string _detailedHelp;
};
}
#endif

View File

@ -1,91 +0,0 @@
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield
*
* This library is open source and may be redistributed and/or modified under
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
* (at your option) any later version. The full license is in LICENSE file
* included with this distribution, and on the openscenegraph.org website.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* OpenSceneGraph Public License for more details.
*/
//osgIntrospection - Copyright (C) 2005 Marco Jez
#ifndef OSGINTROSPECTION_CONVERTER_
#define OSGINTROSPECTION_CONVERTER_
#include <osgIntrospection/Value>
#include <list>
namespace osgIntrospection
{
struct Converter
{
virtual CastType getCastType() const = 0;
virtual Value convert(const Value& ) const = 0;
virtual ~Converter() {}
};
typedef std::list<const Converter* > ConverterList;
class CompositeConverter: public Converter
{
public:
CompositeConverter(const ConverterList& cvt): cvt_(cvt) {}
CompositeConverter(ConverterList& cvt) { cvt_.swap(cvt); }
virtual ~CompositeConverter() {}
virtual Value convert(const Value& src) const
{
Value accum(src);
for (ConverterList::const_iterator i=cvt_.begin(); i!=cvt_.end(); ++i)
accum = (*i)->convert(accum);
return accum;
}
virtual CastType getCastType() const { return COMPOSITE_CAST; }
private:
ConverterList cvt_;
};
template<typename S, typename D>
struct StaticConverter: Converter
{
virtual ~StaticConverter() {}
virtual Value convert(const Value& src) const
{
return static_cast<D>(variant_cast<S>(src));
}
virtual CastType getCastType() const { return STATIC_CAST; }
};
template<typename S, typename D>
struct DynamicConverter: Converter
{
virtual ~DynamicConverter() {}
virtual Value convert(const Value& src) const
{
return dynamic_cast<D>(variant_cast<S>(src));
}
virtual CastType getCastType() const { return DYNAMIC_CAST; }
};
template<typename S, typename D>
struct ReinterpretConverter: Converter
{
virtual ~ReinterpretConverter() {}
virtual Value convert(const Value& src) const
{
return reinterpret_cast<D>(variant_cast<S>(src));
}
virtual CastType getCastType() const { return REINTERPRET_CAST; }
};
}
#endif

View File

@ -1,36 +0,0 @@
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield
*
* This library is open source and may be redistributed and/or modified under
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
* (at your option) any later version. The full license is in LICENSE file
* included with this distribution, and on the openscenegraph.org website.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* OpenSceneGraph Public License for more details.
*/
//osgIntrospection - Copyright (C) 2005 Marco Jez
#ifndef OSGINTROSPECTION_CONVERTERPROXY_
#define OSGINTROSPECTION_CONVERTERPROXY_
#include <osgIntrospection/Reflection>
namespace osgIntrospection
{
struct Converter;
struct ConverterProxy
{
ConverterProxy(const Type& source, const Type& dest, const Converter* cvt)
{
Reflection::registerConverter(source, dest, cvt);
}
};
}
#endif

View File

@ -1,31 +0,0 @@
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield
*
* This library is open source and may be redistributed and/or modified under
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
* (at your option) any later version. The full license is in LICENSE file
* included with this distribution, and on the openscenegraph.org website.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* OpenSceneGraph Public License for more details.
*/
//osgIntrospection - Copyright (C) 2005 Marco Jez
#ifndef OSGINTROSPECTION_CUSTOMATTRIBUTE_
#define OSGINTROSPECTION_CUSTOMATTRIBUTE_
namespace osgIntrospection
{
/// The base class for custom attributes. This is an empty class
/// for now.
class CustomAttribute
{
public:
virtual ~CustomAttribute() {}
};
}
#endif

View File

@ -1,130 +0,0 @@
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield
*
* This library is open source and may be redistributed and/or modified under
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
* (at your option) any later version. The full license is in LICENSE file
* included with this distribution, and on the openscenegraph.org website.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* OpenSceneGraph Public License for more details.
*/
//osgIntrospection - Copyright (C) 2005 Marco Jez
#ifndef OSGINTROSPECTION_CUSTOMATTRIBUTEPROVIDER_
#define OSGINTROSPECTION_CUSTOMATTRIBUTEPROVIDER_
#include <osgIntrospection/Export>
#include <osgIntrospection/CustomAttribute>
#include <vector>
#include <typeinfo>
namespace osgIntrospection
{
// forward declarations
class Type;
class CustomAttribute;
class CustomAttributeProvider;
// vector of attributes
typedef std::vector<const CustomAttribute* > CustomAttributeList;
// vector of attribute providers
typedef std::vector<const CustomAttributeProvider *> CustomAttributeProviderList;
/// This is the base class for custom attribute providers, that is objects
/// that can be assigned a list of custom attributes. Methods defined in
/// this class provide the means for adding, retrieving and searching for
/// attributes.
class OSGINTROSPECTION_EXPORT CustomAttributeProvider
{
public:
/// Returns the const list of custom attributes.
inline const CustomAttributeList& getCustomAttributes() const
{
return attribs_;
}
/// Returns the list of custom attributes.
inline CustomAttributeList& getCustomAttributes()
{
return attribs_;
}
/// Adds a new attribute to the list.
inline CustomAttributeProvider *addAttribute(const CustomAttribute* attr)
{
attribs_.push_back(attr);
return this;
}
/// Returns whether at least one attribute of the given type is
/// present in the attribute list. If the inherit parameter is
/// set to true, the search is forwarded to base types.
bool isDefined(const Type& type, bool inherit) const;
/// Returns whether at least one attribute of the given type is
/// present in the attribute list. If the inherit parameter is
/// set to true, the search is forwarded to base types.
/// [template version]
template<typename T> inline bool isDefined(bool inherit) const
{
for (CustomAttributeList::const_iterator i=attribs_.begin(); i!=attribs_.end(); ++i)
if (typeid(**i) == typeid(T)) return true;
if (inherit)
{
CustomAttributeProviderList providers;
getInheritedProviders(providers);
for (CustomAttributeProviderList::const_iterator i=providers.begin(); i!=providers.end(); ++i)
{
if ((*i)->isDefined<T>(true)) return true;
}
}
return false;
}
/// Searchs for an attribute of the given type and returns a pointer
/// to it if found, a null pointer otherwise. If the inherit parameter
/// is set to true, the search is forwarded to base types.
const CustomAttribute* getAttribute(const Type& type, bool inherit) const;
/// Searchs for an attribute of the given type and returns a pointer
/// to it if found, a null pointer otherwise. If the inherit parameter
/// is set to true, the search is forwarded to base types.
/// [template version]
template<typename T> inline const T *getAttribute(bool inherit) const
{
for (CustomAttributeList::const_iterator i=attribs_.begin(); i!=attribs_.end(); ++i)
if (typeid(**i) == typeid(T)) return static_cast<const T *>(*i);
if (inherit)
{
CustomAttributeProviderList providers;
getInheritedProviders(providers);
for (CustomAttributeProviderList::const_iterator i=providers.begin(); i!=providers.end(); ++i)
{
const T *ca = (*i)->getAttribute<T>(true);
if (ca) return ca;
}
}
return 0;
}
protected:
virtual void getInheritedProviders(CustomAttributeProviderList& providers) const = 0;
virtual ~CustomAttributeProvider() {
for(CustomAttributeList::iterator it = attribs_.begin(); it != attribs_.end(); ++it) {
delete (*it);
}
}
private:
CustomAttributeList attribs_;
};
}
#endif

View File

@ -1,255 +0,0 @@
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield
*
* This library is open source and may be redistributed and/or modified under
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
* (at your option) any later version. The full license is in LICENSE file
* included with this distribution, and on the openscenegraph.org website.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* OpenSceneGraph Public License for more details.
*/
//osgIntrospection - Copyright (C) 2005 Marco Jez
#ifndef OSGINTROSPECTION_EXCEPTIONS_
#define OSGINTROSPECTION_EXCEPTIONS_
#include <string>
#include <osgIntrospection/ExtendedTypeInfo>
namespace osgIntrospection
{
class Exception
{
public:
Exception(const std::string& msg): msg_(msg) {}
const std::string& what() const throw() { return msg_; }
private:
std::string msg_;
};
struct ReflectionException: public Exception
{
ReflectionException(const std::string& msg): Exception(msg) {}
};
struct TypeNotDefinedException: public ReflectionException
{
TypeNotDefinedException(const ExtendedTypeInfo &ti)
: ReflectionException("type `" + std::string(ti.name()) + "' is declared but not defined")
{
}
};
struct TypeIsAbstractException: public ReflectionException
{
TypeIsAbstractException(const ExtendedTypeInfo &ti)
: ReflectionException("cannot create instances of abstract type `" + std::string(ti.name()) + "'")
{
}
};
struct ConstructorNotFoundException: public ReflectionException
{
ConstructorNotFoundException(const ExtendedTypeInfo &ti)
: ReflectionException("could not find a suitable constructor in type `" + std::string(ti.name()) + "'")
{
}
};
struct ProtectedConstructorInvocationException: public ReflectionException
{
ProtectedConstructorInvocationException()
: ReflectionException("cannot invoke protected constructor")
{
}
};
struct InvokeNotImplementedException: public ReflectionException
{
InvokeNotImplementedException()
: ReflectionException("invoke() not implemented")
{
}
};
struct InvalidFunctionPointerException: public ReflectionException
{
InvalidFunctionPointerException()
: ReflectionException("invalid function pointer during invoke()")
{
}
};
struct ConstIsConstException: public ReflectionException
{
ConstIsConstException()
: ReflectionException("cannot modify a const value")
{
}
};
struct ProtectedMethodInvocationException: public ReflectionException
{
ProtectedMethodInvocationException()
: ReflectionException("cannot invoke protected method")
{
}
};
struct EmptyValueException: public ReflectionException
{
EmptyValueException()
: ReflectionException("cannot retrieve an empty value")
{
}
};
struct TypeNotFoundException: public ReflectionException
{
TypeNotFoundException(const std::string& qname)
: ReflectionException("type `" + qname + "' not found")
{
}
};
struct MethodNotFoundException: public ReflectionException
{
MethodNotFoundException(const std::string& name, const std::string& cname)
: ReflectionException("could not find a suitable method of name `" + name + "' in class `" + cname + "'")
{
}
};
struct StreamWriteErrorException: public ReflectionException
{
StreamWriteErrorException()
: ReflectionException("an error occured while trying to write to a stream")
{
}
};
struct StreamReadErrorException: public ReflectionException
{
StreamReadErrorException()
: ReflectionException("an error occured while trying to read from a stream")
{
}
};
class StreamingNotSupportedException: public ReflectionException
{
public:
enum OperationType
{
ANY,
TEXT_WRITE,
TEXT_READ,
BINARY_WRITE,
BINARY_READ
};
StreamingNotSupportedException(OperationType op, const ExtendedTypeInfo &type)
: ReflectionException(build_msg(op, type))
{
}
private:
std::string build_msg(OperationType op, const ExtendedTypeInfo &type)
{
std::string opstr;
switch (op)
{
case TEXT_WRITE: opstr = "writing to text stream"; break;
case TEXT_READ: opstr = "reading from text stream"; break;
case BINARY_WRITE: opstr = "writing to binary stream"; break;
case BINARY_READ: opstr = "reading from binary stream"; break;
case ANY:
default: opstr = "streaming";
}
return opstr + std::string(" is not supported on type `" + std::string(type.name()) + "'");
}
};
struct TypeConversionException: public ReflectionException
{
TypeConversionException(const ExtendedTypeInfo &type1, const ExtendedTypeInfo &type2)
: ReflectionException("cannot convert from type `" + std::string(type1.name()) + "' to type `" + std::string(type2.name()) + "'")
{
}
};
class PropertyAccessException: public ReflectionException
{
public:
enum AccessType
{
GET,
SET,
IGET,
ISET,
AGET,
ASET,
ADD,
INSERT,
REMOVE,
COUNT
};
PropertyAccessException(const std::string& pname, AccessType denied)
: ReflectionException(build_msg(pname, denied))
{
}
private:
std::string build_msg(const std::string& pname, AccessType denied) const
{
std::string msg;
switch (denied)
{
case GET: msg = "retrieved"; break;
case SET: msg = "set"; break;
case IGET: msg = "retrieved with indices"; break;
case ISET: msg = "set with indices"; break;
case AGET: msg = "retrieved with array index"; break;
case ASET: msg = "set with array index"; break;
case ADD: msg = "added"; break;
case INSERT: msg = "inserted"; break;
case REMOVE: msg = "removed"; break;
case COUNT: msg = "counted"; break;
default: msg = "?";
}
return std::string("value for property `" + pname + "' cannot be " + msg);
}
};
struct IndexValuesNotDefinedException: ReflectionException
{
IndexValuesNotDefinedException(const std::string& name, const std::string& iname)
: ReflectionException("couldn't determine a finite set of values for index `" + iname + "' of property `" + name + "'. Make sure that either: 1) the index is an enumeration, or 2) a valid custom indexing attribute was assigned to the property.")
{
}
};
struct ComparisonNotPermittedException: ReflectionException
{
ComparisonNotPermittedException(const ExtendedTypeInfo &ti)
: ReflectionException("comparison not permitted on type `" + std::string(ti.name()) + "'")
{
}
};
struct ComparisonOperatorNotSupportedException: ReflectionException
{
ComparisonOperatorNotSupportedException(const ExtendedTypeInfo &ti, const std::string& op)
: ReflectionException("comparison operator `" + op + "' is not supported on type `" + std::string(ti.name()) + "'")
{
}
};
}
#endif

View File

@ -1,71 +0,0 @@
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield
*
* This library is open source and may be redistributed and/or modified under
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
* (at your option) any later version. The full license is in LICENSE file
* included with this distribution, and on the openscenegraph.org website.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* OpenSceneGraph Public License for more details.
*/
//osgIntrospection - Copyright (C) 2005 Marco Jez
#ifndef OSGINTROSPECTION_EXPORTHDR
#define OSGINTROSPECTION_EXPORTHDR 1
#include <osg/Config>
#if defined(_MSC_VER) && defined(OSG_DISABLE_MSVC_WARNINGS)
#pragma warning( disable : 4251 )
#pragma warning( disable : 4121 )
#pragma warning( disable : 4180 )
#pragma warning( disable : 4702 )
#endif
#if defined(_MSC_VER) || defined(__CYGWIN__) || defined(__MINGW32__) || defined( __BCPLUSPLUS__) || defined( __MWERKS__)
# if defined( OSG_LIBRARY_STATIC )
# define OSGINTROSPECTION_EXPORT
# elif defined( OSGINTROSPECTION_LIBRARY )
# define OSGINTROSPECTION_EXPORT __declspec(dllexport)
# else
# define OSGINTROSPECTION_EXPORT __declspec(dllimport)
# endif
#else
# define OSGINTROSPECTION_EXPORT
#endif
// set up define for whether member templates are supported by VisualStudio compilers.
#ifdef _MSC_VER
# if (_MSC_VER < 1300)
# error Your compiler doesn't support member templates. The reflection framework can't be compiled.
# endif
#endif
/**
\namespace osgIntrospection
The osgIntrospection library provides the an introspection/reflection framework for non intrusive
run-time querying and calling of class properties and methods.
osgIntrospection is ideal for providing non native language binding to the OpenSceneGraph, convenient means
for editing properties in a generic way, such as required in scene graph editors,
and also facilitates the automatic serealization of objects.
osgIntrospection can be used to provide introspection support to 3rd Party libraries without the need to
modify them to add this support, the wrappers providing the actual binding can be
automatically generated by parsing header files via gen_wrapper utility. All the
core OpenSceneGraph libraries have pre built wrappers available for you use.
*/
/**
\namespace Properties
Properties is a set of helper definations used by the osgIntrospectoin wrappers.
*/
#endif

View File

@ -1,123 +0,0 @@
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield
*
* This library is open source and may be redistributed and/or modified under
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
* (at your option) any later version. The full license is in LICENSE file
* included with this distribution, and on the openscenegraph.org website.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* OpenSceneGraph Public License for more details.
*/
#ifndef OSGINTROSPECTION_EXTENDEDTYPEINFO_
#define OSGINTROSPECTION_EXTENDEDTYPEINFO_
#include <typeinfo>
#include <string>
#include <osgIntrospection/type_traits>
namespace osgIntrospection
{
/// This class is a wrapper for std::type_info that also records whether
/// a type is a reference or const reference. It permits osgIntrospection
/// to make use of reference information that is ignored by typeid(), and
/// to generate reference types based on it. The ExtendedTypeInfo for a
/// class can be produced via the extended_typeid() functions, analogous
/// to typeid().
///
class ExtendedTypeInfo
{
public:
ExtendedTypeInfo(const std::type_info &ti, bool isReference, bool isConstReference) :
_ti(&ti), _is_reference(isReference), _is_const_reference(isConstReference)
{
}
/// Orders ExtendedTypeInfo based first on std::type_info, then on
/// reference, then on const reference. Note that we can't rely on
/// default pointer comparison for std::type_info because it is not
/// guaranteed that &typeid(T) always returns the same pointer for a
/// given T (thanks Andrew Koenig).
bool operator<(const ExtendedTypeInfo &other) const
{
if (_ti->before(*other._ti))
return true;
else if (other._ti->before(*_ti))
return false;
else if (_is_reference < other._is_reference)
return true;
else if (other._is_reference < _is_reference)
return false;
else
return _is_const_reference < other._is_const_reference;
}
/// Returns true if *this and other are the same type.
bool operator==(const ExtendedTypeInfo &other) const
{
return (*_ti == *other._ti &&
_is_reference == other._is_reference &&
_is_const_reference == other._is_const_reference);
}
/// Gets the std::type_info object for this type.
const std::type_info &getStdTypeInfo() const
{
return *_ti;
}
/// Returns true if this type is a reference or const reference.
bool isReference() const
{
return _is_reference;
}
/// Returns true if this type is a const reference.
bool isConstReference() const
{
return _is_const_reference;
}
/// Returns the name of this type, based on the std::type_info name.
std::string name() const
{
if (_is_const_reference)
return std::string("const ") + _ti->name() + " &";
else if (_is_reference)
return std::string(_ti->name()) + " &";
else
return _ti->name();
}
private:
const std::type_info *_ti;
bool _is_reference;
bool _is_const_reference;
};
}
/// extended_typeid works like typeid, but returns an ExtendedTypeInfo. This
/// version operates on expressions.
template <typename T>
osgIntrospection::ExtendedTypeInfo
extended_typeid(T)
{
return osgIntrospection::ExtendedTypeInfo(typeid(T),
is_reference<T>::value,
is_const_reference<T>::value);
}
/// extended_typeid works like typeid, but returns an ExtendedTypeInfo. This
/// version operates on types, which must be specified as a template parameter.
template <typename T>
osgIntrospection::ExtendedTypeInfo
extended_typeid()
{
return osgIntrospection::ExtendedTypeInfo(typeid(T),
is_reference<T>::value,
is_const_reference<T>::value);
}
#endif

View File

@ -1,454 +0,0 @@
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield
*
* This library is open source and may be redistributed and/or modified under
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
* (at your option) any later version. The full license is in LICENSE file
* included with this distribution, and on the openscenegraph.org website.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* OpenSceneGraph Public License for more details.
*/
//osgIntrospection - Copyright (C) 2005 Marco Jez
#ifndef OSGINTROSPECTION_INSTANCECREATOR_
#define OSGINTROSPECTION_INSTANCECREATOR_
#include <osgIntrospection/Value>
#include <osgIntrospection/variant_cast>
namespace osgIntrospection
{
/// The ObjectInstanceCreator struct template is a collection of
/// static methods that provide the means for creating instances
/// of object types dynamically. Such methods are usually called
/// from within TypedConstructorInfo{n}::createInstance().
template<typename T>
struct ObjectInstanceCreator
{
template<typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9, typename P10, typename P11, typename P12, typename P13, typename P14, typename P15>
static Value create(Value& a0, Value& a1, Value& a2, Value& a3, Value& a4, Value& a5, Value& a6, Value& a7, Value& a8, Value& a9, Value& a10, Value& a11, Value& a12, Value& a13, Value& a14, Value& a15)
{
return new T(variant_cast<P0>(a0), variant_cast<P1>(a1), variant_cast<P2>(a2), variant_cast<P3>(a3), variant_cast<P4>(a4), variant_cast<P5>(a5), variant_cast<P6>(a6), variant_cast<P7>(a7), variant_cast<P8>(a8), variant_cast<P9>(a9), variant_cast<P10>(a10), variant_cast<P11>(a11), variant_cast<P12>(a12), variant_cast<P13>(a13), variant_cast<P14>(a14), variant_cast<P15>(a15));
}
template<typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9, typename P10, typename P11, typename P12, typename P13, typename P14>
static Value create(Value& a0, Value& a1, Value& a2, Value& a3, Value& a4, Value& a5, Value& a6, Value& a7, Value& a8, Value& a9, Value& a10, Value& a11, Value& a12, Value& a13, Value& a14)
{
return new T(variant_cast<P0>(a0), variant_cast<P1>(a1), variant_cast<P2>(a2), variant_cast<P3>(a3), variant_cast<P4>(a4), variant_cast<P5>(a5), variant_cast<P6>(a6), variant_cast<P7>(a7), variant_cast<P8>(a8), variant_cast<P9>(a9), variant_cast<P10>(a10), variant_cast<P11>(a11), variant_cast<P12>(a12), variant_cast<P13>(a13), variant_cast<P14>(a14));
}
template<typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9, typename P10, typename P11, typename P12, typename P13>
static Value create(Value& a0, Value& a1, Value& a2, Value& a3, Value& a4, Value& a5, Value& a6, Value& a7, Value& a8, Value& a9, Value& a10, Value& a11, Value& a12, Value& a13)
{
return new T(variant_cast<P0>(a0), variant_cast<P1>(a1), variant_cast<P2>(a2), variant_cast<P3>(a3), variant_cast<P4>(a4), variant_cast<P5>(a5), variant_cast<P6>(a6), variant_cast<P7>(a7), variant_cast<P8>(a8), variant_cast<P9>(a9), variant_cast<P10>(a10), variant_cast<P11>(a11), variant_cast<P12>(a12), variant_cast<P13>(a13));
}
template<typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9, typename P10, typename P11, typename P12>
static Value create(Value& a0, Value& a1, Value& a2, Value& a3, Value& a4, Value& a5, Value& a6, Value& a7, Value& a8, Value& a9, Value& a10, Value& a11, Value& a12)
{
return new T(variant_cast<P0>(a0), variant_cast<P1>(a1), variant_cast<P2>(a2), variant_cast<P3>(a3), variant_cast<P4>(a4), variant_cast<P5>(a5), variant_cast<P6>(a6), variant_cast<P7>(a7), variant_cast<P8>(a8), variant_cast<P9>(a9), variant_cast<P10>(a10), variant_cast<P11>(a11), variant_cast<P12>(a12));
}
template<typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9, typename P10, typename P11>
static Value create(Value& a0, Value& a1, Value& a2, Value& a3, Value& a4, Value& a5, Value& a6, Value& a7, Value& a8, Value& a9, Value& a10, Value& a11)
{
return new T(variant_cast<P0>(a0), variant_cast<P1>(a1), variant_cast<P2>(a2), variant_cast<P3>(a3), variant_cast<P4>(a4), variant_cast<P5>(a5), variant_cast<P6>(a6), variant_cast<P7>(a7), variant_cast<P8>(a8), variant_cast<P9>(a9), variant_cast<P10>(a10), variant_cast<P11>(a11));
}
template<typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9, typename P10>
static Value create(Value& a0, Value& a1, Value& a2, Value& a3, Value& a4, Value& a5, Value& a6, Value& a7, Value& a8, Value& a9, Value& a10)
{
return new T(variant_cast<P0>(a0), variant_cast<P1>(a1), variant_cast<P2>(a2), variant_cast<P3>(a3), variant_cast<P4>(a4), variant_cast<P5>(a5), variant_cast<P6>(a6), variant_cast<P7>(a7), variant_cast<P8>(a8), variant_cast<P9>(a9), variant_cast<P10>(a10));
}
template<typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9>
static Value create(Value& a0, Value& a1, Value& a2, Value& a3, Value& a4, Value& a5, Value& a6, Value& a7, Value& a8, Value& a9)
{
return new T(variant_cast<P0>(a0), variant_cast<P1>(a1), variant_cast<P2>(a2), variant_cast<P3>(a3), variant_cast<P4>(a4), variant_cast<P5>(a5), variant_cast<P6>(a6), variant_cast<P7>(a7), variant_cast<P8>(a8), variant_cast<P9>(a9));
}
template<typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8>
static Value create(Value& a0, Value& a1, Value& a2, Value& a3, Value& a4, Value& a5, Value& a6, Value& a7, Value& a8)
{
return new T(variant_cast<P0>(a0), variant_cast<P1>(a1), variant_cast<P2>(a2), variant_cast<P3>(a3), variant_cast<P4>(a4), variant_cast<P5>(a5), variant_cast<P6>(a6), variant_cast<P7>(a7), variant_cast<P8>(a8));
}
template<typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7>
static Value create(Value& a0, Value& a1, Value& a2, Value& a3, Value& a4, Value& a5, Value& a6, Value& a7)
{
return new T(variant_cast<P0>(a0), variant_cast<P1>(a1), variant_cast<P2>(a2), variant_cast<P3>(a3), variant_cast<P4>(a4), variant_cast<P5>(a5), variant_cast<P6>(a6), variant_cast<P7>(a7));
}
template<typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6>
static Value create(Value& a0, Value& a1, Value& a2, Value& a3, Value& a4, Value& a5, Value& a6)
{
return new T(variant_cast<P0>(a0), variant_cast<P1>(a1), variant_cast<P2>(a2), variant_cast<P3>(a3), variant_cast<P4>(a4), variant_cast<P5>(a5), variant_cast<P6>(a6));
}
template<typename P0, typename P1, typename P2, typename P3, typename P4, typename P5>
static Value create(Value& a0, Value& a1, Value& a2, Value& a3, Value& a4, Value& a5)
{
return new T(variant_cast<P0>(a0), variant_cast<P1>(a1), variant_cast<P2>(a2), variant_cast<P3>(a3), variant_cast<P4>(a4), variant_cast<P5>(a5));
}
template<typename P0, typename P1, typename P2, typename P3, typename P4>
static Value create(Value& a0, Value& a1, Value& a2, Value& a3, Value& a4)
{
return new T(variant_cast<P0>(a0), variant_cast<P1>(a1), variant_cast<P2>(a2), variant_cast<P3>(a3), variant_cast<P4>(a4));
}
template<typename P0, typename P1, typename P2, typename P3>
static Value create(Value& a0, Value& a1, Value& a2, Value& a3)
{
return new T(variant_cast<P0>(a0), variant_cast<P1>(a1), variant_cast<P2>(a2), variant_cast<P3>(a3));
}
template<typename P0, typename P1, typename P2>
static Value create(Value& a0, Value& a1, Value& a2)
{
return new T(variant_cast<P0>(a0), variant_cast<P1>(a1), variant_cast<P2>(a2));
}
template<typename P0, typename P1>
static Value create(Value& a0, Value& a1)
{
return new T(variant_cast<P0>(a0), variant_cast<P1>(a1));
}
template<typename P0>
static Value create(Value& a0)
{
return new T(variant_cast<P0>(a0));
}
static Value create()
{
return new T();
}
};
template<typename T>
struct ValueInstanceCreator
{
template<typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9, typename P10, typename P11, typename P12, typename P13, typename P14, typename P15>
static Value create(Value& a0, Value& a1, Value& a2, Value& a3, Value& a4, Value& a5, Value& a6, Value& a7, Value& a8, Value& a9, Value& a10, Value& a11, Value& a12, Value& a13, Value& a14, Value& a15)
{
return T(variant_cast<P0>(a0), variant_cast<P1>(a1), variant_cast<P2>(a2), variant_cast<P3>(a3), variant_cast<P4>(a4), variant_cast<P5>(a5), variant_cast<P6>(a6), variant_cast<P7>(a7), variant_cast<P8>(a8), variant_cast<P9>(a9), variant_cast<P10>(a10), variant_cast<P11>(a11), variant_cast<P12>(a12), variant_cast<P13>(a13), variant_cast<P14>(a14), variant_cast<P15>(a15));
}
template<typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9, typename P10, typename P11, typename P12, typename P13, typename P14>
static Value create(Value& a0, Value& a1, Value& a2, Value& a3, Value& a4, Value& a5, Value& a6, Value& a7, Value& a8, Value& a9, Value& a10, Value& a11, Value& a12, Value& a13, Value& a14)
{
return T(variant_cast<P0>(a0), variant_cast<P1>(a1), variant_cast<P2>(a2), variant_cast<P3>(a3), variant_cast<P4>(a4), variant_cast<P5>(a5), variant_cast<P6>(a6), variant_cast<P7>(a7), variant_cast<P8>(a8), variant_cast<P9>(a9), variant_cast<P10>(a10), variant_cast<P11>(a11), variant_cast<P12>(a12), variant_cast<P13>(a13), variant_cast<P14>(a14));
}
template<typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9, typename P10, typename P11, typename P12, typename P13>
static Value create(Value& a0, Value& a1, Value& a2, Value& a3, Value& a4, Value& a5, Value& a6, Value& a7, Value& a8, Value& a9, Value& a10, Value& a11, Value& a12, Value& a13)
{
return T(variant_cast<P0>(a0), variant_cast<P1>(a1), variant_cast<P2>(a2), variant_cast<P3>(a3), variant_cast<P4>(a4), variant_cast<P5>(a5), variant_cast<P6>(a6), variant_cast<P7>(a7), variant_cast<P8>(a8), variant_cast<P9>(a9), variant_cast<P10>(a10), variant_cast<P11>(a11), variant_cast<P12>(a12), variant_cast<P13>(a13));
}
template<typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9, typename P10, typename P11, typename P12>
static Value create(Value& a0, Value& a1, Value& a2, Value& a3, Value& a4, Value& a5, Value& a6, Value& a7, Value& a8, Value& a9, Value& a10, Value& a11, Value& a12)
{
return T(variant_cast<P0>(a0), variant_cast<P1>(a1), variant_cast<P2>(a2), variant_cast<P3>(a3), variant_cast<P4>(a4), variant_cast<P5>(a5), variant_cast<P6>(a6), variant_cast<P7>(a7), variant_cast<P8>(a8), variant_cast<P9>(a9), variant_cast<P10>(a10), variant_cast<P11>(a11), variant_cast<P12>(a12));
}
template<typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9, typename P10, typename P11>
static Value create(Value& a0, Value& a1, Value& a2, Value& a3, Value& a4, Value& a5, Value& a6, Value& a7, Value& a8, Value& a9, Value& a10, Value& a11)
{
return T(variant_cast<P0>(a0), variant_cast<P1>(a1), variant_cast<P2>(a2), variant_cast<P3>(a3), variant_cast<P4>(a4), variant_cast<P5>(a5), variant_cast<P6>(a6), variant_cast<P7>(a7), variant_cast<P8>(a8), variant_cast<P9>(a9), variant_cast<P10>(a10), variant_cast<P11>(a11));
}
template<typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9, typename P10>
static Value create(Value& a0, Value& a1, Value& a2, Value& a3, Value& a4, Value& a5, Value& a6, Value& a7, Value& a8, Value& a9, Value& a10)
{
return T(variant_cast<P0>(a0), variant_cast<P1>(a1), variant_cast<P2>(a2), variant_cast<P3>(a3), variant_cast<P4>(a4), variant_cast<P5>(a5), variant_cast<P6>(a6), variant_cast<P7>(a7), variant_cast<P8>(a8), variant_cast<P9>(a9), variant_cast<P10>(a10));
}
template<typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9>
static Value create(Value& a0, Value& a1, Value& a2, Value& a3, Value& a4, Value& a5, Value& a6, Value& a7, Value& a8, Value& a9)
{
return T(variant_cast<P0>(a0), variant_cast<P1>(a1), variant_cast<P2>(a2), variant_cast<P3>(a3), variant_cast<P4>(a4), variant_cast<P5>(a5), variant_cast<P6>(a6), variant_cast<P7>(a7), variant_cast<P8>(a8), variant_cast<P9>(a9));
}
template<typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8>
static Value create(Value& a0, Value& a1, Value& a2, Value& a3, Value& a4, Value& a5, Value& a6, Value& a7, Value& a8)
{
return T(variant_cast<P0>(a0), variant_cast<P1>(a1), variant_cast<P2>(a2), variant_cast<P3>(a3), variant_cast<P4>(a4), variant_cast<P5>(a5), variant_cast<P6>(a6), variant_cast<P7>(a7), variant_cast<P8>(a8));
}
template<typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7>
static Value create(Value& a0, Value& a1, Value& a2, Value& a3, Value& a4, Value& a5, Value& a6, Value& a7)
{
return T(variant_cast<P0>(a0), variant_cast<P1>(a1), variant_cast<P2>(a2), variant_cast<P3>(a3), variant_cast<P4>(a4), variant_cast<P5>(a5), variant_cast<P6>(a6), variant_cast<P7>(a7));
}
template<typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6>
static Value create(Value& a0, Value& a1, Value& a2, Value& a3, Value& a4, Value& a5, Value& a6)
{
return T(variant_cast<P0>(a0), variant_cast<P1>(a1), variant_cast<P2>(a2), variant_cast<P3>(a3), variant_cast<P4>(a4), variant_cast<P5>(a5), variant_cast<P6>(a6));
}
template<typename P0, typename P1, typename P2, typename P3, typename P4, typename P5>
static Value create(Value& a0, Value& a1, Value& a2, Value& a3, Value& a4, Value& a5)
{
return T(variant_cast<P0>(a0), variant_cast<P1>(a1), variant_cast<P2>(a2), variant_cast<P3>(a3), variant_cast<P4>(a4), variant_cast<P5>(a5));
}
template<typename P0, typename P1, typename P2, typename P3, typename P4>
static Value create(Value& a0, Value& a1, Value& a2, Value& a3, Value& a4)
{
return T(variant_cast<P0>(a0), variant_cast<P1>(a1), variant_cast<P2>(a2), variant_cast<P3>(a3), variant_cast<P4>(a4));
}
template<typename P0, typename P1, typename P2, typename P3>
static Value create(Value& a0, Value& a1, Value& a2, Value& a3)
{
return T(variant_cast<P0>(a0), variant_cast<P1>(a1), variant_cast<P2>(a2), variant_cast<P3>(a3));
}
template<typename P0, typename P1, typename P2>
static Value create(Value& a0, Value& a1, Value& a2)
{
return T(variant_cast<P0>(a0), variant_cast<P1>(a1), variant_cast<P2>(a2));
}
template<typename P0, typename P1>
static Value create(Value& a0, Value& a1)
{
return T(variant_cast<P0>(a0), variant_cast<P1>(a1));
}
template<typename P0>
static Value create(Value& a0)
{
return T(variant_cast<P0>(a0));
}
static Value create()
{
return T();
}
};
template<typename T>
struct DummyInstanceCreator
{
template<typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9, typename P10, typename P11, typename P12, typename P13, typename P14, typename P15>
static Value create(Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& )
{
return Value();
}
template<typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9, typename P10, typename P11, typename P12, typename P13, typename P14>
static Value create(Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& )
{
return Value();
}
template<typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9, typename P10, typename P11, typename P12, typename P13>
static Value create(Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& )
{
return Value();
}
template<typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9, typename P10, typename P11, typename P12>
static Value create(Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& )
{
return Value();
}
template<typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9, typename P10, typename P11>
static Value create(Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& )
{
return Value();
}
template<typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9, typename P10>
static Value create(Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& )
{
return Value();
}
template<typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9>
static Value create(Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& )
{
return Value();
}
template<typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8>
static Value create(Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& )
{
return Value();
}
template<typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7>
static Value create(Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& )
{
return Value();
}
template<typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6>
static Value create(Value& , Value& , Value& , Value& , Value& , Value& , Value& )
{
return Value();
}
template<typename P0, typename P1, typename P2, typename P3, typename P4, typename P5>
static Value create(Value& , Value& , Value& , Value& , Value& , Value& )
{
return Value();
}
template<typename P0, typename P1, typename P2, typename P3, typename P4>
static Value create(Value& , Value& , Value& , Value& , Value& )
{
return Value();
}
template<typename P0, typename P1, typename P2, typename P3>
static Value create(Value& , Value& , Value& , Value& )
{
return Value();
}
template<typename P0, typename P1, typename P2>
static Value create(Value& , Value& , Value& )
{
return Value();
}
template<typename P0, typename P1>
static Value create(Value& , Value& )
{
return Value();
}
template<typename P0>
static Value create(Value& )
{
return Value();
}
static Value create()
{
return Value();
}
};
template<typename T>
struct ProtectedConstructorInstanceCreator
{
template<typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9, typename P10, typename P11, typename P12, typename P13, typename P14, typename P15>
static Value create(Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& )
{
throw ProtectedConstructorInvocationException();
}
template<typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9, typename P10, typename P11, typename P12, typename P13, typename P14>
static Value create(Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& )
{
throw ProtectedConstructorInvocationException();
}
template<typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9, typename P10, typename P11, typename P12, typename P13>
static Value create(Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& )
{
throw ProtectedConstructorInvocationException();
}
template<typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9, typename P10, typename P11, typename P12>
static Value create(Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& )
{
throw ProtectedConstructorInvocationException();
}
template<typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9, typename P10, typename P11>
static Value create(Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& )
{
throw ProtectedConstructorInvocationException();
}
template<typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9, typename P10>
static Value create(Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& )
{
throw ProtectedConstructorInvocationException();
}
template<typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9>
static Value create(Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& )
{
throw ProtectedConstructorInvocationException();
}
template<typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8>
static Value create(Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& )
{
throw ProtectedConstructorInvocationException();
}
template<typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7>
static Value create(Value& , Value& , Value& , Value& , Value& , Value& , Value& , Value& )
{
throw ProtectedConstructorInvocationException();
}
template<typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6>
static Value create(Value& , Value& , Value& , Value& , Value& , Value& , Value& )
{
throw ProtectedConstructorInvocationException();
}
template<typename P0, typename P1, typename P2, typename P3, typename P4, typename P5>
static Value create(Value& , Value& , Value& , Value& , Value& , Value& )
{
throw ProtectedConstructorInvocationException();
}
template<typename P0, typename P1, typename P2, typename P3, typename P4>
static Value create(Value& , Value& , Value& , Value& , Value& )
{
throw ProtectedConstructorInvocationException();
}
template<typename P0, typename P1, typename P2, typename P3>
static Value create(Value& , Value& , Value& , Value& )
{
throw ProtectedConstructorInvocationException();
}
template<typename P0, typename P1, typename P2>
static Value create(Value& , Value& , Value& )
{
throw ProtectedConstructorInvocationException();
}
template<typename P0, typename P1>
static Value create(Value& , Value& )
{
throw ProtectedConstructorInvocationException();
}
template<typename P0>
static Value create(Value& )
{
throw ProtectedConstructorInvocationException();
}
static Value create()
{
throw ProtectedConstructorInvocationException();
}
};
}
#endif

View File

@ -1,249 +0,0 @@
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield
*
* This library is open source and may be redistributed and/or modified under
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
* (at your option) any later version. The full license is in LICENSE file
* included with this distribution, and on the openscenegraph.org website.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* OpenSceneGraph Public License for more details.
*/
//osgIntrospection - Copyright (C) 2005 Marco Jez
#ifndef OSGINTROSPECTION_METHODINFO_
#define OSGINTROSPECTION_METHODINFO_
#include <osgIntrospection/Export>
#include <osgIntrospection/CustomAttributeProvider>
#include <osgIntrospection/Value>
#include <osgIntrospection/Exceptions>
#include <osgIntrospection/ParameterInfo>
#include <cstdarg>
#include <string>
#include <vector>
namespace osgIntrospection
{
class Type;
/// Class MethodInfo stores information about a class method. It is an
/// abstract class, so it must be derived to provide the actual
/// implementation of isConst() and invoke(). Instances of this class
/// can't be modified after their creation.
class OSGINTROSPECTION_EXPORT MethodInfo: public CustomAttributeProvider
{
public:
/// Possible virtual states of the function.
enum VirtualState
{
NON_VIRTUAL = 0x0,
VIRTUAL = 0x1,
PURE_VIRTUAL = 0x3
};
/// Direct initialization constructor.
inline MethodInfo(const std::string& qname, const Type& declarationType, const Type& rtype, const ParameterInfoList& plist, VirtualState virtualState, std::string briefHelp = std::string(), std::string detailedHelp = std::string());
/// Direct initialization constructor for static functions (no virtual specifier).
inline MethodInfo(const std::string& qname, const Type& declarationType, const Type& rtype, const ParameterInfoList& plist, std::string briefHelp = std::string(), std::string detailedHelp = std::string());
/// Destructor
inline ~MethodInfo();
/// Returns the Type object associated to the type that
/// declares the reflected method.
inline virtual const Type& getDeclaringType() const;
/// Returns the name of the reflected method.
inline virtual const std::string& getName() const;
/// Returns the return type of the reflected method.
inline const Type& getReturnType() const;
/// Returns a list of objects that describe the reflected
/// method's parameters.
inline const ParameterInfoList& getParameters() const;
/// Returns the brief help of the reflected method.
inline virtual const std::string& getBriefHelp() const;
/// Returns the detailed help of the reflected method.
inline virtual const std::string& getDetailedHelp() const;
/// Returns whether the reflected method is const or not.
virtual bool isConst() const = 0;
/// Returns whether the reflected method is static or not.
virtual bool isStatic() const = 0;
/// Returns whether the reflected method is virtual or not.
virtual bool isVirtual() const;
/// Returns whether the reflected method is pure virtual or not.
virtual bool isPureVirtual() const;
/// Returns whether this method would override the given
/// method.
bool overrides(const MethodInfo* other) const;
/// Invokes the reflected method dynamically on the given const
/// instance, passing it the arguments as a list of Value objects.
inline virtual Value invoke(const Value& instance, ValueList& args) const;
/// Invokes the reflected method dynamically on the given instance,
/// passing it the arguments as a list of Value objects.
inline virtual Value invoke(Value& instance, ValueList& args) const;
/// Invokes the reflected static method dynamically passing it the
/// arguments as a list of Value objects.
inline virtual Value invoke(ValueList& args) const;
/// Invokes the reflected method dynamically on the given const
/// instance, without arguments.
inline Value invoke(const Value& instance) const;
/// Invokes the reflected method dynamically on the given
/// instance, without arguments.
inline Value invoke(Value& instance) const;
/// Invokes the reflected static method without arguments.
inline Value invoke() const;
private:
MethodInfo& operator = (const MethodInfo&) { return *this; }
inline std::string strip_namespace(const std::string& s) const;
virtual void getInheritedProviders(CustomAttributeProviderList& providers) const;
std::string _name;
const Type& _declarationType;
const Type& _rtype;
ParameterInfoList _params;
VirtualState _virtualState;
std::string _briefHelp;
std::string _detailedHelp;
};
// INLINE METHODS
inline MethodInfo::MethodInfo(const std::string& qname, const Type& declarationType, const Type& rtype, const ParameterInfoList& plist, VirtualState virtualState, std::string briefHelp, std::string detailedHelp)
: CustomAttributeProvider(),
_declarationType(declarationType),
_rtype(rtype),
_params(plist),
_virtualState(virtualState),
_briefHelp(briefHelp),
_detailedHelp(detailedHelp)
{
_name = strip_namespace(qname);
}
inline MethodInfo::MethodInfo(const std::string& qname, const Type& declarationType, const Type& rtype, const ParameterInfoList& plist, std::string briefHelp, std::string detailedHelp)
: CustomAttributeProvider(),
_declarationType(declarationType),
_rtype(rtype),
_params(plist),
_virtualState(NON_VIRTUAL),
_briefHelp(briefHelp),
_detailedHelp(detailedHelp)
{
_name = strip_namespace(qname);
}
inline std::string MethodInfo::strip_namespace(const std::string& s) const
{
std::string::size_type p = s.rfind("::");
if (p != std::string::npos)
return s.substr(p+2);
return s;
}
inline const std::string& MethodInfo::getName() const
{
return _name;
}
inline const Type& MethodInfo::getDeclaringType() const
{
return _declarationType;
}
inline const Type& MethodInfo::getReturnType() const
{
return _rtype;
}
inline const ParameterInfoList& MethodInfo::getParameters() const
{
return _params;
}
inline const std::string& MethodInfo::getBriefHelp() const
{
return _briefHelp;
}
inline const std::string& MethodInfo::getDetailedHelp() const
{
return _detailedHelp;
}
inline bool MethodInfo::isVirtual() const
{
return (_virtualState & VIRTUAL) == VIRTUAL;
}
inline bool MethodInfo::isPureVirtual() const
{
return (_virtualState & PURE_VIRTUAL) == PURE_VIRTUAL;
}
inline Value MethodInfo::invoke(const Value& , ValueList& ) const
{
throw InvokeNotImplementedException();
}
inline Value MethodInfo::invoke(Value& , ValueList& ) const
{
throw InvokeNotImplementedException();
}
inline Value MethodInfo::invoke(ValueList& ) const
{
throw InvokeNotImplementedException();
}
inline Value MethodInfo::invoke(const Value& instance) const
{
ValueList args;
return invoke(instance, args);
}
inline Value MethodInfo::invoke(Value& instance) const
{
ValueList args;
return invoke(instance, args);
}
inline Value MethodInfo::invoke() const
{
ValueList args;
return invoke(args);
}
inline MethodInfo::~MethodInfo()
{
for (ParameterInfoList::iterator i=_params.begin(); i!=_params.end(); ++i)
delete *i;
}
}
#endif

View File

@ -1,112 +0,0 @@
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield
*
* This library is open source and may be redistributed and/or modified under
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
* (at your option) any later version. The full license is in LICENSE file
* included with this distribution, and on the openscenegraph.org website.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* OpenSceneGraph Public License for more details.
*/
//osgIntrospection - Copyright (C) 2005 Marco Jez
#ifndef OSGINTROSPECTION_PARAMETERINFO_
#define OSGINTROSPECTION_PARAMETERINFO_
#include <osgIntrospection/Type>
#include <osgIntrospection/Value>
#include <string>
#include <vector>
namespace osgIntrospection
{
/// This class stores information about a function parameter. A parameter
/// is defined by its name, its type, its position within the parameter
/// list, and zero or more attributes. Attributes describe how the
/// parameter behave, for example whether it is an input or an output
/// parameter.
class ParameterInfo
{
public:
enum ParameterAttributes
{
NONE = 0,
IN = 1, // parameter is used to pass data to the function
OUT = 2, // parameter is used to return data from the function
INOUT = IN | OUT
};
/// Direct initialization constructor.
inline ParameterInfo(const std::string& name, const Type& type, int attribs, const Value& defval = Value());
/// Returns the parameter's name.
inline const std::string& getName() const;
/// Returns the parameter's type.
inline const Type& getParameterType() const;
/// Returns the parameter's attributes.
inline int getAttributes() const;
/// Returns the default value.
inline const Value& getDefaultValue() const;
/// Returns whether the parameter has the IN attribute.
inline bool isIn() const { return (attribs_ & IN) != 0; }
/// Returns whether the parameter has the OUT attribute.
inline bool isOut() const { return (attribs_ & OUT) != 0; }
/// Returns whether the parameter has both the IN and the
/// OUT attribute.
inline bool isInOut() const { return isIn() && isOut(); }
private:
ParameterInfo& operator = (const ParameterInfo&) { return *this; }
std::string _name;
const Type& _type;
int attribs_;
Value default_;
};
// INLINE METHODS
inline ParameterInfo::ParameterInfo(const std::string& name, const Type& type, int attribs, const Value& defval)
: _name(name),
_type(type),
attribs_(attribs),
default_(defval)
{
}
inline const std::string& ParameterInfo::getName() const
{
return _name;
}
inline const Type& ParameterInfo::getParameterType() const
{
return _type;
}
inline int ParameterInfo::getAttributes() const
{
return attribs_;
}
inline const Value& ParameterInfo::getDefaultValue() const
{
return default_;
}
}
#endif

View File

@ -1,384 +0,0 @@
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield
*
* This library is open source and may be redistributed and/or modified under
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
* (at your option) any later version. The full license is in LICENSE file
* included with this distribution, and on the openscenegraph.org website.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* OpenSceneGraph Public License for more details.
*/
//osgIntrospection - Copyright (C) 2005 Marco Jez
#ifndef OSGINTROSPECTION_PROPERTYINFO_
#define OSGINTROSPECTION_PROPERTYINFO_
#include <osgIntrospection/Export>
#include <osgIntrospection/Type>
#include <osgIntrospection/MethodInfo>
#include <osgIntrospection/Attributes>
#include <string>
#include <typeinfo>
#include <iosfwd>
#include <vector>
namespace osgIntrospection
{
/// This class keeps information about a class' property. A property is
/// defined by a name and a set of methods that store and retrieve
/// values. When the user wants to "get" the value of a property, the
/// getter method will be invoked and its value returned. When the user
/// wants to "set" the value of a property, the setter method will be
/// called. There are three kinds of property: simple (get/set), indexed
/// (get[i1, i2, ...]/set[i1, i2, ...]), and array (count/add/get[i]/
/// set[i]).
/// Objects of class PropertyInfo can't be modified once they have been
/// created, but they can be queried without restrictions. You can either
/// retrieve the accessor methods and invoke them manually, or you can
/// call getValue() / setValue() etc. methods to perform direct operations
/// on the property, given an instance of the declaring type to work on.
/// The latter technique is preferred because it checks for custom
/// attributes associated to the PropertyInfo object and passes control
/// to them when needed.
///
class OSGINTROSPECTION_EXPORT PropertyInfo: public CustomAttributeProvider
{
public:
/// Direct initialization constructor for simple properties.
/// You must pass the Type object associated to the class that
/// declares the property, the Type object that describes the
/// type of the property's value, the property name and the
/// getter/setter methods. Either the setter or the getter can
/// be null, meaning a restricted access. If both are null, the
/// user is expected to add a custom accessor attribute to this
/// PropertyInfo object.
PropertyInfo(const Type& declaratiionType, const Type& ptype, const std::string& name, const MethodInfo* getm, const MethodInfo* setm, std::string briefHelp = std::string(), std::string detailedHelp = std::string())
: CustomAttributeProvider(),
_declarationType(declaratiionType),
_ptype(ptype),
_name(name),
_getm(getm),
_setm(setm),
_numm(0),
_addm(0),
_insm(0),
_remm(0),
_is_array(false),
_briefHelp(briefHelp),
_detailedHelp(detailedHelp)
{
}
/// Direct initialization constructor for "array" properties.
/// You must pass the Type object associated to the type that
/// declares the property, the Type object that describes the
/// type of the property's value, the property name and the
/// getter/setter/counter/adder/insert/remover methods.
PropertyInfo(const Type& declaratiionType, const Type& ptype, const std::string& name, const MethodInfo* getm, const MethodInfo* setm, const MethodInfo* numm, const MethodInfo* addm, const MethodInfo* insm, const MethodInfo* remm, std::string briefHelp = std::string(), std::string detailedHelp = std::string())
: CustomAttributeProvider(),
_declarationType(declaratiionType),
_ptype(ptype),
_name(name),
_getm(getm),
_setm(setm),
_numm(numm),
_addm(addm),
_insm(insm),
_remm(remm),
_is_array(true),
_briefHelp(briefHelp),
_detailedHelp(detailedHelp)
{
}
/// Direct initialization constructor for indexed properties.
/// You must pass the Type object associated to the class that
/// declares the property, the Type object that describes the
/// type of the property's value, the property name and the
/// getter/setter methods. Either the setter or the getter can
/// be null, meaning a restricted access. If both are null, the
/// user is expected to add a custom accessor attribute to this
/// PropertyInfo object.
/// If the getter method has parameters, the property is considered
/// to be indexed. The same is true if the getter is null and the
/// setter has more than one parameter.
PropertyInfo(const Type& declaratiionType, const Type& ptype, const std::string& name, const MethodInfo* getm, const MethodInfo* setm, const MethodInfo* remm, std::string briefHelp = std::string(), std::string detailedHelp = std::string())
: CustomAttributeProvider(),
_declarationType(declaratiionType),
_ptype(ptype),
_name(name),
_getm(getm),
_setm(setm),
_numm(0),
_addm(0),
_insm(0),
_remm(remm),
_is_array(false),
_briefHelp(briefHelp),
_detailedHelp(detailedHelp)
{
if (_getm)
{
for (ParameterInfoList::size_type i=0; i<_getm->getParameters().size(); ++i)
_indices.push_back(_getm->getParameters().at(i));
}
else
{
if (_setm)
{
for (ParameterInfoList::size_type i=0; i<(_setm->getParameters().size()-1); ++i)
_indices.push_back(_setm->getParameters().at(i));
}
}
}
/// Returns the number of indices
inline int getNumIndices() const
{
return static_cast<int>(getIndexParameters().size());
}
/// Returns the name of the property being described.
inline virtual const std::string& getName() const
{
return _name;
}
/// Returns the brief help of the property being described.
inline virtual const std::string& getBriefHelp() const
{
return _briefHelp;
}
/// Returns the detailed help of the property being described.
inline virtual const std::string& getDetailedHelp() const
{
return _detailedHelp;
}
/// Returns the type that declares the property.
inline virtual const Type& getDeclaringType() const
{
return _declarationType;
}
/// Returns the type of the reflected property.
inline const Type& getPropertyType() const
{
const PropertyTypeAttribute *pta = getAttribute<PropertyTypeAttribute>(false);
if (pta) return pta->getPropertyType();
return _ptype;
}
/// Returns the getter method.
inline const MethodInfo* getGetMethod() const
{
return _getm;
}
/// Returns the setter method.
inline const MethodInfo* getSetMethod() const
{
return _setm;
}
/// Returns the counter method.
inline const MethodInfo* getCountMethod() const
{
return _numm;
}
/// Returns the adder method.
inline const MethodInfo* getAddMethod() const
{
return _addm;
}
/// Returns the insert method.
inline const MethodInfo* getInsertMethod() const
{
return _insm;
}
/// Returns the remover method.
inline const MethodInfo* getRemoveMethod() const
{
return _remm;
}
/// Returns whether the property's value can be retrieved.
inline bool canGet() const
{
return (_getm != 0) || isDefined<CustomPropertyGetAttribute>(false);
}
/// Returns whether the property's value can be set.
inline bool canSet() const
{
return _setm != 0 || isDefined<CustomPropertySetAttribute>(false);
}
/// Returns whether the property's array of values can be counted.
inline bool canCount() const
{
return _numm != 0 || isDefined<CustomPropertyCountAttribute>(false);
}
/// Returns whether items can be added to the array property.
inline bool canAdd() const
{
return _addm != 0 || isDefined<CustomPropertyAddAttribute>(false);
}
/// Returns whether items can be insert to the array property.
inline bool canInsert() const
{
return _insm != 0 || isDefined<CustomPropertyInsertAttribute>(false);
}
/// Returns whether items can be removed from the array property.
inline bool canRemove() const
{
return _remm != 0 || isDefined<CustomPropertyRemoveAttribute>(false);
}
/// Returns whether the property is simple.
inline bool isSimple() const
{
return !isIndexed() && !isArray();
}
/// Returns whether the property is indexed.
inline bool isIndexed() const
{
return getNumIndices() > 0;
}
/// Returns whether the property is an array.
inline bool isArray() const
{
return _is_array;
}
/// Returns the list of index parameters.
/// If the property is not indexed, this list is empty. If neither
/// the get method nor the set method are defined, this list is
/// empty unless a custom indexing attribute is defined.
const ParameterInfoList& getIndexParameters() const;
/// Returns a list of valid values that can be used for the specified
/// index. If a custom indexing attribute is defined for this property,
/// then it will be queried for the index set, otherwise the index
/// will be treated as an enumeration and the set of enumeration
/// values will be returned.
void getIndexValueSet(int whichindex, const Value& instance, ValueList& values) const;
/// Invokes the getter method on the given const instance and
/// returns the property's value. If a custom getter attribute
/// is defined, it will be invoked instead.
Value getValue(const Value& instance) const;
/// Invokes the getter method on the given instance and
/// returns the property's value. If a custom getter attribute
/// is defined, it will be invoked instead.
Value getValue(Value& instance) const;
/// Invokes the setter method on the given instance and
/// sets the property's value. If a custom setter attribute
/// is defined, it will be invoked instead.
void setValue(Value& instance, const Value& value) const;
/// Invokes the getter method on the given const instance passing a
/// list of indices and returns the indexed property's value. If a
/// custom getter attribute is defined, it will be invoked instead.
Value getIndexedValue(Value& instance, ValueList& indices) const;
/// Invokes the getter method on the given instance passing a list
/// of indices and returns the indexed property's value. If a custom
/// getter attribute is defined, it will be invoked instead.
Value getIndexedValue(const Value& instance, ValueList& indices) const;
/// Invokes the setter method on the given instance passing a list
/// of indices and sets the indexed property's value. If a custom
/// setter attribute is defined, it will be invoked instead.
void setIndexedValue(Value& instance, ValueList& indices, const Value& value) const;
/// Invokes the remover method on the given instance and removes
/// an item from the indexed property. If a custom remover attribute
/// is defined, it will be invoked instead.
void removeIndexedItem(Value& instance, ValueList& indices) const;
/// Invokes the counter method on the given instance and returns
/// the number of items of the array property. If a custom counter
/// attribute is defined, it will be invoked instead.
int getNumArrayItems(const Value& instance) const;
/// Invokes the getter method on the given const instance and returns
/// the i-th item of the array property. If a custom getter attribute
/// us defined, it will be invoked instead.
Value getArrayItem(const Value& instance, int i) const;
/// Invokes the getter method on the given instance and returns
/// the i-th item of the array property. If a custom getter attribute
/// us defined, it will be invoked instead.
Value getArrayItem(Value& instance, int i) const;
/// Invokes the setter method on the given instance and sets
/// the i-th item of the array property. If a custom setter attribute
/// is defined, it will be invoked instead.
void setArrayItem(Value& instance, int i, const Value& value) const;
/// Invokes the adder method on the given instance and adds
/// an item to the array property. If a custom adder attribute is
/// defined, it will be invoked instead.
void addArrayItem(Value& instance, const Value& value) const;
/// Invokes the insert method on the given instance and inserts
/// an item to the array property after the i-th item of the array
/// property. If a custom adder attribute is defined,
/// it will be invoked instead.
void insertArrayItem(Value& instance, int i, const Value& value) const;
/// Invokes the remover method on the given instance and removes
/// an item from the array property. If a custom remover attribute
/// is defined, it will be invoked instead.
void removeArrayItem(Value& instance, int i) const;
/// Returns the default value associated to the reflected property.
/// If no default value has been specified, this method tries to
/// create an instance of the property type and then returns its
/// value. There are some attributes that change the behavior of
/// this method, for example NoDefaultValueAttribute.
Value getDefaultValue() const;
virtual ~PropertyInfo() {};
protected:
virtual void getInheritedProviders(CustomAttributeProviderList& providers) const;
private:
PropertyInfo& operator = (const PropertyInfo&) { return *this; }
const Type& _declarationType;
const Type& _ptype;
std::string _name;
const MethodInfo* _getm;
const MethodInfo* _setm;
const MethodInfo* _numm;
const MethodInfo* _addm;
const MethodInfo* _insm;
const MethodInfo* _remm;
ParameterInfoList _indices;
bool _is_array;
std::string _briefHelp;
std::string _detailedHelp;
};
}
#endif

View File

@ -1,59 +0,0 @@
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2005 Robert Osfield
*
* This library is open source and may be redistributed and/or modified under
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
* (at your option) any later version. The full license is in LICENSE file
* included with this distribution, and on the openscenegraph.org website.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* OpenSceneGraph Public License for more details.
*/
//osgIntrospection - Copyright (C) 2006 David Callu
#ifndef OSGINTROSPECTION_PUBLICMEMBERACCESSOR_
#define OSGINTROSPECTION_PUBLICMEMBERACCESSOR_
#include <osgIntrospection/Export>
#include <osgIntrospection/Type>
#include <osgIntrospection/MethodInfo>
#include <osgIntrospection/PropertyInfo>
#include <osgIntrospection/Attributes>
#include <string>
#include <typeinfo>
#include <iosfwd>
#include <vector>
namespace osgIntrospection
{
template < typename C, typename P >
struct PublicMemberAccessor: public PropertyGetter, public PropertySetter
{
typedef P C::*MemberType;
PublicMemberAccessor(MemberType m)
: _m(m)
{}
virtual Value get(Value& instance) const
{
return getInstance<C>(instance).*_m;
}
virtual Value get(const Value& instance) const
{
return getInstance<C>(instance).*_m;
}
virtual void set(Value& instance, const Value& v) const
{
getInstance<C>(instance).*_m = variant_cast<const P& >(v);
}
P C::*_m;
};
}
#endif

View File

@ -1,276 +0,0 @@
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield
*
* This library is open source and may be redistributed and/or modified under
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
* (at your option) any later version. The full license is in LICENSE file
* included with this distribution, and on the openscenegraph.org website.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* OpenSceneGraph Public License for more details.
*/
//osgIntrospection - Copyright (C) 2005 Marco Jez
#ifndef OSGINTROSPECTION_READERWRITER_
#define OSGINTROSPECTION_READERWRITER_
#include <osgIntrospection/Value>
#include <osgIntrospection/Type>
#include <osgIntrospection/Exceptions>
#include <osgIntrospection/variant_cast>
#include <osg/Vec2>
#include <osg/Vec3>
#include <osg/Vec4>
#include <osg/ref_ptr>
#include <iostream>
#include <sstream>
namespace osgIntrospection
{
/// This is the base class for reader/writer objects. A ReaderWriter's
/// purpose is to provide the means for writing the content of a Value
/// object to a stream and for reading it back. Descendants can either
/// be specialized for just one data type or they can handle several
/// types, that's up to the implementor. A derived class is not required
/// to support all streaming operations (text write, text read, bin write
/// and bin read), it can implement just some of them, although full
/// support is strongly encouraged.
class ReaderWriter
{
public:
class Options
{
public:
Options(): fno_(false) {}
virtual ~Options() {}
bool getForceNumericOutput() const { return fno_; }
void setForceNumericOutput(bool fno) { fno_ = fno; }
private:
bool fno_;
};
/// Writes a textual representation of the value's content to a stream.
virtual std::ostream &writeTextValue(std::ostream &, const Value& v, const Options* = 0) const { throw StreamingNotSupportedException(StreamingNotSupportedException::TEXT_WRITE, v.getType().getExtendedTypeInfo()); }
/// Reads a textual representation of the value's content from a stream.
virtual std::istream &readTextValue(std::istream &, Value& v, const Options* = 0) const { throw StreamingNotSupportedException(StreamingNotSupportedException::TEXT_READ, v.getType().getExtendedTypeInfo()); }
/// Writes a textual representation of the value's content to a stream.
virtual std::wostream &writeTextValue(std::wostream & wos, const Value& v, const Options* op = 0) const { std::ostringstream os; writeTextValue(os, v, op); wos << os; return (wos);}
/// Reads a textual representation of the value's content from a stream.
virtual std::wistream &readTextValue(std::wistream& , Value& v, const Options* = 0) const { throw StreamingNotSupportedException(StreamingNotSupportedException::TEXT_READ, v.getType().getExtendedTypeInfo()); }
/// Writes a binary representation of the value's content to a stream.
virtual std::ostream &writeBinaryValue(std::ostream &, const Value& v, const Options* = 0) const { throw StreamingNotSupportedException(StreamingNotSupportedException::BINARY_WRITE, v.getType().getExtendedTypeInfo()); }
/// Reads a binary representation of the value's content from a stream.
virtual std::istream &readBinaryValue(std::istream &, Value& v, const Options* = 0) const { throw StreamingNotSupportedException(StreamingNotSupportedException::BINARY_READ, v.getType().getExtendedTypeInfo()); }
/// Virtual destructor.
virtual ~ReaderWriter() {}
};
/// This class template provides basic default streaming capabilities
/// for all types that define streaming operators (<< and >>). Most of
/// the standard types are able to be read and written this way, so the
/// StdReaderWriter template can be a convenient default for several
/// types. The binary representation is a raw copy of the memory content.
///
/// TO-DO: improve binary streaming and avoid arch dependency.
///
template<typename T>
class StdReaderWriter: public ReaderWriter
{
public:
virtual std::ostream &writeTextValue(std::ostream &os, const Value& v, const Options * = 0) const
{
return (os << variant_cast<T>(v));
}
virtual std::istream &readTextValue(std::istream &is, Value& v, const Options * = 0) const
{
if (v.isEmpty()) v = Value(T());
return (is >> variant_cast<T &>(v));
}
virtual std::ostream &writeBinaryValue(std::ostream &os, const Value& v, const Options * = 0) const
{
return os.write(reinterpret_cast<const char *>(extract_raw_data<T>(v)), sizeof(T));
}
virtual std::istream &readBinaryValue(std::istream &is, Value& v, const Options * = 0) const
{
if (v.isEmpty()) v = Value(T());
return is.read(reinterpret_cast<char *>(extract_raw_data<T>(v)), sizeof(T));
}
};
template<typename T>
class StdWReaderWriter: public ReaderWriter
{
public:
virtual std::wostream &writeTextValue(std::wostream &wos, const Value& v, const Options * = 0) const
{
return (wos << variant_cast<T>(v));
}
virtual std::wistream &readTextValue(std::wistream &wis, Value& v, const Options * = 0) const
{
if (v.isEmpty()) v = Value(T());
return (wis >> variant_cast<T &>(v));
}
virtual std::ostream &writeBinaryValue(std::ostream &os, const Value& v, const Options * = 0) const
{
return os.write(reinterpret_cast<const char *>(extract_raw_data<T>(v)), sizeof(T));
}
virtual std::istream &readBinaryValue(std::istream &is, Value& v, const Options * = 0) const
{
if (v.isEmpty()) v = Value(T());
return is.read(reinterpret_cast<char *>(extract_raw_data<T>(v)), sizeof(T));
}
};
/// This ReaderWriter can be used to read and write enumeration values.
/// The textual representation will be the enum label, if found, or the
/// numerical value. The binary representation doesn't take label names
/// into account.
template<typename T>
class EnumReaderWriter: public ReaderWriter
{
virtual std::ostream &writeTextValue(std::ostream &os, const Value& v, const Options *options = 0) const
{
int numeric = static_cast<int>(variant_cast<T>(v));
if (!options || !options->getForceNumericOutput())
{
const Type& type = v.getType();
const EnumLabelMap& elm = type.getEnumLabels();
EnumLabelMap::const_iterator i = elm.find(numeric);
if (i != elm.end())
{
os << i->second;
return os;
}
else
{
std::vector<std::string> labels;
// it could be a bitmask
for (EnumLabelMap::const_iterator i=elm.begin(); i!=elm.end(); ++i)
{
if (i->first != 0 && ((i->first & numeric) == i->first))
{
numeric ^= i->first;
labels.push_back(i->second);
}
}
// check whether all bits were discovered
if (numeric == 0)
{
for (std::vector<std::string>::const_iterator i=labels.begin(); i!=labels.end(); ++i)
{
os << *i;
if ((i+1) != labels.end()) os << " | ";
}
return os;
}
}
}
return os << numeric;
}
virtual std::istream &readTextValue(std::istream &is, Value& v, const Options * = 0) const
{
if (v.isEmpty()) v = Value(T());
int i;
if (is >> i)
{
variant_cast<T &>(v) = static_cast<T>(i);
return is;
}
is.clear();
std::string s;
if (is >> s)
{
const Type& type = v.getType();
const EnumLabelMap& elm = type.getEnumLabels();
for (EnumLabelMap::const_iterator i=elm.begin(); i!=elm.end(); ++i)
{
if (i->second.compare(s) == 0)
{
variant_cast<T &>(v) = static_cast<T>(i->first);
return is;
}
}
}
return is;
}
virtual std::ostream &writeBinaryValue(std::ostream &os, const Value& v, const Options * = 0) const
{
return os.write(reinterpret_cast<const char *>(extract_raw_data<T>(v)), sizeof(T));
}
virtual std::istream &readBinaryValue(std::istream &is, Value& v, const Options * = 0) const
{
if (v.isEmpty())
v = Value(T());
return is.read(reinterpret_cast<char *>(extract_raw_data<T>(v)), sizeof(T));
}
};
/// This is a ReaderWriter class that can be used to read and write
/// pointer values. Note: template parameter T must be a pointer!
template<typename T>
class PtrReaderWriter: public ReaderWriter
{
public:
virtual std::ostream &writeTextValue(std::ostream &os, const Value& v, const Options* = 0) const
{
return (os << (void*)variant_cast<T>(v));
}
virtual std::istream &readTextValue(std::istream &is, Value& v, const Options* = 0) const
{
void *ptr;
is >> ptr;
v = Value(T(ptr));
return is;
}
virtual std::ostream &writeBinaryValue(std::ostream &os, const Value& v, const Options* = 0) const
{
return os.write(reinterpret_cast<const char *>(extract_raw_data<T>(v)), sizeof(T));
}
virtual std::istream &readBinaryValue(std::istream &is, Value& v, const Options* = 0) const
{
T ptr;
is.read(reinterpret_cast<char *>(&ptr), sizeof(T));
v = Value(ptr);
return is;
}
};
}
#endif

View File

@ -1,116 +0,0 @@
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield
*
* This library is open source and may be redistributed and/or modified under
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
* (at your option) any later version. The full license is in LICENSE file
* included with this distribution, and on the openscenegraph.org website.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* OpenSceneGraph Public License for more details.
*/
//osgIntrospection - Copyright (C) 2005 Marco Jez
#ifndef OSGINTROSPECTION_REFLECTION_
#define OSGINTROSPECTION_REFLECTION_
#include <osgIntrospection/Export>
#include <osgIntrospection/ExtendedTypeInfo>
#include <typeinfo>
#include <map>
#include <vector>
#include <list>
/// This macro emulates the behavior of the standard typeid operator,
/// returning the Type object associated to the type of the given
/// expression.
#define typeof(type) osgIntrospection::Reflection::getType(extended_typeid< type >())
#define typeofvalue(val) osgIntrospection::Reflection::getType(osgIntrospection::ExtendedTypeInfo(typeid(val), false, false))
namespace osgIntrospection
{
class Type;
struct Converter;
typedef std::list<const Converter* > ConverterList;
/// A map of types, indexed by their associated ExtendedTypeInfo
/// structure.
typedef std::map<ExtendedTypeInfo, Type*> TypeMap;
enum CastType
{
STATIC_CAST,
DYNAMIC_CAST,
REINTERPRET_CAST,
COMPOSITE_CAST
};
/// This class provides basic reflection services such as registration
/// of new types and queries on the global type map.
class OSGINTROSPECTION_EXPORT Reflection
{
public:
/// Returns the Type object associated to the given
/// ExtendedTypeInfo structure. If the type hasn't been created
/// yet it is automatically created and added to the global type
/// map. Please note that such type will have the status of
/// "declared", you still need to give details about it through
/// a Reflector class before you can query it.
static const Type& getType(const ExtendedTypeInfo &ti);
/// Finds a Type object given its qualified name, which must
/// be identical to the qualified name returned by that Type's
/// getQualifiedName() method. If the type hasn't been created
/// yet, an exception is thrown.
static const Type& getType(const std::string& qname);
/// Returns the global map of types.
static const TypeMap& getTypes();
/// Return the Type object associated to the C++ type 'void'.
/// This is a shortcut for typeof(void), which may be slow if
/// the type map is large.
static const Type& type_void();
static const Converter* getConverter(const Type& source, const Type& dest);
static bool getConversionPath(const Type& source, const Type& dest, ConverterList& conv);
// This function should be called (at least on windows platforms using Visual Studio 7.1 or 8 as compiler) to unregister
// all the known types before exiting your program: otherwise, you will get a lot of false positive memory leaks in debug builds.
// It might also be used to dynamically reload the description of the known types (?)
static void uninitialize();
private:
template<typename C> friend class Reflector;
template<typename C> friend struct TypeNameAliasProxy;
friend struct ConverterProxy;
struct StaticData
{
TypeMap typemap;
const Type* type_void;
typedef std::map<const Type* , const Converter* > ConverterMap;
typedef std::map<const Type* , ConverterMap> ConverterMapMap;
ConverterMapMap convmap;
~StaticData();
};
static StaticData& getOrCreateStaticData();
static Type* registerType(const ExtendedTypeInfo &ti);
static Type* getOrRegisterType(const ExtendedTypeInfo &ti, bool replace_if_defined = false);
static void registerConverter(const Type& source, const Type& dest, const Converter* cvt);
private:
static bool accum_conv_path(const Type& source, const Type& dest, ConverterList& conv, std::vector<const Type* > &chain, CastType castType);
static StaticData* _static_data;
};
}
#endif

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,570 +0,0 @@
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield
*
* This library is open source and may be redistributed and/or modified under
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
* (at your option) any later version. The full license is in LICENSE file
* included with this distribution, and on the openscenegraph.org website.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* OpenSceneGraph Public License for more details.
*/
//osgIntrospection - Copyright (C) 2005 Marco Jez
#ifndef OSGINTROSPECTION_TYPE
#define OSGINTROSPECTION_TYPE
#include <osgIntrospection/Export>
#include <osgIntrospection/Exceptions>
#include <osgIntrospection/Value>
#include <osgIntrospection/CustomAttributeProvider>
#include <osgIntrospection/ExtendedTypeInfo>
#include <string>
#include <typeinfo>
#include <vector>
#include <map>
#include <algorithm>
namespace osgIntrospection
{
// forward declarations
class MethodInfo;
class PropertyInfo;
class ParameterInfo;
class ReaderWriter;
class ConstructorInfo;
struct Comparator;
// typedefs for member info lists
typedef std::vector<const MethodInfo* > MethodInfoList;
typedef std::vector<const PropertyInfo* > PropertyInfoList;
typedef std::vector<const ParameterInfo* > ParameterInfoList;
typedef std::vector<const ConstructorInfo* > ConstructorInfoList;
// typedefs for member info map
typedef std::map<const Type*, PropertyInfoList > PropertyInfoMap;
typedef std::map<const Type*, MethodInfoList > MethodInfoMap;
// typedef for enum label map
typedef std::map<int, std::string> EnumLabelMap;
// typedef for base type
typedef std::vector<const Type* > TypeList;
/// Objects of class Type are used to maintain information about
/// reflected types. They also provide a number of services, like
/// instance creation and dynamic calling of methods.
/// All details about the data type being described are available
/// at runtime, provided that the type was defined (and not just
/// declared) through a Reflector class.
/// It is not possible to modify a Type object once it has been
/// created, unless you are a class derived from Reflector (which
/// has firm friendship with this class).
class OSGINTROSPECTION_EXPORT Type: public CustomAttributeProvider
{
public:
/// Function category specifier for querying constructors and
/// methods.
enum FunctionCategory
{
PUBLIC_FUNCTIONS,
PROTECTED_FUNCTIONS
};
/// Destructor. Note that this class is not meant to be subclassed.
~Type();
/// Returns a reference to the std::type_info instance associated
/// to this Type.
inline const std::type_info& getStdTypeInfo() const;
/// Returns a reference to the ExtendedTypeInfo associated
/// to this Type.
inline ExtendedTypeInfo getExtendedTypeInfo() const;
/// Returns true if this Type is defined, false if it's just
/// declared. See class Reflector if you want to create a new Type.
inline bool isDefined() const;
/// Returns the name of the reflected type.
inline const std::string& getName() const;
/// Returns the namespace of the reflected type.
inline const std::string& getNamespace() const;
/// Returns the qualified name of the reflected type. The qualified
/// name is formed by the namespace, if present, plus other modifiers
/// like 'const' and/or '*' (pointer) where applicable.
inline std::string getQualifiedName() const;
/// Returns true if either the fully-qualified name or one of the
/// name aliases match the given argument
inline bool matchesName(const std::string& name) const;
/// Returns the brief help of the reflected type.
inline virtual const std::string& getBriefHelp() const;
/// Returns the detailed help of the reflected type.
inline virtual const std::string& getDetailedHelp() const;
/// Returns the number of base types.
/// This number is zero if the type is not derived from any other
/// type.
inline int getNumBaseTypes() const;
/// Returns the i-th base type.
inline const Type& getBaseType(int i) const;
/// Returns the base type list.
inline const TypeList& getBaseTypeList() const;
/// Returns the number of type name aliases.
inline int getNumAliases() const;
/// Returns the i-th name alias
const std::string& getAlias(int i) const;
/// Returns whether the reflected type is abstract.
inline bool isAbstract() const;
/// Returns whether the reflected type is "atomic", that is
/// it can be rendered to and decoded from a stream directly.
inline bool isAtomic() const;
/// Returns whether the reflected type is an enumeration.
inline bool isEnum() const;
/// Returns whether the reflected type is the type void.
inline bool isVoid() const;
/// Returns true if the reflected type is a pointer, false otherwise.
inline bool isPointer() const;
/// Returns true if the reflected type is a pointer AND it is const,
/// false otherwise.
inline bool isConstPointer() const;
/// Returns true if the reflected type is a pointer AND it is not
/// const, false otherwise.
inline bool isNonConstPointer() const;
/// Returns the pointed type. If the reflected type is not a pointer,
/// the object returned is typeof(void).
inline const Type& getPointedType() const;
/// Returns true if the reflected type is a reference, false otherwise.
inline bool isReference() const;
/// Returns true if the reflected type is a reference AND it is const,
/// false otherwise.
inline bool isConstReference() const;
/// Returns true if the reflected type is a reference AND it is not
/// const, false otherwise.
inline bool isNonConstReference() const;
/// Returns the referenced type. If the reflected type is not a reference,
/// the object returned is typeof(void).
inline const Type& getReferencedType() const;
/// Returns the list of properties defined for this type. The list
/// does not include properties inherited from base types.
inline const PropertyInfoList& getProperties() const;
/// Fills a list of properties that are either defined in this Type
/// or in inherited types.
void getAllProperties(PropertyInfoList& props) const;
/// Fills a map of "type <-> propertyInfoList" that are either defined in this Type
/// or in inherited types.
void getPropertiesMap(PropertyInfoMap& props) const;
/// Returns the list of constructors defined for this type.
inline const ConstructorInfoList& getConstructors(FunctionCategory category = PUBLIC_FUNCTIONS) const;
/// Returns the list of methods defined for this type. The list
/// does not include methods inherited from base types.
inline const MethodInfoList& getMethods(FunctionCategory category = PUBLIC_FUNCTIONS) const;
/// Fills a list of methods that are either defined in this Type
/// or in inherited types.
void getAllMethods(MethodInfoList& methods, FunctionCategory category = PUBLIC_FUNCTIONS) const;
/// Fills a map of "type <-> MethodInfoList" that are either defined in this Type
/// or in inherited types.
void getMethodsMap(MethodInfoMap& methods, FunctionCategory category = PUBLIC_FUNCTIONS) const;
/// Returns the map of enumeration labels. If the type is not an
/// enumeration, an empty map is returned.
inline const EnumLabelMap& getEnumLabels() const;
/// Searches for a constructor that can be called with the given list
/// of arguments without raising type conversion errors. If more than
/// one constructors are suitable for calling, the best match is
/// returned.
const ConstructorInfo* getCompatibleConstructor(const ValueList& values) const;
/// Searches for a constructor whose parameters match exactly the given
/// list of parameter descriptions.
const ConstructorInfo* getConstructor(const ParameterInfoList& params) const;
/// Searches for a method that can be called with the given list of
/// arguments without raising type conversion errors. If more than
/// one method are suitable for calling, the best match is returned.
const MethodInfo* getCompatibleMethod(const std::string& name, const ValueList& values, bool inherit) const;
/// Searches for a method whose parameters match exactly the given
/// list of parameter descriptions.
const MethodInfo* getMethod(const std::string& name, const ParameterInfoList& params, bool inherit) const;
/// Searches for a property given its name, type and list of indices.
/// Only exact matches are returned.
const PropertyInfo* getProperty(const std::string& name, const Type& ptype, const ParameterInfoList& indices, bool inherit) const;
/// Searches for a suitable method and invokes it with the given list
/// of arguments (const instance).
Value invokeMethod(const std::string& name, const Value& instance, ValueList& args, bool inherit) const;
/// Searches for a suitable method and invokes it with the given list
/// of arguments.
Value invokeMethod(const std::string& name, Value& instance, ValueList& args, bool inherit) const;
/// Returns whether the reflected type is derived from another type.
bool isSubclassOf(const Type& type) const;
/// Returns the instance of the reader/writer object assigned to
/// this type, if any. Otherwise it returns the null pointer.
inline const ReaderWriter* getReaderWriter() const;
/// Returns the instance of the comparator object assigned to
/// this type, if any. Otherwise it returns the null pointer.
inline const Comparator* getComparator() const;
/// Returns the path to the file where this type is declared,
/// relative the the OpenSceneGraph include directory. Returns
/// the empty string if no path information is available.
inline const std::string &getDeclaringFile() const;
/// Creates an instance of the reflected type. The returned Value
/// can be casted to T*, where T is the reflected type. If the type
/// is abstract, an exception is thrown.
Value createInstance(ValueList& args) const;
inline Value createInstance() const;
// This function is called internally to reset all the elements contained in that type.
// used in the type loading process: it solves a false positive issue on VS 7.1 and 8 compilers in debug builds.
void reset();
protected:
Type(const ExtendedTypeInfo &ti)
: _ti(ti),
_is_const(false),
_is_abstract(false),
_pointed_type(0),
_referenced_type(0),
_is_defined(false),
_rw(0),
_cmp(0)
{
}
// throws an exception if the type is not defined.
void check_defined() const;
virtual void getInheritedProviders(CustomAttributeProviderList& providers) const;
private:
template<typename C> friend class Reflector;
template<typename C> friend struct TypeNameAliasProxy;
friend class Reflection;
Type(const Type& copy): CustomAttributeProvider(copy), _ti(copy._ti) {}
ExtendedTypeInfo _ti;
std::string _name;
std::string _namespace;
TypeList _base;
bool _is_const;
bool _is_abstract;
const Type* _pointed_type;
const Type* _referenced_type;
ConstructorInfoList _cons;
ConstructorInfoList _protected_cons;
PropertyInfoList _props;
MethodInfoList _methods;
MethodInfoList _protected_methods;
EnumLabelMap _labels;
bool _is_defined;
const ReaderWriter* _rw;
const Comparator* _cmp;
typedef std::vector<std::string> AliasList;
AliasList _aliases;
std::string _briefHelp;
std::string _detailedHelp;
std::string _declaringFile;
};
// OPERATORS
/// Equality test operator. Returns true if the two instances of Type
/// describe the same type, false otherwise.
inline bool operator==(const Type& t1, const Type& t2)
{
return (t1.getStdTypeInfo() == t2.getStdTypeInfo()) != 0;
}
/// Inequality test operator. Returns false if the two instances of Type
/// describe the same type, true otherwise.
inline bool operator!=(const Type& t1, const Type& t2)
{
return (t1.getStdTypeInfo() != t2.getStdTypeInfo()) != 0;
}
/// Less than operator. Returns true if the first type comes before the
/// second one. The actual ordering is implementation-dependent.
inline bool operator<(const Type& t1, const Type& t2)
{
return (t1.getStdTypeInfo().before(t2.getStdTypeInfo())) != 0;
}
/// Greater than or equal to operator. Returns !operator<().
inline bool operator>=(const Type& t1, const Type& t2)
{
return !operator<(t1, t2);
}
// INLINE METHODS
inline void Type::check_defined() const
{
if (!_is_defined)
throw TypeNotDefinedException(_ti);
}
inline const std::type_info& Type::getStdTypeInfo() const
{
return _ti.getStdTypeInfo();
}
inline ExtendedTypeInfo Type::getExtendedTypeInfo() const
{
return _ti;
}
inline const std::string& Type::getName() const
{
check_defined();
return _name;
}
inline const std::string& Type::getNamespace() const
{
check_defined();
return _namespace;
}
inline std::string Type::getQualifiedName() const
{
check_defined();
std::string qname;
if (_is_const) qname = "const ";
if (!_namespace.empty())
{
qname.append(_namespace);
qname.append("::");
}
qname.append(_name);
if (_pointed_type)
qname.append(" *");
else if (_referenced_type)
qname.append(" &");
return qname;
}
inline const std::string& Type::getBriefHelp() const
{
return _briefHelp;
}
inline const std::string& Type::getDetailedHelp() const
{
return _detailedHelp;
}
inline int Type::getNumBaseTypes() const
{
check_defined();
return static_cast<int>(_base.size());
}
inline bool Type::isConstPointer() const
{
check_defined();
return _is_const && _pointed_type;
}
inline bool Type::isNonConstPointer() const
{
check_defined();
return !_is_const && _pointed_type;
}
inline bool Type::isConstReference() const
{
check_defined();
return _is_const && _referenced_type;
}
inline bool Type::isNonConstReference() const
{
check_defined();
return !_is_const && _referenced_type;
}
inline bool Type::isAbstract() const
{
check_defined();
return _is_abstract;
}
inline bool Type::isAtomic() const
{
check_defined();
return _rw != 0;
}
inline const PropertyInfoList& Type::getProperties() const
{
check_defined();
return _props;
}
inline const ConstructorInfoList& Type::getConstructors(FunctionCategory category) const
{
check_defined();
return category == PUBLIC_FUNCTIONS ? _cons : _protected_cons;
}
inline const MethodInfoList& Type::getMethods(FunctionCategory category) const
{
check_defined();
return category == PUBLIC_FUNCTIONS ? _methods : _protected_methods;
}
inline bool Type::isPointer() const
{
check_defined();
return _pointed_type != 0;
}
inline bool Type::isReference() const
{
check_defined();
return _referenced_type != 0;
}
inline bool Type::isVoid() const
{
return (_ti == extended_typeid<void>()) != 0;
}
inline const Type& Type::getPointedType() const
{
check_defined();
if (_pointed_type)
return *_pointed_type;
return Reflection::type_void();
}
inline const Type& Type::getReferencedType() const
{
check_defined();
if (_referenced_type)
return *_referenced_type;
return Reflection::type_void();
}
inline bool Type::isEnum() const
{
check_defined();
return !_labels.empty();
}
inline const EnumLabelMap& Type::getEnumLabels() const
{
check_defined();
return _labels;
}
inline bool Type::isDefined() const
{
return _is_defined;
}
inline const ReaderWriter* Type::getReaderWriter() const
{
check_defined();
return _rw;
}
inline const Comparator* Type::getComparator() const
{
check_defined();
return _cmp;
}
inline const Type& Type::getBaseType(int i) const
{
check_defined();
return *_base.at(i);
}
inline const TypeList& Type::getBaseTypeList() const
{
check_defined();
return _base;
}
inline Value Type::createInstance() const
{
ValueList args;
return createInstance(args);
}
inline int Type::getNumAliases() const
{
return static_cast<int>(_aliases.size());
}
inline const std::string& Type::getAlias(int i) const
{
return _aliases[i];
}
inline bool Type::matchesName(const std::string& name) const
{
if (getQualifiedName() == name)
return true;
if (std::find(_aliases.begin(), _aliases.end(), name) != _aliases.end())
return true;
return false;
}
inline const std::string &Type::getDeclaringFile() const
{
return _declaringFile;
}
}
#endif

View File

@ -1,40 +0,0 @@
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield
*
* This library is open source and may be redistributed and/or modified under
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
* (at your option) any later version. The full license is in LICENSE file
* included with this distribution, and on the openscenegraph.org website.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* OpenSceneGraph Public License for more details.
*/
//osgIntrospection - Copyright (C) 2005 Marco Jez
#ifndef OSGINTROSPECTION_TYPENAMEALIASPROXY_
#define OSGINTROSPECTION_TYPENAMEALIASPROXY_
#include <osgIntrospection/Type>
#include <osgIntrospection/Reflection>
#include <string>
#include <algorithm>
namespace osgIntrospection
{
template<typename C>
struct TypeNameAliasProxy
{
TypeNameAliasProxy(const std::string& name)
{
Type* type = Reflection::getOrRegisterType(extended_typeid<C>());
if (std::find(type->_aliases.begin(), type->_aliases.end(), name) == type->_aliases.end())
type->_aliases.push_back(name);
}
};
}
#endif

View File

@ -1,467 +0,0 @@
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield
*
* This library is open source and may be redistributed and/or modified under
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
* (at your option) any later version. The full license is in LICENSE file
* included with this distribution, and on the openscenegraph.org website.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* OpenSceneGraph Public License for more details.
*/
//osgIntrospection - Copyright (C) 2005 Marco Jez
#ifndef OSGINTROSPECTION_TYPEDCONSTRUCTORINFO_
#define OSGINTROSPECTION_TYPEDCONSTRUCTORINFO_
#include <osgIntrospection/ConstructorInfo>
#include <osgIntrospection/InstanceCreator>
#include <osgIntrospection/Utility>
namespace osgIntrospection
{
template<typename C, typename IC>
struct TypedConstructorInfo0: ConstructorInfo
{
TypedConstructorInfo0(const ParameterInfoList& plist, std::string briefHelp = std::string(), std::string detailedHelp = std::string())
: ConstructorInfo(typeof(C), plist, briefHelp, detailedHelp)
{
}
Value createInstance(ValueList& /*args*/) const
{
return IC::create();
}
};
template<typename C, typename IC, typename P0>
struct TypedConstructorInfo1: ConstructorInfo
{
TypedConstructorInfo1(const ParameterInfoList& plist, bool isExplicit, std::string briefHelp = std::string(), std::string detailedHelp = std::string())
: ConstructorInfo(typeof(C), plist, isExplicit, briefHelp, detailedHelp)
{
}
Value createInstance(ValueList& args) const
{
ValueList newargs(1);
convertArgument<P0>(args, newargs, getParameters(), 0);
return IC::template create<P0>(newargs[0]);
}
};
template<typename C, typename IC, typename P0, typename P1>
struct TypedConstructorInfo2: ConstructorInfo
{
TypedConstructorInfo2(const ParameterInfoList& plist, std::string briefHelp = std::string(), std::string detailedHelp = std::string())
: ConstructorInfo(typeof(C), plist, briefHelp, detailedHelp)
{
}
Value createInstance(ValueList& args) const
{
ValueList newargs(2);
convertArgument<P0>(args, newargs, getParameters(), 0);
convertArgument<P1>(args, newargs, getParameters(), 1);
return IC::template create<P0, P1>(newargs[0], newargs[1]);
}
};
template<typename C, typename IC, typename P0, typename P1, typename P2>
struct TypedConstructorInfo3: ConstructorInfo
{
TypedConstructorInfo3(const ParameterInfoList& plist, std::string briefHelp = std::string(), std::string detailedHelp = std::string())
: ConstructorInfo(typeof(C), plist, briefHelp, detailedHelp)
{
}
Value createInstance(ValueList& args) const
{
ValueList newargs(3);
convertArgument<P0>(args, newargs, getParameters(), 0);
convertArgument<P1>(args, newargs, getParameters(), 1);
convertArgument<P2>(args, newargs, getParameters(), 2);
return IC::template create<P0, P1, P2>(newargs[0], newargs[1], newargs[2]);
}
};
template<typename C, typename IC, typename P0, typename P1, typename P2, typename P3>
struct TypedConstructorInfo4: ConstructorInfo
{
TypedConstructorInfo4(const ParameterInfoList& plist, std::string briefHelp = std::string(), std::string detailedHelp = std::string())
: ConstructorInfo(typeof(C), plist, briefHelp, detailedHelp)
{
}
Value createInstance(ValueList& args) const
{
ValueList newargs(4);
convertArgument<P0>(args, newargs, getParameters(), 0);
convertArgument<P1>(args, newargs, getParameters(), 1);
convertArgument<P2>(args, newargs, getParameters(), 2);
convertArgument<P3>(args, newargs, getParameters(), 3);
return IC::template create<P0, P1, P2, P3>(newargs[0], newargs[1], newargs[2], newargs[3]);
}
};
template<typename C, typename IC, typename P0, typename P1, typename P2, typename P3, typename P4>
struct TypedConstructorInfo5: ConstructorInfo
{
TypedConstructorInfo5(const ParameterInfoList& plist, std::string briefHelp = std::string(), std::string detailedHelp = std::string())
: ConstructorInfo(typeof(C), plist, briefHelp, detailedHelp)
{
}
Value createInstance(ValueList& args) const
{
ValueList newargs(5);
convertArgument<P0>(args, newargs, getParameters(), 0);
convertArgument<P1>(args, newargs, getParameters(), 1);
convertArgument<P2>(args, newargs, getParameters(), 2);
convertArgument<P3>(args, newargs, getParameters(), 3);
convertArgument<P4>(args, newargs, getParameters(), 4);
return IC::template create<P0, P1, P2, P3, P4>(newargs[0], newargs[1], newargs[2], newargs[3], newargs[4]);
}
};
template<typename C, typename IC, typename P0, typename P1, typename P2, typename P3, typename P4, typename P5>
struct TypedConstructorInfo6: ConstructorInfo
{
TypedConstructorInfo6(const ParameterInfoList& plist, std::string briefHelp = std::string(), std::string detailedHelp = std::string())
: ConstructorInfo(typeof(C), plist, briefHelp, detailedHelp)
{
}
Value createInstance(ValueList& args) const
{
ValueList newargs(6);
convertArgument<P0>(args, newargs, getParameters(), 0);
convertArgument<P1>(args, newargs, getParameters(), 1);
convertArgument<P2>(args, newargs, getParameters(), 2);
convertArgument<P3>(args, newargs, getParameters(), 3);
convertArgument<P4>(args, newargs, getParameters(), 4);
convertArgument<P5>(args, newargs, getParameters(), 5);
return IC::template create<P0, P1, P2, P3, P4, P5>(newargs[0], newargs[1], newargs[2], newargs[3], newargs[4], newargs[5]);
}
};
template<typename C, typename IC, typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6>
struct TypedConstructorInfo7: ConstructorInfo
{
TypedConstructorInfo7(const ParameterInfoList& plist, std::string briefHelp = std::string(), std::string detailedHelp = std::string())
: ConstructorInfo(typeof(C), plist, briefHelp, detailedHelp)
{
}
Value createInstance(ValueList& args) const
{
ValueList newargs(7);
convertArgument<P0>(args, newargs, getParameters(), 0);
convertArgument<P1>(args, newargs, getParameters(), 1);
convertArgument<P2>(args, newargs, getParameters(), 2);
convertArgument<P3>(args, newargs, getParameters(), 3);
convertArgument<P4>(args, newargs, getParameters(), 4);
convertArgument<P5>(args, newargs, getParameters(), 5);
convertArgument<P6>(args, newargs, getParameters(), 6);
return IC::template create<P0, P1, P2, P3, P4, P5, P6>(newargs[0], newargs[1], newargs[2], newargs[3], newargs[4], newargs[5], newargs[6]);
}
};
template<typename C, typename IC, typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7>
struct TypedConstructorInfo8: ConstructorInfo
{
TypedConstructorInfo8(const ParameterInfoList& plist, std::string briefHelp = std::string(), std::string detailedHelp = std::string())
: ConstructorInfo(typeof(C), plist, briefHelp, detailedHelp)
{
}
Value createInstance(ValueList& args) const
{
ValueList newargs(8);
convertArgument<P0>(args, newargs, getParameters(), 0);
convertArgument<P1>(args, newargs, getParameters(), 1);
convertArgument<P2>(args, newargs, getParameters(), 2);
convertArgument<P3>(args, newargs, getParameters(), 3);
convertArgument<P4>(args, newargs, getParameters(), 4);
convertArgument<P5>(args, newargs, getParameters(), 5);
convertArgument<P6>(args, newargs, getParameters(), 6);
convertArgument<P7>(args, newargs, getParameters(), 7);
return IC::template create<P0, P1, P2, P3, P4, P5, P6, P7>(newargs[0], newargs[1], newargs[2], newargs[3], newargs[4], newargs[5], newargs[6], newargs[7]);
}
};
template<typename C, typename IC, typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8>
struct TypedConstructorInfo9: ConstructorInfo
{
TypedConstructorInfo9(const ParameterInfoList& plist, std::string briefHelp = std::string(), std::string detailedHelp = std::string())
: ConstructorInfo(typeof(C), plist, briefHelp, detailedHelp)
{
}
Value createInstance(ValueList& args) const
{
ValueList newargs(9);
convertArgument<P0>(args, newargs, getParameters(), 0);
convertArgument<P1>(args, newargs, getParameters(), 1);
convertArgument<P2>(args, newargs, getParameters(), 2);
convertArgument<P3>(args, newargs, getParameters(), 3);
convertArgument<P4>(args, newargs, getParameters(), 4);
convertArgument<P5>(args, newargs, getParameters(), 5);
convertArgument<P6>(args, newargs, getParameters(), 6);
convertArgument<P7>(args, newargs, getParameters(), 7);
convertArgument<P8>(args, newargs, getParameters(), 8);
return IC::template create<P0, P1, P2, P3, P4, P5, P6, P7, P8>(newargs[0], newargs[1], newargs[2], newargs[3], newargs[4], newargs[5], newargs[6], newargs[7], newargs[8]);
}
};
template<typename C, typename IC, typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9>
struct TypedConstructorInfo10: ConstructorInfo
{
TypedConstructorInfo10(const ParameterInfoList& plist, std::string briefHelp = std::string(), std::string detailedHelp = std::string())
: ConstructorInfo(typeof(C), plist, briefHelp, detailedHelp)
{
}
Value createInstance(ValueList& args) const
{
ValueList newargs(10);
convertArgument<P0>(args, newargs, getParameters(), 0);
convertArgument<P1>(args, newargs, getParameters(), 1);
convertArgument<P2>(args, newargs, getParameters(), 2);
convertArgument<P3>(args, newargs, getParameters(), 3);
convertArgument<P4>(args, newargs, getParameters(), 4);
convertArgument<P5>(args, newargs, getParameters(), 5);
convertArgument<P6>(args, newargs, getParameters(), 6);
convertArgument<P7>(args, newargs, getParameters(), 7);
convertArgument<P8>(args, newargs, getParameters(), 8);
convertArgument<P9>(args, newargs, getParameters(), 9);
return IC::template create<P0, P1, P2, P3, P4, P5, P6, P7, P8, P9>(newargs[0], newargs[1], newargs[2], newargs[3], newargs[4], newargs[5], newargs[6], newargs[7], newargs[8], newargs[9]);
}
};
template<typename C, typename IC, typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9, typename P10>
struct TypedConstructorInfo11: ConstructorInfo
{
TypedConstructorInfo11(const ParameterInfoList& plist, std::string briefHelp = std::string(), std::string detailedHelp = std::string())
: ConstructorInfo(typeof(C), plist, briefHelp, detailedHelp)
{
}
Value createInstance(ValueList& args) const
{
ValueList newargs(11);
convertArgument<P0>(args, newargs, getParameters(), 0);
convertArgument<P1>(args, newargs, getParameters(), 1);
convertArgument<P2>(args, newargs, getParameters(), 2);
convertArgument<P3>(args, newargs, getParameters(), 3);
convertArgument<P4>(args, newargs, getParameters(), 4);
convertArgument<P5>(args, newargs, getParameters(), 5);
convertArgument<P6>(args, newargs, getParameters(), 6);
convertArgument<P7>(args, newargs, getParameters(), 7);
convertArgument<P8>(args, newargs, getParameters(), 8);
convertArgument<P9>(args, newargs, getParameters(), 9);
convertArgument<P10>(args, newargs, getParameters(), 10);
return IC::template create<P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10>(newargs[0], newargs[1], newargs[2], newargs[3], newargs[4], newargs[5], newargs[6], newargs[7], newargs[8], newargs[9], newargs[10]);
}
};
template<typename C, typename IC, typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9, typename P10, typename P11>
struct TypedConstructorInfo12: ConstructorInfo
{
TypedConstructorInfo12(const ParameterInfoList& plist, std::string briefHelp = std::string(), std::string detailedHelp = std::string())
: ConstructorInfo(typeof(C), plist, briefHelp, detailedHelp)
{
}
Value createInstance(ValueList& args) const
{
ValueList newargs(12);
convertArgument<P0>(args, newargs, getParameters(), 0);
convertArgument<P1>(args, newargs, getParameters(), 1);
convertArgument<P2>(args, newargs, getParameters(), 2);
convertArgument<P3>(args, newargs, getParameters(), 3);
convertArgument<P4>(args, newargs, getParameters(), 4);
convertArgument<P5>(args, newargs, getParameters(), 5);
convertArgument<P6>(args, newargs, getParameters(), 6);
convertArgument<P7>(args, newargs, getParameters(), 7);
convertArgument<P8>(args, newargs, getParameters(), 8);
convertArgument<P9>(args, newargs, getParameters(), 9);
convertArgument<P10>(args, newargs, getParameters(), 10);
convertArgument<P11>(args, newargs, getParameters(), 11);
return IC::template create<P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11>(newargs[0], newargs[1], newargs[2], newargs[3], newargs[4], newargs[5], newargs[6], newargs[7], newargs[8], newargs[9], newargs[10], newargs[11]);
}
};
template<typename C, typename IC, typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9, typename P10, typename P11, typename P12>
struct TypedConstructorInfo13: ConstructorInfo
{
TypedConstructorInfo13(const ParameterInfoList& plist, std::string briefHelp = std::string(), std::string detailedHelp = std::string())
: ConstructorInfo(typeof(C), plist, briefHelp, detailedHelp)
{
}
Value createInstance(ValueList& args) const
{
ValueList newargs(13);
convertArgument<P0>(args, newargs, getParameters(), 0);
convertArgument<P1>(args, newargs, getParameters(), 1);
convertArgument<P2>(args, newargs, getParameters(), 2);
convertArgument<P3>(args, newargs, getParameters(), 3);
convertArgument<P4>(args, newargs, getParameters(), 4);
convertArgument<P5>(args, newargs, getParameters(), 5);
convertArgument<P6>(args, newargs, getParameters(), 6);
convertArgument<P7>(args, newargs, getParameters(), 7);
convertArgument<P8>(args, newargs, getParameters(), 8);
convertArgument<P9>(args, newargs, getParameters(), 9);
convertArgument<P10>(args, newargs, getParameters(), 10);
convertArgument<P11>(args, newargs, getParameters(), 11);
convertArgument<P12>(args, newargs, getParameters(), 12);
return IC::template create<P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12>(newargs[0], newargs[1], newargs[2], newargs[3], newargs[4], newargs[5], newargs[6], newargs[7], newargs[8], newargs[9], newargs[10], newargs[11], newargs[12]);
}
};
template<typename C, typename IC, typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9, typename P10, typename P11, typename P12, typename P13>
struct TypedConstructorInfo14: ConstructorInfo
{
TypedConstructorInfo14(const ParameterInfoList& plist, std::string briefHelp = std::string(), std::string detailedHelp = std::string())
: ConstructorInfo(typeof(C), plist, briefHelp, detailedHelp)
{
}
Value createInstance(ValueList& args) const
{
ValueList newargs(14);
convertArgument<P0>(args, newargs, getParameters(), 0);
convertArgument<P1>(args, newargs, getParameters(), 1);
convertArgument<P2>(args, newargs, getParameters(), 2);
convertArgument<P3>(args, newargs, getParameters(), 3);
convertArgument<P4>(args, newargs, getParameters(), 4);
convertArgument<P5>(args, newargs, getParameters(), 5);
convertArgument<P6>(args, newargs, getParameters(), 6);
convertArgument<P7>(args, newargs, getParameters(), 7);
convertArgument<P8>(args, newargs, getParameters(), 8);
convertArgument<P9>(args, newargs, getParameters(), 9);
convertArgument<P10>(args, newargs, getParameters(), 10);
convertArgument<P11>(args, newargs, getParameters(), 11);
convertArgument<P12>(args, newargs, getParameters(), 12);
convertArgument<P13>(args, newargs, getParameters(), 13);
return IC::template create<P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13>(newargs[0], newargs[1], newargs[2], newargs[3], newargs[4], newargs[5], newargs[6], newargs[7], newargs[8], newargs[9], newargs[10], newargs[11], newargs[12], newargs[13]);
}
};
template<typename C, typename IC, typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9, typename P10, typename P11, typename P12, typename P13, typename P14>
struct TypedConstructorInfo15: ConstructorInfo
{
TypedConstructorInfo15(const ParameterInfoList& plist, std::string briefHelp = std::string(), std::string detailedHelp = std::string())
: ConstructorInfo(typeof(C), plist, briefHelp, detailedHelp)
{
}
Value createInstance(ValueList& args) const
{
ValueList newargs(15);
convertArgument<P0>(args, newargs, getParameters(), 0);
convertArgument<P1>(args, newargs, getParameters(), 1);
convertArgument<P2>(args, newargs, getParameters(), 2);
convertArgument<P3>(args, newargs, getParameters(), 3);
convertArgument<P4>(args, newargs, getParameters(), 4);
convertArgument<P5>(args, newargs, getParameters(), 5);
convertArgument<P6>(args, newargs, getParameters(), 6);
convertArgument<P7>(args, newargs, getParameters(), 7);
convertArgument<P8>(args, newargs, getParameters(), 8);
convertArgument<P9>(args, newargs, getParameters(), 9);
convertArgument<P10>(args, newargs, getParameters(), 10);
convertArgument<P11>(args, newargs, getParameters(), 11);
convertArgument<P12>(args, newargs, getParameters(), 12);
convertArgument<P13>(args, newargs, getParameters(), 13);
convertArgument<P14>(args, newargs, getParameters(), 14);
return IC::template create<P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14>(newargs[0], newargs[1], newargs[2], newargs[3], newargs[4], newargs[5], newargs[6], newargs[7], newargs[8], newargs[9], newargs[10], newargs[11], newargs[12], newargs[13], newargs[14]);
}
};
template<typename C, typename IC, typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9, typename P10, typename P11, typename P12, typename P13, typename P14, typename P15>
struct TypedConstructorInfo16: ConstructorInfo
{
TypedConstructorInfo16(const ParameterInfoList& plist, std::string briefHelp = std::string(), std::string detailedHelp = std::string())
: ConstructorInfo(typeof(C), plist, briefHelp, detailedHelp)
{
}
Value createInstance(ValueList& args) const
{
ValueList newargs(16);
convertArgument<P0>(args, newargs, getParameters(), 0);
convertArgument<P1>(args, newargs, getParameters(), 1);
convertArgument<P2>(args, newargs, getParameters(), 2);
convertArgument<P3>(args, newargs, getParameters(), 3);
convertArgument<P4>(args, newargs, getParameters(), 4);
convertArgument<P5>(args, newargs, getParameters(), 5);
convertArgument<P6>(args, newargs, getParameters(), 6);
convertArgument<P7>(args, newargs, getParameters(), 7);
convertArgument<P8>(args, newargs, getParameters(), 8);
convertArgument<P9>(args, newargs, getParameters(), 9);
convertArgument<P10>(args, newargs, getParameters(), 10);
convertArgument<P11>(args, newargs, getParameters(), 11);
convertArgument<P12>(args, newargs, getParameters(), 12);
convertArgument<P13>(args, newargs, getParameters(), 13);
convertArgument<P14>(args, newargs, getParameters(), 14);
convertArgument<P15>(args, newargs, getParameters(), 15);
return IC::template create<P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15>(newargs[0], newargs[1], newargs[2], newargs[3], newargs[4], newargs[5], newargs[6], newargs[7], newargs[8], newargs[9], newargs[10], newargs[11], newargs[12], newargs[13], newargs[14], newargs[15]);
}
};
}
#endif

File diff suppressed because it is too large Load Diff

View File

@ -1,70 +0,0 @@
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield
*
* This library is open source and may be redistributed and/or modified under
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
* (at your option) any later version. The full license is in LICENSE file
* included with this distribution, and on the openscenegraph.org website.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* OpenSceneGraph Public License for more details.
*/
//osgIntrospection - Copyright (C) 2005 Marco Jez
#ifndef OSGINTROSPECTION_UTILITY_
#define OSGINTROSPECTION_UTILITY_
#include <osgIntrospection/Export>
#include <osgIntrospection/Value>
#include <osgIntrospection/ParameterInfo>
#include <osgIntrospection/MethodInfo>
#include <osgIntrospection/variant_cast>
#include <vector>
namespace osgIntrospection
{
bool OSGINTROSPECTION_EXPORT areParametersCompatible(const ParameterInfoList& pl1, const ParameterInfoList& pl2);
bool OSGINTROSPECTION_EXPORT areArgumentsCompatible(const ValueList& vl, const ParameterInfoList& pl, float &match);
template<typename T>
void convertArgument(ValueList& src, ValueList& dest, const ParameterInfoList& pl, int index)
{
if (index >= static_cast<int>(src.size()))
{
dest[index] = pl[index]->getDefaultValue();
}
else
{
Value& sv = src[index];
if (requires_conversion<T>(sv))
dest[index] = sv.convertTo(pl[index]->getParameterType());
else
dest[index].swap(sv);
}
}
/// Return a const reference on the reflected value given on the instance
///
/// NOTE: You should NEVER paste a pointer or a reference to the template parameter T
template<typename T> const T &getInstance(const Value &instance)
{
return instance.isTypedPointer() ?
*variant_cast<const T*>(instance) : variant_cast<const T&>(instance);
}
/// Return a reference on the reflected value given on the instance
///
/// NOTE: You should NEVER paste a pointer or a reference to the template parameter T
template<typename T> T &getInstance(Value &instance)
{
return instance.isTypedPointer() ?
*variant_cast<T*>(instance) : variant_cast<T&>(instance);
}
}
#endif

View File

@ -1,436 +0,0 @@
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield
*
* This library is open source and may be redistributed and/or modified under
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
* (at your option) any later version. The full license is in LICENSE file
* included with this distribution, and on the openscenegraph.org website.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* OpenSceneGraph Public License for more details.
*/
//osgIntrospection - Copyright (C) 2005 Marco Jez
#ifndef OSGINTROSPECTION_VALUE_
#define OSGINTROSPECTION_VALUE_
#include <osgIntrospection/Export>
#include <osgIntrospection/Reflection>
#include <osgIntrospection/type_traits>
#include <vector>
#include <memory>
#include <string>
namespace osgIntrospection
{
class Type;
class OSGINTROSPECTION_EXPORT Value
{
public:
/// Default constructor. Initializes internal structures
/// so that the Type returned by getType() is typeof(void),
/// and the value is empty so that isEmpty() returns true.
/// Be careful when using empty values, as some operations
/// on them may throw an exception.
inline Value();
/// Direct initialization constructor for void pointers.
/// Although one of the constructor templates below could
/// certainly handle void pointers as well, we need to treat
/// them separately because void* can't be dereferenced.
inline Value(void *v);
/// Direct initialization constructor for const void pointers.
/// Although one of the constructor templates below could
/// certainly handle void pointers as well, we need to treat
/// them separately because void* can't be dereferenced.
inline Value(const void *v);
/// Direct initialization constructor template for non-const
/// pointers. By initializing an instance of Value through
/// this constructor, internal structures will be configured
/// to handle polymorphic types. This means you'll be able to
/// call getInstanceType() to get the actual type of the
/// dereferenced value.
template<typename T> Value(T *v);
/// Direct initialization constructor template for non-const
/// pointers. By initializing an instance of Value through
/// this constructor, internal structures will be configured
/// to handle polymorphic types. This means you'll be able to
/// call getInstanceType() to get the actual type of the
/// dereferenced value.
template<typename T> Value(const T *v);
/// Direct initialization constructor template for all types
/// that are not handled by any of the constructors above.
/// Calling getInstanceType() on an instance constructed
/// this way returns the same as getType().
template<typename T> Value(const T &v);
/// Copy constructor. The underlying value's type must have
/// consistent copy semantics.
inline Value(const Value& copy);
/// Destructor. Frees internal resources but it does NOT delete
/// the value held. For example, this function will produce a
/// memory leak: void f() { Value v(new int); }
inline ~Value();
/// Assignment operator. Behaves like the copy constructor.
inline Value& operator=(const Value& copy);
/// Returns whether the value is a pointer and it points to
/// something whose type is different than void.
inline bool isTypedPointer() const;
/// Returns whether this Value is empty.
inline bool isEmpty() const;
/// Returns whether the value is a null pointer.
inline bool isNullPointer() const;
/// Returns the exact type of the value held.
inline const Type& getType() const;
/// If the value is a pointer to a non-void type, this method
/// returns the actual type of the dereferenced pointer. Please
/// note it is not the same as getType().getPointedType(),
/// because the latter would return the non-polymorphic type.
/// If the value is not a pointer, this method behaves like
/// getType().
inline const Type& getInstanceType() const;
/// Equal to operator.
bool operator==(const Value& other) const;
/// Less than or equal to operator.
bool operator<=(const Value& other) const;
/// Inequality test operator. Returns !operator==(other).
bool operator!=(const Value& other) const;
/// Greater than operator. Returns !operator<=(other).
bool operator>(const Value& other) const;
/// Less than operator. Returns !operator==(other) && operator<=(other).
bool operator<(const Value& other) const;
/// Greater than or equal to operator. Returns operator==(other) || !operator<=(other)
bool operator>=(const Value& other) const;
/// Tries to convert this instance to a Value of the given type.
/// The conversion is performed by rendering to a temporary stream
/// in the source format and trying to read back from the stream
/// in the destination format. If either the source or destination
/// types, or both, don't have a ReaderWriter object, the conversion
/// fails and an exception is thrown. If the conversion can't be
/// completed for other reasons, other exceptions may be thrown.
Value convertTo(const Type& outtype) const;
/// Tries to convert this instance to a Value of the given type.
/// The conversion is performed by rendering to a temporary stream
/// in the source format and trying to read back from the stream
/// in the destination format. If either the source or destination
/// types, or both, don't have a ReaderWriter object, the conversion
/// fails and an empty Value is returned.
/// Please note that unlike convertTo(), this method does not
/// intentionally throw any exceptions.
Value tryConvertTo(const Type& outtype) const;
/// Tries to get a string representation of the underlying value.
/// This requires the value's type to have a ReaderWriter object
/// associated to it. If the conversion can't be completed, an
/// exception is thrown.
std::string toString() const;
std::wstring toWString() const;
/// Swaps the content of this Value with another Value
void swap(Value& v);
private:
// It's good to have friends!
template<typename T> friend T variant_cast(const Value& v);
template<typename T> friend bool requires_conversion(const Value& v);
template<typename T> friend T *extract_raw_data(Value& v);
template<typename T> friend const T *extract_raw_data(const Value& v);
// throw an exception if the value is empty
void check_empty() const;
// Base class for holding values. Provides a clone() method
// which must be overriden in descendant classes.
struct Instance_base
{
virtual Instance_base *clone() const = 0;
virtual ~Instance_base() {}
};
// Generic descendant of Instance_base for holding values of
// type T. Note that values are created on the stack.
template<typename T>
struct Instance: Instance_base
{
Instance(T data): _data(data) {}
virtual Instance_base *clone() const { return new Instance<T>(*this); }
virtual ~Instance() {}
T _data;
protected:
Instance& operator = (const Instance& rhs)
{
if (&rhs!=this)
{
_data = rhs._data;
}
return *this;
}
};
// Base class for storage of Instance objects. Actually three
// instances are created: the main instance which keeps the
// desired value, an additional instance that keeps a reference
// to that value, and another instance that keeps a const
// reference to that value. These additional instances are queried
// when casting the Value to a reference type.
struct Instance_box_base
{
Instance_box_base()
: inst_(0),
_ref_inst(0),
_const_ref_inst(0)
{
}
virtual ~Instance_box_base()
{
delete inst_;
delete _ref_inst;
delete _const_ref_inst;
}
// clones the instance box
virtual Instance_box_base *clone() const = 0;
// returns the type of the value held
virtual const Type* type() const = 0;
// returns the actual pointed type if applicable
virtual const Type* ptype() const { return 0; }
// returns whether the data is a null pointer
virtual bool isNullPointer() const = 0;
Instance_base *inst_;
Instance_base *_ref_inst;
Instance_base *_const_ref_inst;
};
// Generic instance box for non-pointer values.
template<typename T>
struct Instance_box: Instance_box_base
{
Instance_box(): Instance_box_base(), _isNullPointer(false) {}
Instance_box(const T &d, bool isNullPointer = false)
: Instance_box_base(),
_isNullPointer(isNullPointer)
{
Instance<T> *vl = new Instance<T>(d);
inst_ = vl;
_ref_inst = new Instance<T &>(vl->_data);
_const_ref_inst = new Instance<const T &>(vl->_data);
}
virtual Instance_box_base *clone() const
{
Instance_box<T> *new_inbox = new Instance_box<T>();
// ??? this static_cast<> shouldn't be necessary, but the
// MSVC++ compiler complains about invalid casting without it!
Instance<T> *vl = static_cast<Instance<T> *>(inst_->clone());
new_inbox->inst_ = vl;
new_inbox->_ref_inst = new Instance<T &>(vl->_data);
new_inbox->_const_ref_inst = new Instance<const T &>(vl->_data);
new_inbox->_isNullPointer = _isNullPointer;
return new_inbox;
}
virtual const Type* type() const
{
return &typeof(T);
}
virtual bool isNullPointer() const
{
return _isNullPointer;
}
private:
bool _isNullPointer;
Instance_box& operator = (const Instance_box&) { return *this; }
};
// Generic instance box for pointer values. Unlike Instance_box<>,
// this struct template provides a ptype() method that unreferences
// the pointer (T is supposed to be a pointer) and gets its actual
// type.
template<typename T>
struct Ptr_instance_box: Instance_box_base
{
Ptr_instance_box(): Instance_box_base() {}
Ptr_instance_box(const T &d)
: Instance_box_base()
{
Instance<T> *vl = new Instance<T>(d);
inst_ = vl;
_ref_inst = new Instance<T &>(vl->_data);
_const_ref_inst = new Instance<const T &>(vl->_data);
}
virtual Instance_box_base *clone() const
{
Ptr_instance_box<T> *new_inbox = new Ptr_instance_box<T>();
// ??? this static_cast<> shouldn't be necessary, but the
// MSVC++ compiler complains about invalid casting without it!
Instance<T> *vl = static_cast<Instance<T> *>(inst_->clone());
new_inbox->inst_ = vl;
new_inbox->_ref_inst = new Instance<T &>(vl->_data);
new_inbox->_const_ref_inst = new Instance<const T &>(vl->_data);
return new_inbox;
}
virtual const Type* type() const
{
return &typeof(T);
}
virtual const Type* ptype() const
{
if (!static_cast<Instance<T> *>(inst_)->_data) return 0;
return &typeofvalue(*static_cast<Instance<T> *>(inst_)->_data);
}
virtual bool isNullPointer() const
{
return static_cast<Instance<T> *>(inst_)->_data == 0;
}
};
Instance_box_base *_inbox;
const Type* _type;
const Type* _ptype;
};
/// A vector of values.
typedef std::vector<Value> ValueList;
// INLINE METHODS
inline Value::Value()
: _inbox(0),
_type(&Reflection::type_void()),
_ptype(0)
{
}
template<typename T> Value::Value(const T &v)
: _ptype(0)
{
_inbox = new Instance_box<T>(v);
_type = _inbox->type();
}
inline Value::Value(const void *v)
: _ptype(0)
{
_inbox = new Instance_box<const void *>(v, v == 0);
_type = _inbox->type();
}
inline Value::Value(void *v)
: _ptype(0)
{
_inbox = new Instance_box<void *>(v, v == 0);
_type = _inbox->type();
}
template<typename T> Value::Value(const T *v)
{
_inbox = new Ptr_instance_box<const T *>(v);
_type = _inbox->type();
_ptype = _inbox->ptype();
}
template<typename T> Value::Value(T *v)
{
_inbox = new Ptr_instance_box<T *>(v);
_type = _inbox->type();
_ptype = _inbox->ptype();
}
inline Value::Value(const Value& copy)
: _inbox(copy._inbox? copy._inbox->clone(): 0),
_type(copy._type),
_ptype(copy._ptype)
{
}
inline Value& Value::operator=(const Value& copy)
{
std::auto_ptr<Instance_box_base> new_inbox(copy._inbox? copy._inbox->clone(): 0);
delete _inbox;
_inbox = new_inbox.release();
_type = copy._type;
_ptype = copy._ptype;
return *this;
}
inline Value::~Value()
{
delete _inbox;
}
inline const Type& Value::getType() const
{
return *_type;
}
inline const Type& Value::getInstanceType() const
{
if (_ptype)
return *_ptype;
return *_type;
}
inline bool Value::isTypedPointer() const
{
return _ptype != 0;
}
inline bool Value::isEmpty() const
{
return _inbox == 0;
}
inline bool Value::isNullPointer() const
{
return _inbox->isNullPointer();
}
}
#endif

View File

@ -1,48 +0,0 @@
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield
*
* This library is open source and may be redistributed and/or modified under
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
* (at your option) any later version. The full license is in LICENSE file
* included with this distribution, and on the openscenegraph.org website.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* OpenSceneGraph Public License for more details.
*/
#ifndef OSGINTROSPECTION_VERSION
#define OSGINTROSPECTION_VERSION 1
#include <osgIntrospection/Export>
extern "C" {
/**
* osgIntrospectionGetVersion() returns the library version number.
* Numbering convention : OpenSceneGraph-1.0 will return 1.0 from osgIntrospectionGetVersion.
*
* This C function can be also used to check for the existence of the OpenSceneGraph
* library using autoconf and its m4 macro AC_CHECK_LIB.
*
* Here is the code to add to your configure.in:
\verbatim
#
# Check for the OpenSceneGraph (OSG) Introspection library
#
AC_CHECK_LIB(osg, osgIntrospectionGetVersion, ,
[AC_MSG_ERROR(OpenSceneGraph Introspection library not found. See http://www.openscenegraph.org)],)
\endverbatim
*/
extern OSGINTROSPECTION_EXPORT const char* osgIntrospectionGetVersion();
/**
* getLibraryName_osgIntrospection() returns the library name in human friendly form.
*/
extern OSGINTROSPECTION_EXPORT const char* osgIntrospectionGetLibraryName();
}
#endif

View File

@ -1,63 +0,0 @@
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield
*
* This library is open source and may be redistributed and/or modified under
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
* (at your option) any later version. The full license is in LICENSE file
* included with this distribution, and on the openscenegraph.org website.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* OpenSceneGraph Public License for more details.
*/
#ifndef OSGINTROSPECTION_TYPE_TRAITS_
#define OSGINTROSPECTION_TYPE_TRAITS_
/// is_reference is a compile-time template predicate to determine if a
/// type is a reference type.
template <typename T>
struct is_reference
{
static const bool value = false;
};
template <typename T>
struct is_reference<T &>
{
static const bool value = true;
};
/// is_const_reference is a compile-time template predicate to determine
/// if a type is a const reference type.
template <typename T>
struct is_const_reference
{
static const bool value = false;
};
template <typename T>
struct is_const_reference<const T &>
{
static const bool value = true;
};
/// remove_pointer is a compile-time template type mapper that produces
/// the input type, but with any pointer modifier removed.
template <typename T>
struct remove_pointer
{
typedef T type;
};
template <typename T>
struct remove_pointer<T *>
{
typedef T type;
};
#endif

View File

@ -1,98 +0,0 @@
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield
*
* This library is open source and may be redistributed and/or modified under
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
* (at your option) any later version. The full license is in LICENSE file
* included with this distribution, and on the openscenegraph.org website.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* OpenSceneGraph Public License for more details.
*/
//osgIntrospection - Copyright (C) 2005 Marco Jez
#ifndef OSGINTROSPECTION_VARIANT_CAST_
#define OSGINTROSPECTION_VARIANT_CAST_
#include <osgIntrospection/Value>
#include <osgIntrospection/ReaderWriter>
#include <sstream>
namespace osgIntrospection
{
/// Tries to convert an instance of Value to an object of type T.
/// If T is a plain type or a pointer type (either const or non-const),
/// and it matches the type of the value contained in v, then the actual
/// value of type T is returned. If T is a [const] reference type, and
/// its base (non reference) type matches the internal value's type,
/// then a [const] reference to the internal value is returned.
/// If none of the above conditions are met, a conversion is attempted
/// as described in Value::convert() and then variant_cast is called again
/// with the converted value as parameter.
/// If the conversion can't be completed, an exception is thrown.
/// Conversions that attempt to make a const pointer non-const will fail.
template<typename T> T variant_cast(const Value& v)
{
// return value
Value::Instance<T> *i = dynamic_cast<Value::Instance<T> *>(v._inbox->inst_);
if (i) return i->_data;
// return reference to value
i = dynamic_cast<Value::Instance<T> *>(v._inbox->_ref_inst);
if (i) return i->_data;
// return const reference to value
i = dynamic_cast<Value::Instance<T> *>(v._inbox->_const_ref_inst);
if (i) return i->_data;
// try to convert v to type T and restart
return variant_cast<T>(v.convertTo(typeof(T)));
}
/// Returns true if the Value passed as parameter can't be casted to
/// the specified type without a (potentially slow) conversion.
/// Returns false otherwise.
template<typename T> bool requires_conversion(const Value& v)
{
// direct value
Value::Instance<T> *i = dynamic_cast<Value::Instance<T> *>(v._inbox->inst_);
if (i) return false;
// reference to value
i = dynamic_cast<Value::Instance<T> *>(v._inbox->_ref_inst);
if (i) return false;
// const reference to value
i = dynamic_cast<Value::Instance<T> *>(v._inbox->_const_ref_inst);
if (i) return false;
return true;
}
/// Returns a typed pointer to the data contained in a Value
/// instance. If the value's type is not identical to type T,
/// a null pointer is returned.
template<typename T> T* extract_raw_data(Value& v)
{
Value::Instance<T>* i = dynamic_cast<Value::Instance<T> *>(v._inbox->inst_);
if (i) return &i->_data;
return 0;
}
/// Returns a typed pointer to the data contained in a const Value
/// instance. If the value's type is not identical to type T, a
/// null pointer is returned.
template<typename T> const T* extract_raw_data(const Value& v)
{
Value::Instance<T>* i = dynamic_cast<Value::Instance<T> *>(v._inbox->inst_);
if (i) return &i->_data;
return 0;
}
}
#endif

View File

@ -1,14 +0,0 @@
# pkg-config source file
prefix=@CMAKE_INSTALL_PREFIX@
exec_prefix=${prefix}
libdir=${exec_prefix}/lib@LIB_POSTFIX@
includedir=${prefix}/include
Name: openscenegraph-osgIntrospection
Description: Introspection library for Openscenegraph
Version: @OPENSCENEGRAPH_VERSION@
Requires: openscenegraph-osg openthreads
Conflicts:
Libs: -L${libdir} -losgIntrospection
Cflags: -I${includedir}

View File

@ -30,12 +30,6 @@ IF (QT4_FOUND)
ADD_SUBDIRECTORY(osgQt)
ENDIF()
OPTION(BUILD_OSG_WRAPPERS "Enable to build Introspection and Wrappers" OFF)
IF(BUILD_OSG_WRAPPERS)
ADD_SUBDIRECTORY(osgIntrospection)
ADD_SUBDIRECTORY(osgWrappers/introspection)
ENDIF()
IF(MSVC80 OR MSVC90)
OPTION(OSG_MSVC_GENERATE_PLUGINS_AND_WRAPPERS_MANIFESTS "Generate or not manifests files under VS8 for dynamically loaded dlls" ON)
ENDIF()

View File

@ -1,69 +0,0 @@
IF(DYNAMIC_OPENSCENEGRAPH)
ADD_DEFINITIONS(-DOSGINTROSPECTION_LIBRARY)
ELSE()
ADD_DEFINITIONS(-DOSG_LIBRARY_STATIC)
ENDIF()
SET(LIB_NAME osgIntrospection)
SET(HEADER_PATH ${OpenSceneGraph_SOURCE_DIR}/include/${LIB_NAME})
SET(LIB_PUBLIC_HEADERS
${HEADER_PATH}/Attributes
${HEADER_PATH}/Comparator
${HEADER_PATH}/ConstructorInfo
${HEADER_PATH}/Converter
${HEADER_PATH}/ConverterProxy
${HEADER_PATH}/CustomAttribute
${HEADER_PATH}/CustomAttributeProvider
${HEADER_PATH}/Exceptions
${HEADER_PATH}/Export
${HEADER_PATH}/ExtendedTypeInfo
${HEADER_PATH}/InstanceCreator
${HEADER_PATH}/MethodInfo
${HEADER_PATH}/ParameterInfo
${HEADER_PATH}/PropertyInfo
${HEADER_PATH}/PublicMemberAccessor
${HEADER_PATH}/ReaderWriter
${HEADER_PATH}/Reflection
${HEADER_PATH}/ReflectionMacros
${HEADER_PATH}/Reflector
${HEADER_PATH}/StaticMethodInfo
${HEADER_PATH}/Type
${HEADER_PATH}/TypedConstructorInfo
${HEADER_PATH}/TypedMethodInfo
${HEADER_PATH}/TypeNameAliasProxy
${HEADER_PATH}/type_traits
${HEADER_PATH}/Utility
${HEADER_PATH}/Value
${HEADER_PATH}/Version
${HEADER_PATH}/variant_cast
)
# FIXME: For OS X, need flag for Framework or dylib
ADD_LIBRARY(${LIB_NAME}
${OPENSCENEGRAPH_USER_DEFINED_DYNAMIC_OR_STATIC}
${LIB_PUBLIC_HEADERS}
ConstructorInfo.cpp
CustomAttributeProvider.cpp
DefaultReflectors.cpp
MethodInfo.cpp
PropertyInfo.cpp
Reflection.cpp
Reflector.cpp
Type.cpp
Utility.cpp
Value.cpp
Version.cpp
${OPENSCENEGRAPH_VERSIONINFO_RC}
)
LINK_INTERNAL(${LIB_NAME}
OpenThreads
osg
)
LINK_CORELIB_DEFAULT(${LIB_NAME})
INCLUDE(ModuleInstall OPTIONAL)

View File

@ -1,29 +0,0 @@
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield
*
* This library is open source and may be redistributed and/or modified under
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
* (at your option) any later version. The full license is in LICENSE file
* included with this distribution, and on the openscenegraph.org website.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* OpenSceneGraph Public License for more details.
*/
//osgIntrospection - Copyright (C) 2005 Marco Jez
#include <osgIntrospection/ConstructorInfo>
using namespace osgIntrospection;
void ConstructorInfo::getInheritedProviders(CustomAttributeProviderList& providers) const
{
for (int i=0; i<_declarationType.getNumBaseTypes(); ++i)
{
const ConstructorInfo* ci = _declarationType.getBaseType(i).getConstructor(_params);
if (ci)
{
providers.push_back(ci);
}
}
}

View File

@ -1,57 +0,0 @@
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield
*
* This library is open source and may be redistributed and/or modified under
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
* (at your option) any later version. The full license is in LICENSE file
* included with this distribution, and on the openscenegraph.org website.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* OpenSceneGraph Public License for more details.
*/
//osgIntrospection - Copyright (C) 2005 Marco Jez
#include <osgIntrospection/CustomAttributeProvider>
#include <osgIntrospection/Type>
using namespace osgIntrospection;
bool CustomAttributeProvider::isDefined(const Type& type, bool inherit) const
{
for (CustomAttributeList::const_iterator i=attribs_.begin(); i!=attribs_.end(); ++i)
if (typeid(**i) == type.getStdTypeInfo()) return true;
if (inherit)
{
CustomAttributeProviderList providers;
getInheritedProviders(providers);
for (CustomAttributeProviderList::const_iterator i=providers.begin(); i!=providers.end(); ++i)
{
if ((*i)->isDefined(type, true)) return true;
}
}
return false;
}
const CustomAttribute* CustomAttributeProvider::getAttribute(const Type& type, bool inherit) const
{
for (CustomAttributeList::const_iterator i=attribs_.begin(); i!=attribs_.end(); ++i)
if (typeid(**i) == type.getStdTypeInfo()) return *i;
if (inherit)
{
CustomAttributeProviderList providers;
getInheritedProviders(providers);
for (CustomAttributeProviderList::const_iterator i=providers.begin(); i!=providers.end(); ++i)
{
const CustomAttribute* ca = (*i)->getAttribute(type, true);
if (ca) return ca;
}
}
return 0;
}

View File

@ -1,50 +0,0 @@
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield
*
* This library is open source and may be redistributed and/or modified under
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
* (at your option) any later version. The full license is in LICENSE file
* included with this distribution, and on the openscenegraph.org website.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* OpenSceneGraph Public License for more details.
*/
//osgIntrospection - Copyright (C) 2005 Marco Jez
#include <osgIntrospection/ReflectionMacros>
#include <osgIntrospection/ReaderWriter>
#include <string>
// Built-in types
ABSTRACT_OBJECT_REFLECTOR(void)
ATOMIC_VALUE_REFLECTOR(char)
WATOMIC_VALUE_REFLECTOR(wchar_t)
ATOMIC_VALUE_REFLECTOR(signed char)
ATOMIC_VALUE_REFLECTOR(unsigned char)
ATOMIC_VALUE_REFLECTOR(int)
ATOMIC_VALUE_REFLECTOR(unsigned int)
ATOMIC_VALUE_REFLECTOR(long int)
ATOMIC_VALUE_REFLECTOR(long long int)
ATOMIC_VALUE_REFLECTOR(unsigned long int)
ATOMIC_VALUE_REFLECTOR(unsigned long long int)
ATOMIC_VALUE_REFLECTOR(short int)
ATOMIC_VALUE_REFLECTOR(unsigned short int)
ATOMIC_VALUE_REFLECTOR(bool)
ATOMIC_VALUE_REFLECTOR(float)
ATOMIC_VALUE_REFLECTOR(double)
ATOMIC_VALUE_REFLECTOR(long double)
// STL types
ATOMIC_VALUE_REFLECTOR(std::string)
WATOMIC_VALUE_REFLECTOR(std::wstring)

View File

@ -1,74 +0,0 @@
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield
*
* This library is open source and may be redistributed and/or modified under
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
* (at your option) any later version. The full license is in LICENSE file
* included with this distribution, and on the openscenegraph.org website.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* OpenSceneGraph Public License for more details.
*/
//osgIntrospection - Copyright (C) 2005 Marco Jez
#include <osgIntrospection/MethodInfo>
using namespace osgIntrospection;
void MethodInfo::getInheritedProviders(CustomAttributeProviderList& providers) const
{
for (int i=0; i<_declarationType.getNumBaseTypes(); ++i)
{
const MethodInfo* mi = _declarationType.getBaseType(i).getMethod(_name, _params, false);
if (mi)
{
providers.push_back(mi);
}
}
}
bool MethodInfo::overrides(const MethodInfo* other) const
{
if (isConst() != other->isConst()) return false;
if (_declarationType != other->_declarationType) return false;
if (_rtype != other->_rtype) return false;
if (_name != other->_name) return false;
if (_params.size() != other->_params.size()) return false;
ParameterInfoList::const_iterator i=_params.begin();
ParameterInfoList::const_iterator j=other->_params.begin();
for (; i!=_params.end(); ++i, ++j)
{
if (&(*i)->getParameterType() != &(*j)->getParameterType())
return false;
}
return true;
/*
std::size_t num_fixed_1 = 0;
std::size_t num_optional_1 = 0;
for (ParameterInfoList::const_iterator i=_params.begin(); i!=_params.end(); ++i)
{
if ((*i)->getDefaultValue().isEmpty())
++num_fixed_1;
else
++num_optional_1;
}
std::size_t num_fixed_2 = 0;
std::size_t num_optional_2 = 0;
for (ParameterInfoList::const_iterator i=other->_params.begin(); i!=other->_params.end(); ++i)
{
if ((*i)->getDefaultValue().isEmpty())
++num_fixed_2;
else
++num_optional_2;
}
if (num_fixed_1 > num_fixed_2)
{
}
*/
}

View File

@ -1,367 +0,0 @@
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield
*
* This library is open source and may be redistributed and/or modified under
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
* (at your option) any later version. The full license is in LICENSE file
* included with this distribution, and on the openscenegraph.org website.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* OpenSceneGraph Public License for more details.
*/
//osgIntrospection - Copyright (C) 2005 Marco Jez
#include <osgIntrospection/PropertyInfo>
#include <osgIntrospection/Attributes>
#include <osgIntrospection/variant_cast>
using namespace osgIntrospection;
void PropertyInfo::getInheritedProviders(CustomAttributeProviderList& providers) const
{
for (int i=0; i<_declarationType.getNumBaseTypes(); ++i)
{
const PropertyInfo* pi = _declarationType.getBaseType(i).getProperty(_name, _ptype, getIndexParameters(), false);
if (pi)
{
providers.push_back(pi);
}
}
}
Value PropertyInfo::getValue(const Value& instance) const
{
const PropertyTypeAttribute *pta = getAttribute<PropertyTypeAttribute>(false);
const CustomPropertyGetAttribute *cget = getAttribute<CustomPropertyGetAttribute>(false);
if (cget)
{
if (pta)
return cget->getGetter()->get(instance).convertTo(pta->getPropertyType());
return cget->getGetter()->get(instance);
}
if (!_getm)
throw PropertyAccessException(_declarationType.getQualifiedName() + "::" + _name, PropertyAccessException::GET);
if (pta)
return _getm->invoke(instance).convertTo(pta->getPropertyType());
return _getm->invoke(instance);
}
Value PropertyInfo::getValue(Value& instance) const
{
const PropertyTypeAttribute *pta = getAttribute<PropertyTypeAttribute>(false);
const CustomPropertyGetAttribute *cget = getAttribute<CustomPropertyGetAttribute>(false);
if (cget)
{
if (pta)
return cget->getGetter()->get(instance).convertTo(pta->getPropertyType());
return cget->getGetter()->get(instance);
}
if (!_getm)
throw PropertyAccessException(_declarationType.getQualifiedName() + "::" + _name, PropertyAccessException::GET);
if (pta)
return _getm->invoke(instance).convertTo(pta->getPropertyType());
return _getm->invoke(instance);
}
void PropertyInfo::setValue(Value& instance, const Value& value) const
{
const CustomPropertySetAttribute *cset = getAttribute<CustomPropertySetAttribute>(false);
if (cset)
{
cset->getSetter()->set(instance, value);
return;
}
if (!_setm)
throw PropertyAccessException(_declarationType.getQualifiedName() + "::" + _name, PropertyAccessException::SET);
ValueList args;
args.push_back(value);
_setm->invoke(instance, args);
}
Value PropertyInfo::getIndexedValue(const Value& instance, ValueList& args) const
{
const PropertyTypeAttribute *pta = getAttribute<PropertyTypeAttribute>(false);
const CustomPropertyGetAttribute *cget = getAttribute<CustomPropertyGetAttribute>(false);
if (cget)
{
if (pta)
return cget->getGetter()->get(instance, args).convertTo(pta->getPropertyType());
return cget->getGetter()->get(instance, args);
}
if (!_getm)
throw PropertyAccessException(_declarationType.getQualifiedName() + "::" + _name, PropertyAccessException::IGET);
if (pta)
return _getm->invoke(instance, args).convertTo(pta->getPropertyType());
return _getm->invoke(instance, args);
}
Value PropertyInfo::getIndexedValue(Value& instance, ValueList& args) const
{
const PropertyTypeAttribute *pta = getAttribute<PropertyTypeAttribute>(false);
const CustomPropertyGetAttribute *cget = getAttribute<CustomPropertyGetAttribute>(false);
if (cget)
{
if (pta)
return cget->getGetter()->get(instance, args).convertTo(pta->getPropertyType());
return cget->getGetter()->get(instance, args);
}
if (!_getm)
throw PropertyAccessException(_declarationType.getQualifiedName() + "::" + _name, PropertyAccessException::IGET);
if (pta)
return _getm->invoke(instance, args).convertTo(pta->getPropertyType());
return _getm->invoke(instance, args);
}
void PropertyInfo::setIndexedValue(Value& instance, ValueList& args, const Value& value) const
{
const CustomPropertySetAttribute *cset = getAttribute<CustomPropertySetAttribute>(false);
if (cset)
{
cset->getSetter()->set(instance, args, value);
return;
}
if (!_setm)
throw PropertyAccessException(_declarationType.getQualifiedName() + "::" + _name, PropertyAccessException::ISET);
ValueList tmpArgs(args);
tmpArgs.push_back(value);
_setm->invoke(instance, tmpArgs);
}
int PropertyInfo::getNumArrayItems(const Value& instance) const
{
const CustomPropertyCountAttribute *ccount = getAttribute<CustomPropertyCountAttribute>(false);
if (ccount) return ccount->getCounter()->count(instance);
if (!_numm)
throw PropertyAccessException(_declarationType.getQualifiedName() + "::" + _name, PropertyAccessException::COUNT);
return variant_cast<int>(_numm->invoke(instance));
}
Value PropertyInfo::getArrayItem(const Value& instance, int i) const
{
const PropertyTypeAttribute *pta = getAttribute<PropertyTypeAttribute>(false);
const CustomPropertyGetAttribute *cget = getAttribute<CustomPropertyGetAttribute>(false);
if (cget)
{
if (pta)
return cget->getGetter()->get(instance, i).convertTo(pta->getPropertyType());
return cget->getGetter()->get(instance, i);
}
if (!_getm)
throw PropertyAccessException(_declarationType.getQualifiedName() + "::" + _name, PropertyAccessException::AGET);
ValueList args;
args.push_back(i);
if (pta)
return _getm->invoke(instance, args).convertTo(pta->getPropertyType());
return _getm->invoke(instance, args);
}
Value PropertyInfo::getArrayItem(Value& instance, int i) const
{
const PropertyTypeAttribute *pta = getAttribute<PropertyTypeAttribute>(false);
const CustomPropertyGetAttribute *cget = getAttribute<CustomPropertyGetAttribute>(false);
if (cget)
{
if (pta)
return cget->getGetter()->get(instance, i).convertTo(pta->getPropertyType());
return cget->getGetter()->get(instance, i);
}
if (!_getm)
throw PropertyAccessException(_declarationType.getQualifiedName() + "::" + _name, PropertyAccessException::AGET);
ValueList args;
args.push_back(i);
if (pta)
return _getm->invoke(instance, args).convertTo(pta->getPropertyType());
return _getm->invoke(instance, args);
}
void PropertyInfo::setArrayItem(Value& instance, int i, const Value& value) const
{
const CustomPropertySetAttribute *cset = getAttribute<CustomPropertySetAttribute>(false);
if (cset)
{
cset->getSetter()->set(instance, i, value);
return;
}
if (!_setm)
throw PropertyAccessException(_declarationType.getQualifiedName() + "::" + _name, PropertyAccessException::ASET);
ValueList args;
args.push_back(i);
args.push_back(value);
_setm->invoke(instance, args);
}
void PropertyInfo::addArrayItem(Value& instance, const Value& value) const
{
const CustomPropertyAddAttribute *cadd = getAttribute<CustomPropertyAddAttribute>(false);
if (cadd)
{
cadd->getAdder()->add(instance, value);
return;
}
if (!_addm)
throw PropertyAccessException(_declarationType.getQualifiedName() + "::" + _name, PropertyAccessException::ADD);
ValueList args;
args.push_back(value);
_addm->invoke(instance, args);
}
void PropertyInfo::insertArrayItem(Value& instance, int i, const Value& value) const
{
const CustomPropertyInsertAttribute *cadd = getAttribute<CustomPropertyInsertAttribute>(false);
if (cadd)
{
cadd->getInserter()->insert(instance, i, value);
return;
}
if (!_addm)
throw PropertyAccessException(_declarationType.getQualifiedName() + "::" + _name, PropertyAccessException::INSERT);
ValueList args;
args.push_back(i);
args.push_back(value);
_insm->invoke(instance, args);
}
void PropertyInfo::removeArrayItem(Value& instance, int i) const
{
const CustomPropertyRemoveAttribute *crem = getAttribute<CustomPropertyRemoveAttribute>(false);
if (crem)
{
crem->getRemover()->remove(instance, i);
return;
}
if (!_remm)
throw PropertyAccessException(_declarationType.getQualifiedName() + "::" + _name, PropertyAccessException::REMOVE);
ValueList args;
args.push_back(i);
_remm->invoke(instance, args);
}
Value PropertyInfo::getDefaultValue() const
{
if (isArray() || isIndexed()) return Value();
const CustomAttributeList& cal = getCustomAttributes();
for (CustomAttributeList::const_iterator i=cal.begin(); i!=cal.end(); ++i)
{
if (dynamic_cast<const NoDefaultValueAttribute *>(*i) != 0)
return Value();
const DefaultValueAttribute *dv = dynamic_cast<const DefaultValueAttribute *>(*i);
if (dv)
{
return dv->getDefaultValue();
}
}
if (_declarationType.isAbstract())
{
if (_ptype.isAbstract() || !_ptype.isDefined())
return Value();
return _ptype.createInstance();
}
// auto default value
Value instance = _declarationType.createInstance();
return getValue(instance);
}
void PropertyInfo::getIndexValueSet(int whichindex, const Value& instance, ValueList& values) const
{
const CustomIndexAttribute *cia = getAttribute<CustomIndexAttribute>(false);
if (cia)
{
cia->getIndexInfo()->getIndexValueSet(whichindex, instance, values);
}
else
{
std::map<int, const IndexTypeAttribute *> ita_map;
const CustomAttributeList& cal = getCustomAttributes();
for (CustomAttributeList::const_iterator i=cal.begin(); i!=cal.end(); ++i)
{
const IndexTypeAttribute *ita = dynamic_cast<const IndexTypeAttribute *>(*i);
if (ita)
ita_map[ita->getWhichIndex()] = ita;
}
const EnumLabelMap* elm = &getIndexParameters().at(whichindex)->getParameterType().getEnumLabels();
if (elm->empty())
{
if (ita_map[whichindex])
elm = &ita_map[whichindex]->getIndexType().getEnumLabels();
if (elm->empty())
throw IndexValuesNotDefinedException(_name, getIndexParameters().at(whichindex)->getName());
}
for (EnumLabelMap::const_iterator i=elm->begin(); i!=elm->end(); ++i)
{
if (ita_map[whichindex])
values.push_back(Value(i->first).convertTo(ita_map[whichindex]->getIndexType()));
else
values.push_back(Value(i->first).convertTo(_indices[whichindex]->getParameterType()));
}
}
}
const ParameterInfoList& PropertyInfo::getIndexParameters() const
{
const CustomIndexAttribute *cia = getAttribute<CustomIndexAttribute>(false);
if (cia)
{
return cia->getIndexInfo()->getIndexParameters();
}
return _indices;
}
void PropertyInfo::removeIndexedItem(Value& instance, ValueList& args) const
{
const CustomPropertyRemoveAttribute *crem = getAttribute<CustomPropertyRemoveAttribute>(false);
if (crem)
{
crem->getRemover()->remove(instance, args);
return;
}
if (!_remm)
throw PropertyAccessException(_declarationType.getQualifiedName() + "::" + _name, PropertyAccessException::REMOVE);
_remm->invoke(instance, args);
}

View File

@ -1,211 +0,0 @@
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield
*
* This library is open source and may be redistributed and/or modified under
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
* (at your option) any later version. The full license is in LICENSE file
* included with this distribution, and on the openscenegraph.org website.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* OpenSceneGraph Public License for more details.
*/
//osgIntrospection - Copyright (C) 2005 Marco Jez
#include <osgIntrospection/Reflection>
#include <osgIntrospection/Exceptions>
#include <osgIntrospection/Type>
#include <osgIntrospection/Converter>
#include <OpenThreads/Mutex>
#include <OpenThreads/ScopedLock>
#include <memory>
using namespace osgIntrospection;
Reflection::StaticData* Reflection::_static_data = 0;
Reflection::StaticData::~StaticData()
{
for (TypeMap::iterator i=typemap.begin(); i!=typemap.end(); ++i)
delete i->second;
for (ConverterMapMap::iterator i=convmap.begin(); i!=convmap.end(); ++i)
{
for (ConverterMap::iterator j=i->second.begin(); j!=i->second.end(); ++j)
{
delete j->second;
}
}
}
const TypeMap& Reflection::getTypes()
{
return getOrCreateStaticData().typemap;
}
Reflection::StaticData& Reflection::getOrCreateStaticData()
{
static OpenThreads::Mutex access_mtx;
OpenThreads::ScopedLock<OpenThreads::Mutex> lock(access_mtx);
if (!_static_data)
{
_static_data = new StaticData;
std::auto_ptr<Type> tvoid(new Type(extended_typeid<void>()));
_static_data->typemap.insert(std::make_pair(extended_typeid<void>(), tvoid.get()));
_static_data->type_void = tvoid.release();
}
return *_static_data;
}
const Type& Reflection::getType(const ExtendedTypeInfo &ti)
{
const TypeMap& types = getTypes();
TypeMap::const_iterator i = types.find(ti);
if (i == types.end())
{
return *registerType(ti);
}
return *i->second;
}
const Type& Reflection::getType(const std::string& qname)
{
const TypeMap& types = getTypes();
for (TypeMap::const_iterator i=types.begin(); i!=types.end(); ++i)
{
if (i->second->isDefined() && i->second->getQualifiedName().compare(qname) == 0)
return *i->second;
for (int j=0; j<i->second->getNumAliases(); ++j)
if (i->second->getAlias(j).compare(qname) == 0)
return *i->second;
}
throw TypeNotFoundException(qname);
}
const Type& Reflection::type_void()
{
return *getOrCreateStaticData().type_void;
}
Type* Reflection::registerType(const ExtendedTypeInfo &ti)
{
std::auto_ptr<Type> type(new Type(ti));
getOrCreateStaticData().typemap.insert(std::make_pair(ti, type.get()));
return type.release();
}
Type* Reflection::getOrRegisterType(const ExtendedTypeInfo &ti, bool replace_if_defined)
{
TypeMap& tm = getOrCreateStaticData().typemap;
TypeMap::iterator i = tm.find(ti);
if (i != tm.end())
{
if (replace_if_defined && i->second->isDefined())
{
std::string old_name = i->second->getName();
std::string old_namespace = i->second->getNamespace();
std::vector<std::string> old_aliases = i->second->_aliases;
i->second->reset();
i->second->_name = old_name;
i->second->_namespace = old_namespace;
i->second->_aliases.swap(old_aliases);
}
return i->second;
}
return registerType(ti);
}
void Reflection::registerConverter(const Type& source, const Type& dest, const Converter* cvt)
{
const Converter* old = NULL;
StaticData::ConverterMap::iterator it = getOrCreateStaticData().convmap[&source].find(&dest);
if(it != getOrCreateStaticData().convmap[&source].end())
old = it->second;
getOrCreateStaticData().convmap[&source][&dest] = cvt;
if(old)
delete old;
}
const Converter* Reflection::getConverter(const Type& source, const Type& dest)
{
return getOrCreateStaticData().convmap[&source][&dest];
}
bool Reflection::getConversionPath(const Type& source, const Type& dest, ConverterList& conv)
{
ConverterList temp;
std::vector<const Type* > chain;
if (accum_conv_path(source, dest, temp, chain, STATIC_CAST))
{
conv.swap(temp);
return true;
}
if (source.isPointer() && dest.isPointer())
{
chain.clear();
temp.clear();
if (accum_conv_path(source, dest, temp, chain, DYNAMIC_CAST))
{
conv.swap(temp);
return true;
}
}
return false;
}
bool Reflection::accum_conv_path(const Type& source, const Type& dest, ConverterList& conv, std::vector<const Type* > &chain, CastType castType)
{
// break unwanted loops
if (std::find(chain.begin(), chain.end(), &source) != chain.end())
return false;
// store the type being processed to avoid loops
chain.push_back(&source);
// search a converter from "source"
StaticData::ConverterMapMap::const_iterator i = getOrCreateStaticData().convmap.find(&source);
if (i == getOrCreateStaticData().convmap.end())
return false;
// search a converter to "dest"
const StaticData::ConverterMap& cmap = i->second;
StaticData::ConverterMap::const_iterator j = cmap.find(&dest);
if (j != cmap.end() && (j->second->getCastType() == castType))
{
conv.push_back(j->second);
return true;
}
// search a undirect converter from "source" to ... to "dest"
for (j=cmap.begin(); j!=cmap.end(); ++j)
{
if ((j->second->getCastType() == castType) && accum_conv_path(*j->first, dest, conv, chain, castType))
{
conv.push_front(j->second);
return true;
}
}
return false;
}
void Reflection::uninitialize() {
if(_static_data)
delete _static_data;
_static_data = 0;
}

View File

@ -1,30 +0,0 @@
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield
*
* This library is open source and may be redistributed and/or modified under
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
* (at your option) any later version. The full license is in LICENSE file
* included with this distribution, and on the openscenegraph.org website.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* OpenSceneGraph Public License for more details.
*/
#include <osgIntrospection/Reflector>
namespace osgIntrospection
{
template<>
void Reflector<void>::init_reference_types()
{
// Avoid trying to register void & / const void &, which are
// illegal types.
}
template<>
void Reflector<void>::init_void_converter()
{
// Avoid
}
}

View File

@ -1,309 +0,0 @@
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield
*
* This library is open source and may be redistributed and/or modified under
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
* (at your option) any later version. The full license is in LICENSE file
* included with this distribution, and on the openscenegraph.org website.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* OpenSceneGraph Public License for more details.
*/
//osgIntrospection - Copyright (C) 2005 Marco Jez
#include <osgIntrospection/Type>
#include <osgIntrospection/Value>
#include <osgIntrospection/Reflection>
#include <osgIntrospection/PropertyInfo>
#include <osgIntrospection/MethodInfo>
#include <osgIntrospection/ReaderWriter>
#include <osgIntrospection/Utility>
#include <osgIntrospection/ConstructorInfo>
#include <osgIntrospection/Comparator>
#include <iterator>
#include <algorithm>
using namespace osgIntrospection;
namespace
{
template<typename T>
struct ObjectMatch
{
int list_pos;
float match;
const T *object;
bool operator < (const ObjectMatch &m) const
{
if (match > m.match) return true;
if (match < m.match) return false;
if (list_pos < m.list_pos) return true;
return false;
}
};
typedef ObjectMatch<MethodInfo> MethodMatch;
typedef ObjectMatch<ConstructorInfo> ConstructorMatch;
}
void Type::reset()
{
for (PropertyInfoList::const_iterator i=_props.begin(); i!=_props.end(); ++i)
delete *i;
for (MethodInfoList::const_iterator i=_methods.begin(); i!=_methods.end(); ++i)
delete *i;
for (MethodInfoList::const_iterator i=_protected_methods.begin(); i!=_protected_methods.end(); ++i)
delete *i;
for (ConstructorInfoList::const_iterator i=_cons.begin(); i!=_cons.end(); ++i)
delete *i;
for (ConstructorInfoList::const_iterator i=_protected_cons.begin(); i!=_protected_cons.end(); ++i)
delete *i;
_props.clear();
_methods.clear();
_protected_methods.clear();
_cons.clear();
_protected_cons.clear();
delete _rw;
delete _cmp;
}
Type::~Type()
{
reset();
}
bool Type::isSubclassOf(const Type& type) const
{
check_defined();
for (TypeList::const_iterator i=_base.begin(); i!=_base.end(); ++i)
{
if ((*i)->getExtendedTypeInfo() == type.getExtendedTypeInfo())
return true;
if ((*i)->isSubclassOf(type))
return true;
}
return false;
}
const MethodInfo *Type::getCompatibleMethod(const std::string& name, const ValueList& values, bool inherit) const
{
check_defined();
MethodInfoList allmethods;
const MethodInfoList *methods;
if (inherit)
{
getAllMethods(allmethods);
methods = &allmethods;
}
else
methods = &_methods;
typedef std::vector<MethodMatch> MatchList;
MatchList matches;
int pos = 0;
for (MethodInfoList::const_iterator j=methods->begin(); j!=methods->end(); ++j, ++pos)
{
const MethodInfo *mi = *j;
if (mi->getName().compare(name) == 0)
{
float match;
if (areArgumentsCompatible(values, mi->getParameters(), match))
{
MethodMatch mm;
mm.list_pos = pos;
mm.match = match;
mm.object = mi;
matches.push_back(mm);
}
}
}
if (!matches.empty())
{
std::sort(matches.begin(), matches.end());
return matches.front().object;
}
return 0;
}
const MethodInfo *Type::getMethod(const std::string& name, const ParameterInfoList& params, bool inherit) const
{
check_defined();
for (MethodInfoList::const_iterator j=_methods.begin(); j!=_methods.end(); ++j)
{
const MethodInfo *mi = *j;
if (mi->getName().compare(name) == 0)
{
if (areParametersCompatible(params, mi->getParameters()))
{
return mi;
}
}
}
if (inherit)
{
for (TypeList::const_iterator i=_base.begin(); i!=_base.end(); ++i)
{
const MethodInfo *mi = (*i)->getMethod(name, params, true);
if (mi) return mi;
}
}
return 0;
}
void Type::getInheritedProviders(CustomAttributeProviderList& providers) const
{
check_defined();
providers.assign(_base.begin(), _base.end());
}
const PropertyInfo *Type::getProperty(const std::string& name, const Type& ptype, const ParameterInfoList& indices, bool inherit) const
{
check_defined();
for (PropertyInfoList::const_iterator i=_props.begin(); i!=_props.end(); ++i)
{
const PropertyInfo *pi = *i;
if (pi->getName() == name && pi->getPropertyType() == ptype)
{
if (areParametersCompatible(indices, pi->getIndexParameters()))
{
return pi;
}
}
}
if (inherit)
{
for (TypeList::const_iterator i=_base.begin(); i!=_base.end(); ++i)
{
const PropertyInfo *pi = (*i)->getProperty(name, ptype, indices, true);
if (pi) return pi;
}
}
return 0;
}
Value Type::invokeMethod(const std::string& name, const Value& instance, ValueList& args, bool inherit) const
{
check_defined();
const MethodInfo *mi = getCompatibleMethod(name, args, inherit);
if (!mi) throw MethodNotFoundException(name, _name);
return mi->invoke(instance, args);
}
Value Type::invokeMethod(const std::string& name, Value& instance, ValueList& args, bool inherit) const
{
check_defined();
const MethodInfo *mi = getCompatibleMethod(name, args, inherit);
if (!mi) throw MethodNotFoundException(name, _name);
return mi->invoke(instance, args);
}
void Type::getAllProperties(PropertyInfoList& props) const
{
check_defined();
std::copy(_props.begin(), _props.end(), std::back_inserter(props));
for (TypeList::const_iterator i=_base.begin(); i!=_base.end(); ++i)
{
(*i)->getAllProperties(props);
}
}
void Type::getPropertiesMap(PropertyInfoMap& props) const
{
check_defined();
props[this] = _props;
for (TypeList::const_iterator i=_base.begin(); i!=_base.end(); ++i)
{
(*i)->getPropertiesMap(props);
}
}
void Type::getAllMethods(MethodInfoList& methods, FunctionCategory category) const
{
check_defined();
const MethodInfoList& input_methods = (category == PUBLIC_FUNCTIONS ? _methods : _protected_methods);
std::copy(input_methods.begin(), input_methods.end(), std::back_inserter(methods));
for (TypeList::const_iterator i=_base.begin(); i!=_base.end(); ++i)
{
(*i)->getAllMethods(methods, category);
}
}
void Type::getMethodsMap(MethodInfoMap& methods, FunctionCategory category) const
{
check_defined();
methods[this] = (category == PUBLIC_FUNCTIONS ? _methods : _protected_methods);
for (TypeList::const_iterator i=_base.begin(); i!=_base.end(); ++i)
{
(*i)->getMethodsMap(methods, category);
}
}
Value Type::createInstance(ValueList& args) const
{
if (isAbstract())
throw TypeIsAbstractException(_ti);
const ConstructorInfo *ci = getCompatibleConstructor(args);
if (!ci)
throw ConstructorNotFoundException(_ti);
return ci->createInstance(args);
}
const ConstructorInfo *Type::getCompatibleConstructor(const ValueList& values) const
{
check_defined();
typedef std::vector<ConstructorMatch> MatchList;
MatchList matches;
int pos = 0;
for (ConstructorInfoList::const_iterator j=_cons.begin(); j!=_cons.end(); ++j, ++pos)
{
float match;
if (areArgumentsCompatible(values, (*j)->getParameters(), match))
{
ConstructorMatch mm;
mm.list_pos = pos;
mm.match = match;
mm.object = *j;
matches.push_back(mm);
}
}
if (!matches.empty())
{
std::sort(matches.begin(), matches.end());
return matches.front().object;
}
return 0;
}
const ConstructorInfo *Type::getConstructor(const ParameterInfoList& params) const
{
check_defined();
for (ConstructorInfoList::const_iterator j=_cons.begin(); j!=_cons.end(); ++j)
{
if (areParametersCompatible(params, (*j)->getParameters()))
return *j;
}
return 0;
}

View File

@ -1,85 +0,0 @@
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield
*
* This library is open source and may be redistributed and/or modified under
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
* (at your option) any later version. The full license is in LICENSE file
* included with this distribution, and on the openscenegraph.org website.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* OpenSceneGraph Public License for more details.
*/
//osgIntrospection - Copyright (C) 2005 Marco Jez
#include <osgIntrospection/Utility>
using namespace osgIntrospection;
bool osgIntrospection::areParametersCompatible(const ParameterInfoList& pl1, const ParameterInfoList& pl2)
{
if (pl1.size() == pl2.size())
{
if (pl1.empty())
return true;
ParameterInfoList::const_iterator i1 = pl1.begin();
ParameterInfoList::const_iterator i2 = pl2.begin();
for (; i1<pl1.end(); ++i1, ++i2)
{
const ParameterInfo &p1 = **i1;
const ParameterInfo &p2 = **i2;
if (p1.getParameterType() == p2.getParameterType() &&
p1.getAttributes() == p2.getAttributes())
{
return true;
}
}
}
return false;
}
bool osgIntrospection::areArgumentsCompatible(const ValueList& vl, const ParameterInfoList& pl, float &match)
{
if (pl.empty())
{
if (vl.empty())
{
match = 1.0f;
return true;
}
return false;
}
ParameterInfoList::const_iterator i1 = pl.begin();
ValueList::const_iterator i2 = vl.begin();
int exact_args = 0;
for (; i1<pl.end(); ++i1)
{
if (i2 == vl.end())
{
if ((*i1)->getDefaultValue().isEmpty())
return false;
continue;
}
if ((*i1)->getParameterType() != i2->getType())
{
if (i2->tryConvertTo((*i1)->getParameterType()).isEmpty())
{
return false;
}
}
else
++exact_args;
++i2;
}
match = static_cast<float>(exact_args) / pl.size();
return true;
}

View File

@ -1,230 +0,0 @@
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield
*
* This library is open source and may be redistributed and/or modified under
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
* (at your option) any later version. The full license is in LICENSE file
* included with this distribution, and on the openscenegraph.org website.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* OpenSceneGraph Public License for more details.
*/
//osgIntrospection - Copyright (C) 2005 Marco Jez
#include <osgIntrospection/Value>
#include <osgIntrospection/Type>
#include <osgIntrospection/Exceptions>
#include <osgIntrospection/ReaderWriter>
#include <osgIntrospection/Comparator>
#include <osgIntrospection/Converter>
#include <osgIntrospection/Reflection>
#include <sstream>
#include <memory>
using namespace osgIntrospection;
Value Value::convertTo(const Type& outtype) const
{
Value v = tryConvertTo(outtype);
if (v.isEmpty())
throw TypeConversionException(_type->getExtendedTypeInfo(), outtype.getExtendedTypeInfo());
return v;
}
Value Value::tryConvertTo(const Type& outtype) const
{
check_empty();
if (_type == &outtype)
return *this;
if (_type->isConstPointer() && outtype.isNonConstPointer())
return Value();
// search custom converters
ConverterList conv;
if (Reflection::getConversionPath(*_type, outtype, conv))
{
std::auto_ptr<CompositeConverter> cvt(new CompositeConverter(conv));
return cvt->convert(*this);
}
std::auto_ptr<ReaderWriter::Options> wopt;
if (_type->isEnum() && (outtype.getQualifiedName() == "int" || outtype.getQualifiedName() == "unsigned int"))
{
wopt.reset(new ReaderWriter::Options);
wopt->setForceNumericOutput(true);
}
// ** never converte a pointer to another pointer with the ReaderWriter method
// ** in this case, the ReaderWriter method always work and
// ** using a pointer with a bad type cause a SEGFAULT
if (_type->isPointer() && outtype.isPointer()) return Value();
const ReaderWriter* src_rw = _type->getReaderWriter();
if (src_rw)
{
const ReaderWriter* dst_rw = outtype.getReaderWriter();
if (dst_rw)
{
std::stringstream ss;
if (src_rw->writeTextValue(ss, *this, wopt.get()))
{
Value v;
if (dst_rw->readTextValue(ss, v))
{
return v;
}
}
}
}
return Value();
}
std::string Value::toString() const
{
check_empty();
const ReaderWriter* rw = _type->getReaderWriter();
if (rw)
{
std::ostringstream oss;
if (!rw->writeTextValue(oss, *this))
throw StreamWriteErrorException();
return oss.str();
}
throw StreamingNotSupportedException(StreamingNotSupportedException::ANY, _type->getExtendedTypeInfo());
}
std::wstring Value::toWString() const
{
check_empty();
const ReaderWriter* rw = _type->getReaderWriter();
if (rw)
{
std::wostringstream woss;
if (!rw->writeTextValue(woss, *this))
throw StreamWriteErrorException();
return woss.str();
}
throw StreamingNotSupportedException(StreamingNotSupportedException::ANY, _type->getExtendedTypeInfo());
}
void Value::check_empty() const
{
if (!_type || !_inbox)
throw EmptyValueException();
}
void Value::swap(Value& v)
{
std::swap(_inbox, v._inbox);
std::swap(_type, v._type);
std::swap(_ptype, v._ptype);
}
bool Value::operator ==(const Value& other) const
{
if (isEmpty() && other.isEmpty())
return true;
if (isEmpty() ^ other.isEmpty())
return false;
const Comparator* cmp1 = _type->getComparator();
const Comparator* cmp2 = other._type->getComparator();
const Comparator* cmp = cmp1? cmp1: cmp2;
if (!cmp)
throw ComparisonNotPermittedException(_type->getExtendedTypeInfo());
if (cmp1 == cmp2)
return cmp->isEqualTo(*this, other);
if (cmp1)
return cmp1->isEqualTo(*this, other.convertTo(*_type));
return cmp2->isEqualTo(convertTo(*other._type), other);
}
bool Value::operator <=(const Value& other) const
{
const Comparator* cmp1 = _type->getComparator();
const Comparator* cmp2 = other._type->getComparator();
const Comparator* cmp = cmp1? cmp1: cmp2;
if (!cmp)
throw ComparisonNotPermittedException(_type->getExtendedTypeInfo());
if (cmp1 == cmp2)
return cmp->isLessThanOrEqualTo(*this, other);
if (cmp1)
return cmp1->isLessThanOrEqualTo(*this, other.convertTo(*_type));
return cmp2->isLessThanOrEqualTo(convertTo(*other._type), other);
}
bool Value::operator !=(const Value& other) const
{
return !operator==(other);
}
bool Value::operator >(const Value& other) const
{
return !operator<=(other);
}
bool Value::operator <(const Value& other) const
{
const Comparator* cmp1 = _type->getComparator();
const Comparator* cmp2 = other._type->getComparator();
const Comparator* cmp = cmp1? cmp1: cmp2;
if (!cmp)
throw ComparisonNotPermittedException(_type->getExtendedTypeInfo());
if (cmp1 == cmp2)
return cmp->isLessThanOrEqualTo(*this, other) && !cmp->isEqualTo(*this, other);
if (cmp1)
{
Value temp(other.convertTo(*_type));
return cmp1->isLessThanOrEqualTo(*this, temp) && !cmp1->isEqualTo(*this, temp);
}
Value temp(convertTo(*other._type));
return cmp2->isLessThanOrEqualTo(temp, other) && !cmp2->isEqualTo(temp, other);
}
bool Value::operator >=(const Value& other) const
{
const Comparator* cmp1 = _type->getComparator();
const Comparator* cmp2 = other._type->getComparator();
const Comparator* cmp = cmp1? cmp1: cmp2;
if (!cmp)
throw ComparisonNotPermittedException(_type->getExtendedTypeInfo());
if (cmp1 == cmp2)
return !cmp->isLessThanOrEqualTo(*this, other) || cmp->isEqualTo(*this, other);
if (cmp1)
{
Value temp(other.convertTo(*_type));
return !cmp1->isLessThanOrEqualTo(*this, temp) || cmp1->isEqualTo(*this, temp);
}
Value temp(convertTo(*other._type));
return !cmp2->isLessThanOrEqualTo(temp, other) || cmp2->isEqualTo(temp, other);
}

View File

@ -1,30 +0,0 @@
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield
*
* This library is open source and may be redistributed and/or modified under
* the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
* (at your option) any later version. The full license is in LICENSE file
* included with this distribution, and on the openscenegraph.org website.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* OpenSceneGraph Public License for more details.
*/
#include <osgIntrospection/Version>
#include <osg/Version>
extern "C" {
const char* osgIntrospectionGetVersion()
{
return osgGetVersion();
}
const char* osgIntrospectionGetLibraryName()
{
return "OpenSceneGraph Introspection Library";
}
}

View File

@ -1,155 +0,0 @@
PROJECT(OSG_WRAPPERS)
IF(NOT DYNAMIC_OPENSCENEGRAPH)
ADD_DEFINITIONS(-DOSG_LIBRARY_STATIC)
ENDIF()
SET(LIBRARY_OUTPUT_PATH "${LIBRARY_OUTPUT_PATH}/${OSG_PLUGINS}")
SET(CMAKE_SHARED_MODULE_PREFIX ${OSG_PLUGIN_PREFIX})
IF(MSVC80 OR MSVC90)
IF(NOT OSG_MSVC_GENERATE_PLUGINS_AND_WRAPPERS_MANIFESTS)
SET(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} /MANIFEST:NO")
ENDIF()
ENDIF()
MACRO(ADD_WRAPPER_LIB SUBDIR EXPORTDEF)
SET(TARGET_NAME "osgwrapper_${SUBDIR}")
# MESSAGE(STATUS "--inizio-->${TARGET_NAME}<->${LINK}<-")
FILE(GLOB SRC_FILES ${OSGWRAPPER_DIR}/${SUBDIR}/*.cpp)
#-- extract link files, defines, exclude files form additional arguments
SET(LISTNAME "TEMP")
SET(DEFSTR "")
FOREACH(ARG ${ARGN}) # parse remaining args
#MESSAGE(STATUS "+ [${ARG}]")
#MESSAGE("ARG-->${ARG}")
# if we find our keywords set the active list to given keyname
STRING(COMPARE EQUAL "${ARG}" "LINK" IS_LINK)
STRING(COMPARE EQUAL "${ARG}" "DEFINE" IS_DEFINE)
STRING(COMPARE EQUAL "${ARG}" "EXCLUDE" IS_EXCLUDE)
#MESSAGE(STATUS "STRSTUFF L ${IS_LINK} D ${IS_DEFINE} E ${IS_EXCLUDE}")
SET(EXPRESSION ${IS_LINK} OR ${IS_DEFINE} OR ${IS_EXCLUDE})
IF(${EXPRESSION})
SET(${LISTNAME} ${CURRLIST})
# MESSAGE(STATUS "STORED LIST [${LISTNAME}] = (${CURRLIST})")
SET(LISTNAME ${ARG})
REMOVE(CURRLIST ${CURRLIST} )
ELSE()
SET(CURRLIST ${CURRLIST} ${ARG})
ENDIF()
ENDFOREACH()
SET(${LISTNAME} ${CURRLIST})
#MESSAGE(STATUS "STORED LIST [${LISTNAME}] = (${CURRLIST})")
REMOVE(CURRLIST ${CURRLIST} )
#MESSAGE(STATUS "AFTER: EXC (${EXCLUDE}) DEF (${DEFINE}) LINK (${LINK})")
FOREACH(EXF ${EXCLUDE})
REMOVE(SRC_FILES ${OPENSCENEGRAPH_DIR}/src/${SUBDIR}/${EXF})
ENDFOREACH()
FOREACH(DEF ${DEFINE})
SET(DEFSTR "${DEFSTR} /D \"${DEF}\"")
#MESSAGE(STATUS "add symbol : " ${DEF})
ENDFOREACH()
IF(NOT DEFSTR STREQUAL "")
SET_SOURCE_FILES_PROPERTIES(${SRC_FILES} PROPERTIES COMPILE_FLAGS ${DEFSTR})
#MESSAGE(STATUS "********* ADD COMPILE FLAGS ${DEFSTR} **********")
ENDIF()
#ADD_LIBRARY(${TARGET_NAME} SHARED ${SRC_FILES} )
ADD_LIBRARY(${TARGET_NAME} MODULE ${SRC_FILES} )
#not sure if needed, but for plugins only msvc need the d suffix
IF(NOT MSVC)
SET_TARGET_PROPERTIES(${TARGET_NAME} PROPERTIES DEBUG_POSTFIX "")
ELSE()
IF(OSG_MSVC_VERSIONED_DLL)
#this is a hack... the build place is set to lib/<debug or release> by LIBARARY_OUTPUT_PATH equal to OUTPUT_LIBDIR
#the .lib will be crated in ../ so going straight in lib by the IMPORT_PREFIX property
#because we want dll placed in OUTPUT_BINDIR ie the bin folder sibling of lib, we can use ../../bin to go there,
#it is hardcoded, we should compute OUTPUT_BINDIR position relative to OUTPUT_LIBDIR ... to be implemented
#changing bin to something else breaks this hack
#the dll are placed in bin/${OSG_PLUGINS}
IF(NOT MSVC_IDE)
SET_TARGET_PROPERTIES(${TARGET_NAME} PROPERTIES PREFIX "../bin/${OSG_PLUGINS}/")
ELSE()
SET_TARGET_PROPERTIES(${TARGET_NAME} PROPERTIES PREFIX "../../bin/${OSG_PLUGINS}/" IMPORT_PREFIX "../")
ENDIF()
ELSE()
#in standard mode (unversioned) the .lib and .dll are placed in lib/<debug or release>/${OSG_PLUGINS}.
#here the PREFIX property has been used, the same result would be accomplidhe by prepending ${OSG_PLUGINS}/ to OUTPUT_NAME target property
SET_TARGET_PROPERTIES(${TARGET_NAME} PROPERTIES PREFIX "${OSG_PLUGINS}/")
ENDIF()
ENDIF()
SET_TARGET_PROPERTIES(${TARGET_NAME} PROPERTIES DEFINE_SYMBOL "${EXPORTDEF}" PROJECT_LABEL "Wrapper ${SUBDIR}")
IF(MSVC AND OSG_MSVC_VERSIONED_DLL)
LINK_INTERNAL(${TARGET_NAME} ${LINK})
#when using full path name to specify linkage, it seems that already linked libs must be specified
LINK_EXTERNAL(${TARGET_NAME} ${OPENGL_LIBRARIES})
ELSE()
TARGET_LINK_LIBRARIES(${TARGET_NAME} ${LINK})
ENDIF()
#MESSAGE(STATUS "--TARGET_LINK_LIBRARIES-->${TARGET_NAME}<->${LINK}<-")
#FIXME: Deprecated
REMOVE(DEFINE ${DEFINE})
REMOVE(LINK ${LINK})
REMOVE(EXCLUDE ${EXCLUDE})
IF(WIN32)
INSTALL(TARGETS ${TARGET_NAME}
RUNTIME DESTINATION bin
ARCHIVE DESTINATION lib/${OSG_PLUGINS}
LIBRARY DESTINATION bin/${OSG_PLUGINS}
COMPONENT libopenscenegraph-wrappers)
ELSE()
INSTALL(TARGETS ${TARGET_NAME}
RUNTIME DESTINATION bin
ARCHIVE DESTINATION lib${LIB_POSTFIX}/${OSG_PLUGINS}
LIBRARY DESTINATION lib${LIB_POSTFIX}/${OSG_PLUGINS}
COMPONENT libopenscenegraph-wrappers)
ENDIF()
ENDMACRO(ADD_WRAPPER_LIB)
SET(OSGWRAPPER_LIB_LIST
OpenThreads
osg
osgAnimation
osgDB
osgFX
osgGA
osgManipulator
osgParticle
osgPresentation
osgShadow
osgSim
osgTerrain
osgText
osgUtil
osgViewer
osgVolume
osgWidget
)
SET(OSGWRAPPER_DIR ${CMAKE_CURRENT_SOURCE_DIR})
IF(MSVC)
SET(LIBRARY_OUTPUT_PATH ${OUTPUT_LIBDIR})
ENDIF()
FOREACH(LIB ${OSGWRAPPER_LIB_LIST})
ADD_WRAPPER_LIB(${LIB} OSGWRAPPERS_LIBRARY LINK OpenThreads osg osgGA ${LIB} osgIntrospection)
ENDFOREACH()

View File

@ -1,236 +0,0 @@
# Doxyfile 1.4.1
#---------------------------------------------------------------------------
# Project related configuration options
#---------------------------------------------------------------------------
PROJECT_NAME = "OSG Introspection Wrappers"
PROJECT_NUMBER =
OUTPUT_DIRECTORY = "$(OUTPUT_DIR)"
CREATE_SUBDIRS = NO
OUTPUT_LANGUAGE = English
BRIEF_MEMBER_DESC = YES
REPEAT_BRIEF = YES
ABBREVIATE_BRIEF = "The $name class" \
"The $name widget" \
"The $name file" \
is \
provides \
specifies \
contains \
represents \
a \
an \
the
ALWAYS_DETAILED_SEC = NO
INLINE_INHERITED_MEMB = NO
FULL_PATH_NAMES = YES
STRIP_FROM_PATH = "$(INPUT_DIR)"
STRIP_FROM_INC_PATH =
SHORT_NAMES = NO
JAVADOC_AUTOBRIEF = YES
MULTILINE_CPP_IS_BRIEF = NO
INHERIT_DOCS = YES
DISTRIBUTE_GROUP_DOC = NO
TAB_SIZE = 8
ALIASES =
OPTIMIZE_OUTPUT_FOR_C = NO
OPTIMIZE_OUTPUT_JAVA = NO
SUBGROUPING = YES
#---------------------------------------------------------------------------
# Build related configuration options
#---------------------------------------------------------------------------
EXTRACT_ALL = YES
EXTRACT_PRIVATE = YES
EXTRACT_STATIC = YES
EXTRACT_LOCAL_CLASSES = YES
EXTRACT_LOCAL_METHODS = NO
HIDE_UNDOC_MEMBERS = NO
HIDE_UNDOC_CLASSES = NO
HIDE_FRIEND_COMPOUNDS = NO
HIDE_IN_BODY_DOCS = NO
INTERNAL_DOCS = NO
CASE_SENSE_NAMES = NO
HIDE_SCOPE_NAMES = NO
SHOW_INCLUDE_FILES = YES
INLINE_INFO = YES
SORT_MEMBER_DOCS = YES
SORT_BRIEF_DOCS = NO
SORT_BY_SCOPE_NAME = NO
GENERATE_TODOLIST = NO
GENERATE_TESTLIST = NO
GENERATE_BUGLIST = NO
GENERATE_DEPRECATEDLIST= NO
ENABLED_SECTIONS =
MAX_INITIALIZER_LINES = 30
SHOW_USED_FILES = YES
SHOW_DIRECTORIES = YES
FILE_VERSION_FILTER =
#---------------------------------------------------------------------------
# configuration options related to warning and progress messages
#---------------------------------------------------------------------------
QUIET = YES
WARNINGS = YES
WARN_IF_UNDOCUMENTED = YES
WARN_IF_DOC_ERROR = YES
WARN_NO_PARAMDOC = NO
WARN_FORMAT = "$file:$line: $text"
WARN_LOGFILE =
#---------------------------------------------------------------------------
# configuration options related to the input files
#---------------------------------------------------------------------------
INPUT = "$(INPUT_DIR)include"
FILE_PATTERNS = */include/*
RECURSIVE = YES
EXCLUDE =
EXCLUDE_SYMLINKS = NO
EXCLUDE_PATTERNS = "*/include/osgIntrospection/*" "*/include/CVS/*" "*/include/osg*/CVS/*" "*.#*" "*/.svn/*"
EXAMPLE_PATH =
EXAMPLE_PATTERNS = *
EXAMPLE_RECURSIVE = NO
IMAGE_PATH =
INPUT_FILTER =
FILTER_PATTERNS =
FILTER_SOURCE_FILES = NO
#---------------------------------------------------------------------------
# configuration options related to source browsing
#---------------------------------------------------------------------------
SOURCE_BROWSER = NO
INLINE_SOURCES = NO
STRIP_CODE_COMMENTS = YES
REFERENCED_BY_RELATION = NO
REFERENCES_RELATION = NO
VERBATIM_HEADERS = NO
#---------------------------------------------------------------------------
# configuration options related to the alphabetical class index
#---------------------------------------------------------------------------
ALPHABETICAL_INDEX = NO
COLS_IN_ALPHA_INDEX = 5
IGNORE_PREFIX =
#---------------------------------------------------------------------------
# configuration options related to the HTML output
#---------------------------------------------------------------------------
GENERATE_HTML = NO
HTML_OUTPUT = html
HTML_FILE_EXTENSION = .html
HTML_HEADER =
HTML_FOOTER =
HTML_STYLESHEET =
HTML_ALIGN_MEMBERS = YES
GENERATE_HTMLHELP = NO
CHM_FILE =
HHC_LOCATION =
GENERATE_CHI = NO
BINARY_TOC = NO
TOC_EXPAND = NO
DISABLE_INDEX = NO
ENUM_VALUES_PER_LINE = 4
GENERATE_TREEVIEW = NO
TREEVIEW_WIDTH = 250
#---------------------------------------------------------------------------
# configuration options related to the LaTeX output
#---------------------------------------------------------------------------
GENERATE_LATEX = NO
LATEX_OUTPUT = latex
LATEX_CMD_NAME = latex
MAKEINDEX_CMD_NAME = makeindex
COMPACT_LATEX = NO
PAPER_TYPE = a4wide
EXTRA_PACKAGES =
LATEX_HEADER =
PDF_HYPERLINKS = NO
USE_PDFLATEX = NO
LATEX_BATCHMODE = NO
LATEX_HIDE_INDICES = NO
#---------------------------------------------------------------------------
# configuration options related to the RTF output
#---------------------------------------------------------------------------
GENERATE_RTF = NO
RTF_OUTPUT = rtf
COMPACT_RTF = NO
RTF_HYPERLINKS = NO
RTF_STYLESHEET_FILE =
RTF_EXTENSIONS_FILE =
#---------------------------------------------------------------------------
# configuration options related to the man page output
#---------------------------------------------------------------------------
GENERATE_MAN = NO
MAN_OUTPUT = man
MAN_EXTENSION = .3
MAN_LINKS = NO
#---------------------------------------------------------------------------
# configuration options related to the XML output
#---------------------------------------------------------------------------
GENERATE_XML = YES
XML_OUTPUT = xml
XML_SCHEMA =
XML_DTD =
XML_PROGRAMLISTING = YES
#---------------------------------------------------------------------------
# configuration options for the AutoGen Definitions output
#---------------------------------------------------------------------------
GENERATE_AUTOGEN_DEF = NO
#---------------------------------------------------------------------------
# configuration options related to the Perl module output
#---------------------------------------------------------------------------
GENERATE_PERLMOD = NO
PERLMOD_LATEX = NO
PERLMOD_PRETTY = YES
PERLMOD_MAKEVAR_PREFIX =
#---------------------------------------------------------------------------
# Configuration options related to the preprocessor
#---------------------------------------------------------------------------
ENABLE_PREPROCESSING = YES
MACRO_EXPANSION = YES
EXPAND_ONLY_PREDEF = YES
SEARCH_INCLUDES = YES
INCLUDE_PATH = "$(INPUT_DIR)include"
INCLUDE_FILE_PATTERNS =
EXPAND_AS_DEFINED = META_Object \
META_StateAttribute \
META_Node \
META_Shape \
META_Technique \
META_NodeVisitor \
META_Effect \
META_Action \
META_ActionVisitor \
META_OSGMANIPULATOR_Object
PREDEFINED =
SKIP_FUNCTION_MACROS = YES
#---------------------------------------------------------------------------
# Configuration::additions related to external references
#---------------------------------------------------------------------------
TAGFILES =
GENERATE_TAGFILE =
ALLEXTERNALS = NO
EXTERNAL_GROUPS = YES
PERL_PATH = /usr/bin/perl
#---------------------------------------------------------------------------
# Configuration options related to the dot tool
#---------------------------------------------------------------------------
CLASS_DIAGRAMS = NO
HIDE_UNDOC_RELATIONS = YES
HAVE_DOT = NO
CLASS_GRAPH = YES
COLLABORATION_GRAPH = YES
GROUP_GRAPHS = YES
UML_LOOK = NO
TEMPLATE_RELATIONS = NO
INCLUDE_GRAPH = YES
INCLUDED_BY_GRAPH = YES
CALL_GRAPH = NO
GRAPHICAL_HIERARCHY = YES
DIRECTORY_GRAPH = YES
DOT_IMAGE_FORMAT = png
DOT_PATH =
DOTFILE_DIRS =
MAX_DOT_GRAPH_DEPTH = 1000
DOT_TRANSPARENT = NO
DOT_MULTI_TARGETS = NO
GENERATE_LEGEND = YES
DOT_CLEANUP = YES
#---------------------------------------------------------------------------
# Configuration::additions related to the search engine
#---------------------------------------------------------------------------
SEARCHENGINE = NO

View File

@ -1,24 +0,0 @@
// ***************************************************************************
//
// Generated automatically by genwrapper.
// Please DO NOT EDIT this file!
//
// ***************************************************************************
#include <osgIntrospection/ReflectionMacros>
#include <osgIntrospection/TypedMethodInfo>
#include <osgIntrospection/StaticMethodInfo>
#include <osgIntrospection/Attributes>
#include <OpenThreads/Atomic>
// Must undefine IN and OUT macros defined in Windows headers
#ifdef IN
#undef IN
#endif
#ifdef OUT
#undef OUT
#endif
#include <osg/observer_ptr>

View File

@ -1,58 +0,0 @@
// ***************************************************************************
//
// Generated automatically by genwrapper.
// Please DO NOT EDIT this file!
//
// ***************************************************************************
#include <osgIntrospection/ReflectionMacros>
#include <osgIntrospection/TypedMethodInfo>
#include <osgIntrospection/StaticMethodInfo>
#include <osgIntrospection/Attributes>
#include <OpenThreads/Barrier>
// Must undefine IN and OUT macros defined in Windows headers
#ifdef IN
#undef IN
#endif
#ifdef OUT
#undef OUT
#endif
#include <osg/observer_ptr>
BEGIN_OBJECT_REFLECTOR(OpenThreads::Barrier)
I_DeclaringFile("OpenThreads/Barrier");
I_ConstructorWithDefaults1(IN, int, numThreads, 0,
Properties::NON_EXPLICIT,
____Barrier__int,
"Constructor. ",
"");
I_Method0(void, reset,
Properties::VIRTUAL,
__void__reset,
"Reset the barrier to it's original state. ",
"");
I_MethodWithDefaults1(void, block, IN, unsigned int, numThreads, 0,
Properties::VIRTUAL,
__void__block__unsigned_int,
"Block until numThreads threads have entered the barrier. ",
"");
I_Method0(void, release,
Properties::VIRTUAL,
__void__release,
"Release the barrier, now. ",
"");
I_Method0(int, numThreadsCurrentlyBlocked,
Properties::VIRTUAL,
__int__numThreadsCurrentlyBlocked,
"Return the number of threads currently blocked in the barrier, Return -1 if error. ",
"");
I_Method0(void, invalidate,
Properties::NON_VIRTUAL,
__void__invalidate,
"",
"");
END_REFLECTOR

View File

@ -1,106 +0,0 @@
// ***************************************************************************
//
// Generated automatically by genwrapper.
// Please DO NOT EDIT this file!
//
// ***************************************************************************
#include <osgIntrospection/ReflectionMacros>
#include <osgIntrospection/TypedMethodInfo>
#include <osgIntrospection/StaticMethodInfo>
#include <osgIntrospection/Attributes>
#include <OpenThreads/Block>
// Must undefine IN and OUT macros defined in Windows headers
#ifdef IN
#undef IN
#endif
#ifdef OUT
#undef OUT
#endif
#include <osg/observer_ptr>
BEGIN_OBJECT_REFLECTOR(OpenThreads::Block)
I_DeclaringFile("OpenThreads/Block");
I_Constructor0(____Block,
"",
"");
I_Method0(bool, block,
Properties::NON_VIRTUAL,
__bool__block,
"",
"");
I_Method1(bool, block, IN, unsigned long, timeout,
Properties::NON_VIRTUAL,
__bool__block__unsigned_long,
"",
"");
I_Method0(void, release,
Properties::NON_VIRTUAL,
__void__release,
"",
"");
I_Method0(void, reset,
Properties::NON_VIRTUAL,
__void__reset,
"",
"");
I_Method1(void, set, IN, bool, doRelease,
Properties::NON_VIRTUAL,
__void__set__bool,
"",
"");
END_REFLECTOR
BEGIN_OBJECT_REFLECTOR(OpenThreads::BlockCount)
I_DeclaringFile("OpenThreads/Block");
I_Constructor1(IN, unsigned int, blockCount,
Properties::NON_EXPLICIT,
____BlockCount__unsigned_int,
"",
"");
I_Method0(void, completed,
Properties::NON_VIRTUAL,
__void__completed,
"",
"");
I_Method0(void, block,
Properties::NON_VIRTUAL,
__void__block,
"",
"");
I_Method0(void, reset,
Properties::NON_VIRTUAL,
__void__reset,
"",
"");
I_Method0(void, release,
Properties::NON_VIRTUAL,
__void__release,
"",
"");
I_Method1(void, setBlockCount, IN, unsigned int, blockCount,
Properties::NON_VIRTUAL,
__void__setBlockCount__unsigned_int,
"",
"");
I_Method0(unsigned int, getBlockCount,
Properties::NON_VIRTUAL,
__unsigned_int__getBlockCount,
"",
"");
I_Method0(unsigned int, getCurrentCount,
Properties::NON_VIRTUAL,
__unsigned_int__getCurrentCount,
"",
"");
I_SimpleProperty(unsigned int, BlockCount,
__unsigned_int__getBlockCount,
__void__setBlockCount__unsigned_int);
I_SimpleProperty(unsigned int, CurrentCount,
__unsigned_int__getCurrentCount,
0);
END_REFLECTOR

View File

@ -1,52 +0,0 @@
// ***************************************************************************
//
// Generated automatically by genwrapper.
// Please DO NOT EDIT this file!
//
// ***************************************************************************
#include <osgIntrospection/ReflectionMacros>
#include <osgIntrospection/TypedMethodInfo>
#include <osgIntrospection/StaticMethodInfo>
#include <osgIntrospection/Attributes>
#include <OpenThreads/Condition>
#include <OpenThreads/Mutex>
// Must undefine IN and OUT macros defined in Windows headers
#ifdef IN
#undef IN
#endif
#ifdef OUT
#undef OUT
#endif
#include <osg/observer_ptr>
BEGIN_OBJECT_REFLECTOR(OpenThreads::Condition)
I_DeclaringFile("OpenThreads/Condition");
I_Constructor0(____Condition,
"Constructor. ",
"");
I_Method1(int, wait, IN, OpenThreads::Mutex *, mutex,
Properties::VIRTUAL,
__int__wait__Mutex_P1,
"Wait on a mutex. ",
"");
I_Method2(int, wait, IN, OpenThreads::Mutex *, mutex, IN, unsigned long int, ms,
Properties::VIRTUAL,
__int__wait__Mutex_P1__unsigned_long_int,
"Wait on a mutex for a given amount of time (ms). ",
"0 if normal, -1 if errno set, errno code otherwise. ");
I_Method0(int, signal,
Properties::VIRTUAL,
__int__signal,
"Signal a SINGLE thread to wake if it's waiting. ",
"0 if normal, -1 if errno set, errno code otherwise. ");
I_Method0(int, broadcast,
Properties::VIRTUAL,
__int__broadcast,
"Wake all threads waiting on this condition. ",
"0 if normal, -1 if errno set, errno code otherwise. ");
END_REFLECTOR

View File

@ -1,62 +0,0 @@
// ***************************************************************************
//
// Generated automatically by genwrapper.
// Please DO NOT EDIT this file!
//
// ***************************************************************************
#include <osgIntrospection/ReflectionMacros>
#include <osgIntrospection/TypedMethodInfo>
#include <osgIntrospection/StaticMethodInfo>
#include <osgIntrospection/Attributes>
#include <OpenThreads/Mutex>
// Must undefine IN and OUT macros defined in Windows headers
#ifdef IN
#undef IN
#endif
#ifdef OUT
#undef OUT
#endif
#include <osg/observer_ptr>
BEGIN_ENUM_REFLECTOR(OpenThreads::Mutex::MutexType)
I_DeclaringFile("OpenThreads/Mutex");
I_EnumLabel(OpenThreads::Mutex::MUTEX_NORMAL);
I_EnumLabel(OpenThreads::Mutex::MUTEX_RECURSIVE);
END_REFLECTOR
BEGIN_OBJECT_REFLECTOR(OpenThreads::Mutex)
I_DeclaringFile("OpenThreads/Mutex");
I_ConstructorWithDefaults1(IN, OpenThreads::Mutex::MutexType, type, OpenThreads::Mutex::MUTEX_NORMAL,
Properties::NON_EXPLICIT,
____Mutex__MutexType,
"Constructor. ",
"");
I_Method0(OpenThreads::Mutex::MutexType, getMutexType,
Properties::NON_VIRTUAL,
__MutexType__getMutexType,
"",
"");
I_Method0(int, lock,
Properties::VIRTUAL,
__int__lock,
"Lock the mutex. ",
"0 if normal, -1 if errno set, errno code otherwise. ");
I_Method0(int, unlock,
Properties::VIRTUAL,
__int__unlock,
"Unlock the mutex. ",
"0 if normal, -1 if errno set, errno code otherwise. ");
I_Method0(int, trylock,
Properties::VIRTUAL,
__int__trylock,
"Test if mutex can be locked. ",
"0 if normal, -1 if errno set, errno code otherwise. ");
I_SimpleProperty(OpenThreads::Mutex::MutexType, MutexType,
__MutexType__getMutexType,
0);
END_REFLECTOR

View File

@ -1,74 +0,0 @@
// ***************************************************************************
//
// Generated automatically by genwrapper.
// Please DO NOT EDIT this file!
//
// ***************************************************************************
#include <osgIntrospection/ReflectionMacros>
#include <osgIntrospection/TypedMethodInfo>
#include <osgIntrospection/StaticMethodInfo>
#include <osgIntrospection/Attributes>
#include <OpenThreads/ReadWriteMutex>
// Must undefine IN and OUT macros defined in Windows headers
#ifdef IN
#undef IN
#endif
#ifdef OUT
#undef OUT
#endif
#include <osg/observer_ptr>
BEGIN_OBJECT_REFLECTOR(OpenThreads::ReadWriteMutex)
I_DeclaringFile("OpenThreads/ReadWriteMutex");
I_Constructor0(____ReadWriteMutex,
"",
"");
I_Method0(int, readLock,
Properties::VIRTUAL,
__int__readLock,
"",
"");
I_Method0(int, readUnlock,
Properties::VIRTUAL,
__int__readUnlock,
"",
"");
I_Method0(int, writeLock,
Properties::VIRTUAL,
__int__writeLock,
"",
"");
I_Method0(int, writeUnlock,
Properties::VIRTUAL,
__int__writeUnlock,
"",
"");
I_ProtectedConstructor1(IN, const OpenThreads::ReadWriteMutex &, x,
Properties::NON_EXPLICIT,
____ReadWriteMutex__C5_ReadWriteMutex_R1,
"",
"");
END_REFLECTOR
BEGIN_VALUE_REFLECTOR(OpenThreads::ScopedReadLock)
I_DeclaringFile("OpenThreads/ReadWriteMutex");
I_Constructor1(IN, OpenThreads::ReadWriteMutex &, mutex,
Properties::NON_EXPLICIT,
____ScopedReadLock__ReadWriteMutex_R1,
"",
"");
END_REFLECTOR
BEGIN_VALUE_REFLECTOR(OpenThreads::ScopedWriteLock)
I_DeclaringFile("OpenThreads/ReadWriteMutex");
I_Constructor1(IN, OpenThreads::ReadWriteMutex &, mutex,
Properties::NON_EXPLICIT,
____ScopedWriteLock__ReadWriteMutex_R1,
"",
"");
END_REFLECTOR

View File

@ -1,32 +0,0 @@
// ***************************************************************************
//
// Generated automatically by genwrapper.
// Please DO NOT EDIT this file!
//
// ***************************************************************************
#include <osgIntrospection/ReflectionMacros>
#include <osgIntrospection/TypedMethodInfo>
#include <osgIntrospection/StaticMethodInfo>
#include <osgIntrospection/Attributes>
#include <OpenThreads/ReentrantMutex>
// Must undefine IN and OUT macros defined in Windows headers
#ifdef IN
#undef IN
#endif
#ifdef OUT
#undef OUT
#endif
#include <osg/observer_ptr>
BEGIN_OBJECT_REFLECTOR(OpenThreads::ReentrantMutex)
I_DeclaringFile("OpenThreads/ReentrantMutex");
I_BaseType(OpenThreads::Mutex);
I_Constructor0(____ReentrantMutex,
"",
"");
END_REFLECTOR

View File

@ -1,213 +0,0 @@
// ***************************************************************************
//
// Generated automatically by genwrapper.
// Please DO NOT EDIT this file!
//
// ***************************************************************************
#include <osgIntrospection/ReflectionMacros>
#include <osgIntrospection/TypedMethodInfo>
#include <osgIntrospection/StaticMethodInfo>
#include <osgIntrospection/Attributes>
#include <OpenThreads/Thread>
// Must undefine IN and OUT macros defined in Windows headers
#ifdef IN
#undef IN
#endif
#ifdef OUT
#undef OUT
#endif
#include <osg/observer_ptr>
BEGIN_ENUM_REFLECTOR(OpenThreads::Thread::ThreadPriority)
I_DeclaringFile("OpenThreads/Thread");
I_EnumLabel(OpenThreads::Thread::THREAD_PRIORITY_MAX);
I_EnumLabel(OpenThreads::Thread::THREAD_PRIORITY_HIGH);
I_EnumLabel(OpenThreads::Thread::THREAD_PRIORITY_NOMINAL);
I_EnumLabel(OpenThreads::Thread::THREAD_PRIORITY_LOW);
I_EnumLabel(OpenThreads::Thread::THREAD_PRIORITY_MIN);
I_EnumLabel(OpenThreads::Thread::THREAD_PRIORITY_DEFAULT);
END_REFLECTOR
BEGIN_ENUM_REFLECTOR(OpenThreads::Thread::ThreadPolicy)
I_DeclaringFile("OpenThreads/Thread");
I_EnumLabel(OpenThreads::Thread::THREAD_SCHEDULE_FIFO);
I_EnumLabel(OpenThreads::Thread::THREAD_SCHEDULE_ROUND_ROBIN);
I_EnumLabel(OpenThreads::Thread::THREAD_SCHEDULE_TIME_SHARE);
I_EnumLabel(OpenThreads::Thread::THREAD_SCHEDULE_DEFAULT);
END_REFLECTOR
BEGIN_ABSTRACT_OBJECT_REFLECTOR(OpenThreads::Thread)
I_DeclaringFile("OpenThreads/Thread");
I_StaticMethod1(int, SetConcurrency, IN, int, concurrencyLevel,
__int__SetConcurrency__int_S,
"Set the concurrency level for a running application. ",
"This method only has effect if the pthreads thread model is being used, and then only when that model is many-to-one (eg. irix). in other cases it is ignored. The concurrency level is only a *hint* as to the number of execution vehicles to use, the actual implementation may do anything it wants. Setting the value to 0 returns things to their default state.previous concurrency level, -1 indicates no-op. ");
I_StaticMethod0(int, GetConcurrency,
__int__GetConcurrency_S,
"Get the concurrency level for a running application. ",
"In this case, a return code of 0 means that the application is in default mode. A return code of -1 means that the application is incapable of setting an arbitrary concurrency, because it is a one-to-one execution model (sprocs, linuxThreads) ");
I_StaticMethod0(OpenThreads::Thread *, CurrentThread,
__Thread_P1__CurrentThread_S,
"Return a pointer to the current running thread. ",
"");
I_StaticMethod0(void, Init,
__void__Init_S,
"Initialize Threading in a program. ",
"This method must be called before you can do any threading in a program. ");
I_StaticMethod0(int, YieldCurrentThread,
__int__YieldCurrentThread_S,
"Yield the processor. ",
"This method operates on the calling process. And is equivalent to calling sched_yield(). 0 if normal, -1 if errno set, errno code otherwise. ");
I_StaticMethod0(OpenThreads::Thread::ThreadPriority, GetMasterPriority,
__ThreadPriority__GetMasterPriority_S,
"This method will return the ThreadPriority of the master process. ",
"(ie, the one calling the thread->start() methods for the first time) The method will almost certainly return Thread::THREAD_PRIORITY_DEFAULT if Init() has not been called.the Thread::ThreadPriority of the master thread. ");
I_StaticMethod1(int, microSleep, IN, unsigned int, microsec,
__int__microSleep__unsigned_int_S,
"microSleep method, equivilant to the posix usleep(microsec). ",
"This is not strictly thread API but is used so often with threads. It's basically UNIX usleep. Parameter is number of microseconds we current thread to sleep. Returns 0 on succes, non-zero on failure (UNIX errno or GetLastError() will give detailed description. ");
I_Constructor0(____Thread,
"Constructor. ",
"");
I_Method0(int, getThreadId,
Properties::NON_VIRTUAL,
__int__getThreadId,
"Get a unique thread id. ",
"This id is monotonically increasing.a unique thread identifier ");
I_Method0(size_t, getProcessId,
Properties::NON_VIRTUAL,
__size_t__getProcessId,
"Get the thread's process id. ",
"This is the pthread_t or pid_t value depending on the threading model being used.thread process id. ");
I_Method0(int, start,
Properties::NON_VIRTUAL,
__int__start,
"Start the thread. ",
"This method will configure the thread, set it's priority, and spawn it.if the stack size specified setStackSize is smaller than the smallest allowable stack size, the threads stack size will be set to the minimum allowed, and may be retrieved via the getStackSize() 0 if normal, -1 if errno set, errno code otherwise. ");
I_Method0(int, startThread,
Properties::NON_VIRTUAL,
__int__startThread,
"",
"");
I_Method0(int, testCancel,
Properties::NON_VIRTUAL,
__int__testCancel,
"Test the cancel state of the thread. ",
"If the thread has been canceled this method will cause the thread to exit now. This method operates on the calling thread.Returns 0 if normal, -1 if called from a thread other that this. ");
I_Method0(int, cancel,
Properties::VIRTUAL,
__int__cancel,
"Cancel the thread. ",
"Equivalent to SIGKILL.0 if normal, -1 if errno set, errno code otherwise. ");
I_Method1(int, setSchedulePriority, IN, OpenThreads::Thread::ThreadPriority, priority,
Properties::NON_VIRTUAL,
__int__setSchedulePriority__ThreadPriority,
"Set the thread's schedule priority. ",
"This is a complex method. Beware of thread priorities when using a many-to-many kernel entity implemenation (such as IRIX pthreads). If one is not carefull to manage the thread priorities, a priority inversion deadlock can easily occur (Although the OpenThreads::Mutex & OpenThreads::Barrier constructs have been designed with this senario in mind). Unless you have explicit need to set the schedule pirorites for a given task, it is best to leave them alone.some implementations (notably LinuxThreads and IRIX Sprocs) only alow you to decrease thread priorities dynamically. Thus, a lower priority thread will not allow it's priority to be raised on the fly.seting the environment variable OUTPUT_THREADLIB_SCHEDULING_INFO will output scheduling information for each thread to stdout. 0 if normal, -1 if errno set, errno code otherwise. ");
I_Method0(int, getSchedulePriority,
Properties::NON_VIRTUAL,
__int__getSchedulePriority,
"Get the thread's schedule priority (if able). ",
"seting the environment variable OUTPUT_THREADLIB_SCHEDULING_INFO will output scheduling information for each thread to stdout. 0 if normal, -1 if errno set, errno code otherwise. ");
I_Method1(int, setSchedulePolicy, IN, OpenThreads::Thread::ThreadPolicy, policy,
Properties::NON_VIRTUAL,
__int__setSchedulePolicy__ThreadPolicy,
"Set the thread's scheduling policy (if able). ",
"On some implementations (notably IRIX Sprocs & LinuxThreads) The policy may prohibit the use of SCHEDULE_ROUND_ROBIN and SCHEDULE_FIFO policies - due to their real-time nature, and the danger of deadlocking the machine when used as super-user. In such cases, the command is a no-op.seting the environment variable OUTPUT_THREADLIB_SCHEDULING_INFO will output scheduling information for each thread to stdout. 0 if normal, -1 if errno set, errno code otherwise. ");
I_Method0(int, getSchedulePolicy,
Properties::NON_VIRTUAL,
__int__getSchedulePolicy,
"Get the thread's policy (if able). ",
"seting the environment variable OUTPUT_THREADLIB_SCHEDULING_INFO will output scheduling information for each thread to stdout. policy if normal, -1 if errno set, errno code otherwise. ");
I_Method1(int, setStackSize, IN, size_t, size,
Properties::NON_VIRTUAL,
__int__setStackSize__size_t,
"Set the thread's desired stack size (in bytes). ",
"This method is an attribute of the thread and must be called *before* the start() method is invoked.a return code of 13 (EACESS) means that the thread stack size can no longer be changed. 0 if normal, -1 if errno set, errno code otherwise. ");
I_Method0(size_t, getStackSize,
Properties::NON_VIRTUAL,
__size_t__getStackSize,
"Get the thread's desired stack size. ",
"the thread's stack size. 0 indicates that the stack size has either not yet been initialized, or not yet been specified by the application. ");
I_Method0(void, printSchedulingInfo,
Properties::NON_VIRTUAL,
__void__printSchedulingInfo,
"Print the thread's scheduling information to stdout. ",
"");
I_Method0(int, detach,
Properties::NON_VIRTUAL,
__int__detach,
"Detach the thread from the calling process. ",
"0 if normal, -1 if errno set, errno code otherwise. ");
I_Method0(int, join,
Properties::NON_VIRTUAL,
__int__join,
"Join the calling process with the thread. ",
"0 if normal, -1 if errno set, errno code otherwise. ");
I_Method0(int, setCancelModeDisable,
Properties::NON_VIRTUAL,
__int__setCancelModeDisable,
"Disable thread cancelation altogether. ",
"Thread::cancel() has no effect.0 if normal, -1 if errno set, errno code otherwise. ");
I_Method0(int, setCancelModeAsynchronous,
Properties::NON_VIRTUAL,
__int__setCancelModeAsynchronous,
"Mark the thread to cancel aysncronously on Thread::cancel(). ",
"(May not be available with process-level implementations).0 if normal, -1 if errno set, errno code otherwise. ");
I_Method0(int, setCancelModeDeferred,
Properties::NON_VIRTUAL,
__int__setCancelModeDeferred,
"Mark the thread to cancel at the earliest convenience on Thread::cancel() (This is the default). ",
"0 if normal, -1 if errno set, errno code otherwise. ");
I_Method0(bool, isRunning,
Properties::NON_VIRTUAL,
__bool__isRunning,
"Query the thread's running status. ",
"true if running, false if not. ");
I_Method0(void, run,
Properties::PURE_VIRTUAL,
__void__run,
"Thread's run method. ",
"Must be implemented by derived classes. This is where the action happens. ");
I_Method0(void, cancelCleanup,
Properties::VIRTUAL,
__void__cancelCleanup,
"Thread's cancel cleanup routine, called upon cancel(), after the cancelation has taken place, but before the thread exits completely. ",
"This method should be used to repair parts of the thread's data that may have been damaged by a pre-mature cancel. No-op by default. ");
I_Method0(void *, getImplementation,
Properties::NON_VIRTUAL,
__void_P1__getImplementation,
"",
"");
I_Method1(int, setProcessorAffinity, IN, unsigned int, cpunum,
Properties::NON_VIRTUAL,
__int__setProcessorAffinity__unsigned_int,
"Thread's processor affinity method. ",
"This binds a thread to a processor whenever possible. This call must be made before start() or startThread() and has no effect after the thread has been running. In the pthreads implementation, this is only implemented on sgi, through a pthread extension. On other pthread platforms this is ignored. Returns 0 on success, implementation's error on failure, or -1 if ignored. ");
I_SimpleProperty(void *, Implementation,
__void_P1__getImplementation,
0);
I_SimpleProperty(size_t, ProcessId,
__size_t__getProcessId,
0);
I_SimpleProperty(unsigned int, ProcessorAffinity,
0,
__int__setProcessorAffinity__unsigned_int);
I_SimpleProperty(OpenThreads::Thread::ThreadPolicy, SchedulePolicy,
0,
__int__setSchedulePolicy__ThreadPolicy);
I_SimpleProperty(OpenThreads::Thread::ThreadPriority, SchedulePriority,
0,
__int__setSchedulePriority__ThreadPriority);
I_SimpleProperty(size_t, StackSize,
__size_t__getStackSize,
__int__setStackSize__size_t);
I_SimpleProperty(int, ThreadId,
__int__getThreadId,
0);
END_REFLECTOR

View File

@ -1,586 +0,0 @@
#############################################################################
# #
# GenWrapper Configuration File #
# #
#############################################################################
configure library "osgFX"
dependency unix "-losgUtil -losgDB"
end
configure library "osgParticle"
dependency unix "-losgUtil -losgDB"
end
configure library "osgGA"
dependency unix "-losgUtil"
end
configure library "osgSim"
dependency unix "-losgUtil -losgText -losgDB"
end
configure library "osgTerrain"
dependency win32-debug "gdal_iD.lib"
dependency win32-release "gdal_i.lib"
dependency unix "-losgDB -losgUtil -losgFX"
end
configure library "osgText"
dependency unix "-losgDB"
end
configure library "osgVolume"
dependency unix "-losgUtil -losgDB -losgGA"
end
configure library "osgViewer"
dependency unix "-losgUtil -losgDB -losgGA -losgText"
end
#############################################################################
ignore file "osgDB/fstream"
ignore file "osgDB/DataTypes"
ignore file "osgDB/InputStream"
ignore file "osgDB/OutputStream"
ignore file "osgDB/StreamOperator"
ignore file "osgDB/Serializer"
ignore file "osgDB/ObjectWrapper"
ignore file "osgUtil/PrintVisitor"
ignore file "osgUtil/OperationArrayFunctor"
ignore file "osgViewer/api/X11/GraphicsWindowX11"
ignore file "osgViewer/api/Win32/GraphicsWindowWin32"
ignore file "osgViewer/api/Cocoa/GraphicsWindowCocoa"
suppress reflector "osgUtil::AddRangeFunctor"
suppress reflector "osgUtil::MultiplyRangeFunctor"
suppress reflector "CPluginFunction"
suppress reflector "PluginFunctionProxy"
suppress reflector "osgWidget::UIObjectParent"
#############################################################################
suppress reflector "osgShadow::ProjectionShadowMap"
suppress reflector "osgShadow::DebugShadowMap::ViewData"
suppress reflector "osgShadow::DebugShadowMap::ViewData::PolytopeGeometry"
suppress reflector "osgShadow::ViewDependentShadowTechnique::ViewData"
suppress reflector "osgShadow::MinimalDrawBoundsShadowMap::META_ViewDependentShadowTechniqueData"
suppress reflector "osgShadow::DebugShadowMap::META_ViewDependentShadowTechniqueData"
suppress reflector "osgShadow::MinimalCullBoundsShadowMap::META_ViewDependentShadowTechniqueData"
suppress reflector "osgShadow::MinimalShadowMap::META_ViewDependentShadowTechniqueData"
suppress reflector "osgShadow::ProjectionShadowMap::META_ViewDependentShadowTechniqueData"
suppress reflector "osgShadow::StandardShadowMap::META_ViewDependentShadowTechniqueData"
suppress reflector "osgShadow::ViewDependentShadowTechnique::META_ViewDependentShadowTechniqueData"
suppress reflector "osgShadow::ViewDependentShadowTechnique::getViewDependentData"
suppress reflector "osgShadow::ViewDependentShadowTechnique::setViewDependentData"
suppress reflector "osg::observer_ptr"
#############################################################################
configure file /osg\/GraphicsContext/
emit before "#include <osg/Camera>
"
end
configure file /osgViewer\/ViewerBase/
emit before "#include <osgViewer/View>
"
end
configure file /osg\/BoundingBox/
emit before "#include <osg/BoundingSphere>
"
end
configure file /osg\/BoundingSphere/
emit before "#include <osg/BoundingBox>
"
end
configure file /osgDB\/ReaderWriter/
emit before "#include <osgDB/Options>
"
end
#############################################################################
# add <io_utils> header to Plane, Quat and Vec* files
configure file /osg\/(Plane|Quat|(Vec(2|3|4)(f|d|b|ub)))/
emit before "#include <osg/io_utils>
"
end
# add ReaderWriter and Comparator objects to Vec*, Quat and Plane classes
configure reflector /osg::(Plane|Quat|(Vec(2|3|4)(f|d|b|ub)))/
readerwriter "osgIntrospection::StdReaderWriter<reflected_type>"
comparator "osgIntrospection::PartialOrderComparator<reflected_type>"
end
# add StateGraph includes in RenderLeaf.cpp
configure file /osgUtil\/RenderLeaf/
emit before "#include <osgUtil/StateGraph>
"
end
configure file /.*/
emit before "#include <osg/observer_ptr>
"
end
#############################################################################
# Doxygen fails to detect that std::vector<T> is a base class for
# osg::Vector*, so we need to specify that manually
configure reflector "osgText::VectorUInt"
add base "std::vector<unsigned int>"
end
#############################################################################
# Doxygen/genwrapper is not coping with the new MixinVector so disable associated wrappers
suppress reflector /osg::TemplateIndexArray< GLbyte.*/
suppress reflector /osg::TemplateIndexArray< GLubyte.*/
suppress reflector /osg::TemplateIndexArray< GLshort.*/
suppress reflector /osg::TemplateIndexArray< GLushort.*/
suppress reflector /osg::TemplateIndexArray< GLint.*/
suppress reflector /osg::TemplateIndexArray< GLuint.*/
suppress reflector /osg::TemplateArray< GLfloat.*/
suppress reflector /osg::TemplateArray< GLdouble.*/
suppress reflector /osg::TemplateArray< osg::Vec2\s*\,.*/
suppress reflector /osg::TemplateArray< osg::Vec3\s*\,.*/
suppress reflector /osg::TemplateArray< osg::Vec4\s*\,.*/
suppress reflector /osg::TemplateArray< osg::Vec2d\s*\,.*/
suppress reflector /osg::TemplateArray< osg::Vec3d\s*\,.*/
suppress reflector /osg::TemplateArray< osg::Vec4d\s*\,.*/
suppress reflector /osg::TemplateArray< osg::Vec2b\s*\,.*/
suppress reflector /osg::TemplateArray< osg::Vec3b\s*\,.*/
suppress reflector /osg::TemplateArray< osg::Vec4b\s*\,.*/
suppress reflector /osg::TemplateArray< osg::Vec2s\s*\,.*/
suppress reflector /osg::TemplateArray< osg::Vec3s\s*\,.*/
suppress reflector /osg::TemplateArray< osg::Vec4s\s*\,.*/
suppress reflector /osg::TemplateArray< osg::Vec4ub\s*\,.*/
suppress reflector /osg::TemplateArray< osg::Matrixf.*/
suppress reflector "osg::DrawArrayLengths"
suppress reflector "osg::DrawElementsUByte"
suppress reflector "osg::DrawElementsUShort"
suppress reflector "osg::DrawElementsUInt"
suppress reflector "osg::VectorGLsizei"
suppress reflector "osg::VectorGLubyte"
suppress reflector "osg::VectorGLushort"
suppress reflector "osg::VectorGLuint"
suppress reflector "osg::MixinVector< GLsizei >"
suppress reflector "osg::MixinVector< GLubyte >"
suppress reflector "osg::MixinVector< GLushort >"
suppress reflector "osg::MixinVector< GLuint >"
suppress reflector "OpenThreads::Atomic"
suppress reflector "OpenThreads::AtomicPtr"
suppress reflector "osg::BoundingBoxImpl< osg::Vec3f >"
suppress reflector "osg::BoundingBoxImpl< osg::Vec3d >"
suppress reflector "osg::BoundingSphereImpl< osg::Vec3f >"
suppress reflector "osg::BoundingSphereImpl< osg::Vec3d >"
suppress reflector "osgAnimation::TemplateTarget< osg::Quat >"
suppress reflector "osgAnimation::TemplateTarget< osg::Vec3 >"
suppress reflector "osgAnimation::TemplateTarget< osg::Vec4 >"
suppress reflector "osgAnimation::TemplateTarget< osg::Vec2 >"
suppress reflector "osgAnimation::TemplateTarget< float >"
suppress reflector "osgAnimation::TemplateTarget< double >"
suppress reflector "osgAnimation::TemplateLinearInterpolator< double, double >"
suppress reflector "osgAnimation::TemplateLinearInterpolator< float, float >"
suppress reflector "osgAnimation::TemplateLinearInterpolator< osg::Vec2, osg::Vec2 >"
suppress reflector "osgAnimation::TemplateLinearInterpolator< osg::Vec3, osg::Vec3 >"
suppress reflector "osgAnimation::TemplateLinearInterpolator< osg::Vec3, osgAnimation::Vec3Packed >"
suppress reflector "osgAnimation::TemplateLinearInterpolator< osg::Vec4, osg::Vec4 >"
suppress reflector "osgAnimation::TemplateLinearInterpolator< osg::Matrixf, osg::Matrixf >"
suppress reflector "osgAnimation::TemplateSphericalLinearInterpolator< osg::Quat, osg::Quat >"
suppress reflector "osgAnimation::TemplateStepInterpolator< double, double >"
suppress reflector "osgAnimation::TemplateStepInterpolator< float, float >"
suppress reflector "osgAnimation::TemplateStepInterpolator< osg::Vec2, osg::Vec2 >"
suppress reflector "osgAnimation::TemplateStepInterpolator< osg::Vec3, osg::Vec3 >"
suppress reflector "osgAnimation::TemplateStepInterpolator< osg::Vec3, osgAnimation::Vec3Packed >"
suppress reflector "osgAnimation::TemplateStepInterpolator< osg::Vec4, osg::Vec4 >"
suppress reflector "osgAnimation::TemplateStepInterpolator< osg::Quat, osg::Quat >"
suppress reflector "osgAnimation::TemplateCubicBezierInterpolator< float, osgAnimation::FloatCubicBezier >"
suppress reflector "osgAnimation::TemplateCubicBezierInterpolator< double, osgAnimation::DoubleCubicBezier >"
suppress reflector "osgAnimation::TemplateCubicBezierInterpolator< osg::Vec2, osgAnimation::Vec2CubicBezier >"
suppress reflector "osgAnimation::TemplateCubicBezierInterpolator< osg::Vec3, osgAnimation::Vec3CubicBezier >"
suppress reflector "osgAnimation::TemplateCubicBezierInterpolator< osg::Vec4, osgAnimation::Vec4CubicBezier >"
suppress reflector "osgAnimation::TemplateKeyframe< float >"
suppress reflector "osgAnimation::TemplateKeyframeContainer< float >"
suppress reflector "osgAnimation::TemplateKeyframe< double >"
suppress reflector "osgAnimation::TemplateKeyframeContainer< double >"
suppress reflector "osgAnimation::TemplateKeyframe< osg::Vec2 >"
suppress reflector "osgAnimation::TemplateKeyframeContainer< osg::Vec2 >"
suppress reflector "osgAnimation::TemplateKeyframe< osg::Vec3 >"
suppress reflector "osgAnimation::TemplateKeyframeContainer< osg::Vec3 >"
suppress reflector "osgAnimation::TemplateKeyframe< osg::Vec4 >"
suppress reflector "osgAnimation::TemplateKeyframeContainer< osg::Vec4 >"
suppress reflector "osgAnimation::TemplateKeyframe< osg::Quat >"
suppress reflector "osgAnimation::TemplateKeyframeContainer< osg::Quat >"
suppress reflector "osgAnimation::TemplateKeyframe< osgAnimation::Vec3Packed >"
suppress reflector "osgAnimation::TemplateKeyframeContainer< osgAnimation::Vec3Packed >"
suppress reflector "osgAnimation::TemplateKeyframe< osgAnimation::FloatCubicBezier >"
suppress reflector "osgAnimation::TemplateKeyframeContainer< osgAnimation::FloatCubicBezier >"
suppress reflector "osgAnimation::TemplateKeyframe< osgAnimation::DoubleCubicBezier >"
suppress reflector "osgAnimation::TemplateKeyframeContainer< osgAnimation::DoubleCubicBezier >"
suppress reflector "osgAnimation::TemplateKeyframe< osgAnimation::Vec2CubicBezier >"
suppress reflector "osgAnimation::TemplateKeyframeContainer< osgAnimation::Vec2CubicBezier >"
suppress reflector "osgAnimation::TemplateKeyframe< osgAnimation::Vec3CubicBezier >"
suppress reflector "osgAnimation::TemplateKeyframeContainer< osgAnimation::Vec3CubicBezier >"
suppress reflector "osgAnimation::TemplateKeyframe< osgAnimation::Vec4CubicBezier >"
suppress reflector "osgAnimation::TemplateKeyframeContainer< osgAnimation::Vec4CubicBezier >"
suppress reflector "osgAnimation::TemplateKeyframe< osg::Matrixf >"
suppress reflector "osgAnimation::TemplateCubicBezier< float >"
suppress reflector "osgAnimation::TemplateCubicBezier< double >"
suppress reflector "osgAnimation::TemplateCubicBezier< osg::Vec2 >"
suppress reflector "osgAnimation::TemplateCubicBezier< osg::Vec3 >"
suppress reflector "osgAnimation::TemplateCubicBezier< osg::Vec4 >"
suppress reflector "osgAnimation::TemplateCubicBezier< osg::Vec4 >"
suppress reflector "osgAnimation::std::vector< osg::ref_ptr< osgAnimation::Channel > >"
suppress reflector "osgAnimation::TemplateChannel< osgAnimation::DoubleStepSampler >"
suppress reflector "osgAnimation::TemplateChannel< osgAnimation::FloatStepSampler >"
suppress reflector "osgAnimation::TemplateChannel< osgAnimation::Vec2StepSampler >"
suppress reflector "osgAnimation::TemplateChannel< osgAnimation::Vec3StepSampler >"
suppress reflector "osgAnimation::TemplateChannel< osgAnimation::Vec4StepSampler >"
suppress reflector "osgAnimation::TemplateChannel< osgAnimation::QuatStepSampler >"
suppress reflector "osgAnimation::TemplateChannel< osgAnimation::DoubleLinearSampler >"
suppress reflector "osgAnimation::TemplateChannel< osgAnimation::FloatLinearSampler >"
suppress reflector "osgAnimation::TemplateChannel< osgAnimation::Vec2LinearSampler >"
suppress reflector "osgAnimation::TemplateChannel< osgAnimation::Vec3LinearSampler >"
suppress reflector "osgAnimation::TemplateChannel< osgAnimation::Vec4LinearSampler >"
suppress reflector "osgAnimation::TemplateChannel< osgAnimation::QuatSphericalLinearSampler >"
suppress reflector "osgAnimation::TemplateChannel< osgAnimation::FloatCubicBezierSampler >"
suppress reflector "osgAnimation::TemplateChannel< osgAnimation::DoubleCubicBezierSampler >"
suppress reflector "osgAnimation::TemplateChannel< osgAnimation::Vec2CubicBezierSampler >"
suppress reflector "osgAnimation::TemplateChannel< osgAnimation::Vec3CubicBezierSampler >"
suppress reflector "osgAnimation::TemplateChannel< osgAnimation::Vec4CubicBezierSampler >"
suppress reflector "osgAnimation::TemplateChannel< osgAnimation::MatrixLinearSampler >"
suppress reflector "osgAnimation::TemplateSampler< osgAnimation::MatrixLinearInterpolator >"
suppress reflector "osgAnimation::TemplateSampler< osgAnimation::QuatStepInterpolator >"
suppress reflector "osgAnimation::TemplateSampler< osgAnimation::Vec2CubicBezierInterpolator >"
suppress reflector "osgAnimation::TemplateSampler< osgAnimation::Vec2LinearInterpolator >"
suppress reflector "osgAnimation::TemplateSampler< osgAnimation::Vec2StepInterpolator >"
suppress reflector "osgAnimation::TemplateSampler< osgAnimation::Vec3CubicBezierInterpolator >"
suppress reflector "osgAnimation::TemplateSampler< osgAnimation::Vec3LinearInterpolator >"
suppress reflector "osgAnimation::TemplateSampler< osgAnimation::Vec3StepInterpolator >"
suppress reflector "osgAnimation::TemplateSampler< osgAnimation::Vec4CubicBezierInterpolator >"
suppress reflector "osgAnimation::TemplateSampler< osgAnimation::Vec4LinearInterpolator >"
suppress reflector "osgAnimation::TemplateSampler< osgAnimation::Vec4StepInterpolator >"
suppress reflector "osgAnimation::TemplateTarget< osg::Matrixf >"
suppress reflector "osgAnimation::AnimationUpdateCallback"
suppress reflector "osgAnimation::StackedTransform"
suppress reflector "osgTerrain::TerrainNeighbours"
suppress reflector "osgDB::Registry::getObjectWrapperManager"
suppress reflector "osg::Observer"
suppress reflector "osg::ObserverSet"
configure reflector "osgDB::Registry"
configure property "ObjectWrapperManager"
replace with ""
end
end
#############################################################################
# StateSet and related types need some advanced tweaking
configure reflector "std::map< osg::StateAttribute::GLMode, osg::StateAttribute::GLModeValue >"
replace with "STD_MAP_REFLECTOR_WITH_TYPES(std::map< osg::StateAttribute::GLMode COMMA osg::StateAttribute::GLModeValue >, osg::StateAttribute::GLMode, osg::StateAttribute::Values)"
end
configure reflector "osg::StateSet"
# remove indexed property "Mode" because its index would not belong to a
# finite set of values
configure property "Mode"
replace with ""
end
end
configure reflector "osg::Geometry"
# define the count method for some Property
configure property "TexCoordData"
count_method "__unsigned_int__getNumTexCoordArrays"
end
configure property "TexCoordIndices"
count_method "__unsigned_int__getNumTexCoordArrays"
end
configure property "VertexAttribBinding"
count_method "__unsigned_int__getNumVertexAttribArrays"
end
configure property "VertexAttribData"
count_method "__unsigned_int__getNumVertexAttribArrays"
end
configure property "VertexAttribIndices"
count_method "__unsigned_int__getNumVertexAttribArrays"
end
configure property "VertexAttribNormalize"
count_method "__unsigned_int__getNumVertexAttribArrays"
end
end
#############################################################################
# Doxygen fails to detect that /osg::Texture(1D|2D|3D|Rectangle)/ and
# osgText::Font::GlyphTexture are not-abstract class, so we need
# to specify that manually
configure reflector /osg::Texture(1D|2D|3D|Rectangle)/
object-type
end
configure reflector "osgText::Font::GlyphTexture"
object-type
end
#############################################################################
# must suppress reflector for osgDB::Output because some of its methods
# are not supported by osgIntrospection (they return non-const references)
suppress reflector "osgDB::Output"
#############################################################################
# some types are incorrectly detected as value type or object type. Here we
# specify the type kind explicitly
configure reflector "OpenThreads::Mutex"
object-type
end
configure reflector "OpenThreads::Condition"
object-type
end
configure reflector "OpenThreads::Block"
object-type
end
configure reflector "OpenThreads::BlockCount"
object-type
end
configure reflector "OpenThreads::Barrier"
object-type
end
configure reflector "OpenThreads::ReentrantMutex"
object-type
end
configure reflector "OpenThreads::ReadWriteMutex"
object-type
end
configure reflector "osg::DeleteHandler"
object-type
end
configure reflector "osg::GraphicsContext"
abstract-object-type
end
#############################################################################
# Suppress scoped lock template
suppress reflector "OpenThreads::ScopedLock< OpenThreads::Mutex >"
#############################################################################
# Suppress nested nested class method
configure reflector "osgShadow::OccluderGeometry"
configure method /.*_Edge_.*/
replace with ""
end
end
#############################################################################
# Doxygen doesn't parse ReadFunc and WriteFunc correctly...
configure reflector "osgDB::DotOsgWrapper::ReadFunc"
replace with "TYPE_NAME_ALIAS(bool (*)(osg::Object&,osgDB::Input&), osgDB::DotOsgWrapper::ReadFunc)
"
end
configure reflector "osgDB::DotOsgWrapper::WriteFunc"
replace with "TYPE_NAME_ALIAS(bool (*)(const osg::Object&,osgDB::Output&), osgDB::DotOsgWrapper::WriteFunc)
"
end
#############################################################################
# temporary workaround for problems related to ambiguous name resolution
suppress reflector "osg::ref_ptr< const osg::StateAttribute >"
suppress reflector "osg::ref_ptr< const osgFX::Effect >"
#############################################################################
# Doxygen incorrectly parses function typedefs as methods
suppress reflector "osg::VertexProgram::Extensions"
suppress reflector "osg::StencilTwoSided::Extensions"
suppress reflector "osg::Texture3D::Extensions"
suppress reflector "osg::GL2Extensions"
suppress reflector "osg::GLBufferObject::Extensions"
suppress reflector "osg::FBOExtensions"
suppress reflector "osg::BlendColor::Extensions"
suppress reflector "osg::BlendEquation::Extensions"
suppress reflector "osg::BlendFunc::Extensions"
suppress reflector "osg::FragmentProgram::Extensions"
suppress reflector "osg::Multisample::Extensions"
suppress reflector "osg::Point::Extensions"
suppress reflector "osg::ClampColor::Extensions"
suppress reflector "osg::Texture::Extensions"
suppress reflector "osg::Texture2DArray::Extensions"
suppress reflector "osgSim::ShapeAttribute"
suppress reflector "osg::Drawable::Extensions"
configure reflector "osg::State"
configure method "__typedef__void__GL_APIENTRY_P1"
replace with ""
end
end
configure reflector "osgWidget::Window::Getter"
replace with ""
end
configure reflector "osgWidget::MouseHandler::MouseAction"
replace with ""
end
configure reflector "osgWidget::MouseHandler::MouseEvent"
replace with ""
end
#############################################################################
# avoid functions that use protected types, since those are not handled
# currently
configure reflector "osgSim::OverlayNode"
configure method /.*getOverlayData.*/
replace with ""
end
end
configure reflector "osg::Shader"
configure method /.*_PerContextShader_.*/
replace with ""
end
end
configure reflector "osg::State"
configure method /.*_(ModeStack|AttributeStack|ModeMap|AttributeMap|UniformMap)_.*/
replace with ""
end
end
configure reflector "osgUtil::Optimizer::TextureAtlasBuilder"
configure method /.*_Source_.*/
replace with ""
end
end
configure reflector "osgUtil::Tessellator"
configure method /.*_VertexPtrToIndexMap_.*/
replace with ""
end
end
configure reflector "osgDB::Registry"
configure method /.*_(DynamicLibraryList_iterator|DotOsgWrapperMap)_.*/
replace with ""
end
end
configure reflector "osgText::FadeText"
configure method /.*_ViewBlendColou?rMap_.*/
replace with ""
end
end
configure reflector "osgParticle::PrecipitationEffect"
configure method /.*_PrecipitationDrawableSet_.*/
replace with ""
end
end
configure reflector "osgManipulator::MotionCommand"
configure method /.*_SelectionList_.*/
replace with ""
end
end

View File

@ -1,135 +0,0 @@
// ***************************************************************************
//
// Generated automatically by genwrapper.
// Please DO NOT EDIT this file!
//
// ***************************************************************************
#include <osgIntrospection/ReflectionMacros>
#include <osgIntrospection/TypedMethodInfo>
#include <osgIntrospection/StaticMethodInfo>
#include <osgIntrospection/Attributes>
#include <osg/AlphaFunc>
#include <osg/CopyOp>
#include <osg/Object>
#include <osg/State>
#include <osg/StateAttribute>
// Must undefine IN and OUT macros defined in Windows headers
#ifdef IN
#undef IN
#endif
#ifdef OUT
#undef OUT
#endif
#include <osg/observer_ptr>
BEGIN_ENUM_REFLECTOR(osg::AlphaFunc::ComparisonFunction)
I_DeclaringFile("osg/AlphaFunc");
I_EnumLabel(osg::AlphaFunc::NEVER);
I_EnumLabel(osg::AlphaFunc::LESS);
I_EnumLabel(osg::AlphaFunc::EQUAL);
I_EnumLabel(osg::AlphaFunc::LEQUAL);
I_EnumLabel(osg::AlphaFunc::GREATER);
I_EnumLabel(osg::AlphaFunc::NOTEQUAL);
I_EnumLabel(osg::AlphaFunc::GEQUAL);
I_EnumLabel(osg::AlphaFunc::ALWAYS);
END_REFLECTOR
BEGIN_OBJECT_REFLECTOR(osg::AlphaFunc)
I_DeclaringFile("osg/AlphaFunc");
I_BaseType(osg::StateAttribute);
I_Constructor0(____AlphaFunc,
"",
"");
I_Constructor2(IN, osg::AlphaFunc::ComparisonFunction, func, IN, float, ref,
____AlphaFunc__ComparisonFunction__float,
"",
"");
I_ConstructorWithDefaults2(IN, const osg::AlphaFunc &, af, , IN, const osg::CopyOp &, copyop, osg::CopyOp::SHALLOW_COPY,
____AlphaFunc__C5_AlphaFunc_R1__C5_CopyOp_R1,
"Copy constructor using CopyOp to manage deep vs shallow copy. ",
"");
I_Method0(osg::Object *, cloneType,
Properties::VIRTUAL,
__osg_Object_P1__cloneType,
"Clone the type of an attribute, with Object* return type. ",
"Must be defined by derived classes. ");
I_Method1(osg::Object *, clone, IN, const osg::CopyOp &, x,
Properties::VIRTUAL,
__osg_Object_P1__clone__C5_osg_CopyOp_R1,
"Clone an attribute, with Object* return type. ",
"Must be defined by derived classes. ");
I_Method1(bool, isSameKindAs, IN, const osg::Object *, obj,
Properties::VIRTUAL,
__bool__isSameKindAs__C5_osg_Object_P1,
"Return true if this and obj are of the same kind of object. ",
"");
I_Method0(const char *, libraryName,
Properties::VIRTUAL,
__C5_char_P1__libraryName,
"Return the name of the attribute's library. ",
"");
I_Method0(const char *, className,
Properties::VIRTUAL,
__C5_char_P1__className,
"Return the name of the attribute's class type. ",
"");
I_Method0(osg::StateAttribute::Type, getType,
Properties::VIRTUAL,
__Type__getType,
"Return the Type identifier of the attribute's class type. ",
"");
I_Method1(int, compare, IN, const osg::StateAttribute &, sa,
Properties::VIRTUAL,
__int__compare__C5_StateAttribute_R1,
"Return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs. ",
"");
I_Method1(bool, getModeUsage, IN, osg::StateAttribute::ModeUsage &, x,
Properties::VIRTUAL,
__bool__getModeUsage__StateAttribute_ModeUsage_R1,
"Return the modes associated with this StateAttribute. ",
"");
I_Method2(void, setFunction, IN, osg::AlphaFunc::ComparisonFunction, func, IN, float, ref,
Properties::NON_VIRTUAL,
__void__setFunction__ComparisonFunction__float,
"",
"");
I_Method1(void, setFunction, IN, osg::AlphaFunc::ComparisonFunction, func,
Properties::NON_VIRTUAL,
__void__setFunction__ComparisonFunction,
"",
"");
I_Method0(osg::AlphaFunc::ComparisonFunction, getFunction,
Properties::NON_VIRTUAL,
__ComparisonFunction__getFunction,
"",
"");
I_Method1(void, setReferenceValue, IN, float, value,
Properties::NON_VIRTUAL,
__void__setReferenceValue__float,
"",
"");
I_Method0(float, getReferenceValue,
Properties::NON_VIRTUAL,
__float__getReferenceValue,
"",
"");
I_Method1(void, apply, IN, osg::State &, x,
Properties::VIRTUAL,
__void__apply__State_R1,
"apply the OpenGL state attributes. ",
"The render info for the current OpenGL context is passed in to allow the StateAttribute to obtain details on the the current context and state. ");
I_SimpleProperty(osg::AlphaFunc::ComparisonFunction, Function,
__ComparisonFunction__getFunction,
__void__setFunction__ComparisonFunction);
I_SimpleProperty(float, ReferenceValue,
__float__getReferenceValue,
__void__setReferenceValue__float);
I_SimpleProperty(osg::StateAttribute::Type, Type,
__Type__getType,
0);
END_REFLECTOR

View File

@ -1,434 +0,0 @@
// ***************************************************************************
//
// Generated automatically by genwrapper.
// Please DO NOT EDIT this file!
//
// ***************************************************************************
#include <osgIntrospection/ReflectionMacros>
#include <osgIntrospection/TypedMethodInfo>
#include <osgIntrospection/StaticMethodInfo>
#include <osgIntrospection/Attributes>
#include <osg/AnimationPath>
#include <osg/CopyOp>
#include <osg/Matrixd>
#include <osg/Matrixf>
#include <osg/Node>
#include <osg/NodeVisitor>
#include <osg/Object>
#include <osg/Quat>
#include <osg/Vec3d>
// Must undefine IN and OUT macros defined in Windows headers
#ifdef IN
#undef IN
#endif
#ifdef OUT
#undef OUT
#endif
#include <osg/observer_ptr>
BEGIN_ENUM_REFLECTOR(osg::AnimationPath::LoopMode)
I_DeclaringFile("osg/AnimationPath");
I_EnumLabel(osg::AnimationPath::SWING);
I_EnumLabel(osg::AnimationPath::LOOP);
I_EnumLabel(osg::AnimationPath::NO_LOOPING);
END_REFLECTOR
TYPE_NAME_ALIAS(std::map< double COMMA osg::AnimationPath::ControlPoint >, osg::AnimationPath::TimeControlPointMap)
BEGIN_OBJECT_REFLECTOR(osg::AnimationPath)
I_DeclaringFile("osg/AnimationPath");
I_VirtualBaseType(osg::Object);
I_Constructor0(____AnimationPath,
"",
"");
I_ConstructorWithDefaults2(IN, const osg::AnimationPath &, ap, , IN, const osg::CopyOp &, copyop, osg::CopyOp::SHALLOW_COPY,
____AnimationPath__C5_AnimationPath_R1__C5_CopyOp_R1,
"",
"");
I_Method0(osg::Object *, cloneType,
Properties::VIRTUAL,
__osg_Object_P1__cloneType,
"Clone the type of an object, with Object* return type. ",
"Must be defined by derived classes. ");
I_Method1(osg::Object *, clone, IN, const osg::CopyOp &, x,
Properties::VIRTUAL,
__osg_Object_P1__clone__C5_osg_CopyOp_R1,
"Clone an object, with Object* return type. ",
"Must be defined by derived classes. ");
I_Method1(bool, isSameKindAs, IN, const osg::Object *, obj,
Properties::VIRTUAL,
__bool__isSameKindAs__C5_osg_Object_P1,
"",
"");
I_Method0(const char *, libraryName,
Properties::VIRTUAL,
__C5_char_P1__libraryName,
"return the name of the object's library. ",
"Must be defined by derived classes. The OpenSceneGraph convention is that the namespace of a library is the same as the library name. ");
I_Method0(const char *, className,
Properties::VIRTUAL,
__C5_char_P1__className,
"return the name of the object's class type. ",
"Must be defined by derived classes. ");
I_Method2(bool, getMatrix, IN, double, time, IN, osg::Matrixf &, matrix,
Properties::NON_VIRTUAL,
__bool__getMatrix__double__Matrixf_R1,
"Given a specific time, return the transformation matrix for a point. ",
"");
I_Method2(bool, getMatrix, IN, double, time, IN, osg::Matrixd &, matrix,
Properties::NON_VIRTUAL,
__bool__getMatrix__double__Matrixd_R1,
"Given a specific time, return the transformation matrix for a point. ",
"");
I_Method2(bool, getInverse, IN, double, time, IN, osg::Matrixf &, matrix,
Properties::NON_VIRTUAL,
__bool__getInverse__double__Matrixf_R1,
"Given a specific time, return the inverse transformation matrix for a point. ",
"");
I_Method2(bool, getInverse, IN, double, time, IN, osg::Matrixd &, matrix,
Properties::NON_VIRTUAL,
__bool__getInverse__double__Matrixd_R1,
"",
"");
I_Method2(bool, getInterpolatedControlPoint, IN, double, time, IN, osg::AnimationPath::ControlPoint &, controlPoint,
Properties::VIRTUAL,
__bool__getInterpolatedControlPoint__double__ControlPoint_R1,
"Given a specific time, return the local ControlPoint frame for a point. ",
"");
I_Method2(void, insert, IN, double, time, IN, const osg::AnimationPath::ControlPoint &, controlPoint,
Properties::NON_VIRTUAL,
__void__insert__double__C5_ControlPoint_R1,
"Insert a control point into the AnimationPath. ",
"");
I_Method0(double, getFirstTime,
Properties::NON_VIRTUAL,
__double__getFirstTime,
"",
"");
I_Method0(double, getLastTime,
Properties::NON_VIRTUAL,
__double__getLastTime,
"",
"");
I_Method0(double, getPeriod,
Properties::NON_VIRTUAL,
__double__getPeriod,
"",
"");
I_Method1(void, setLoopMode, IN, osg::AnimationPath::LoopMode, lm,
Properties::NON_VIRTUAL,
__void__setLoopMode__LoopMode,
"",
"");
I_Method0(osg::AnimationPath::LoopMode, getLoopMode,
Properties::NON_VIRTUAL,
__LoopMode__getLoopMode,
"",
"");
I_Method1(void, setTimeControlPointMap, IN, osg::AnimationPath::TimeControlPointMap &, tcpm,
Properties::NON_VIRTUAL,
__void__setTimeControlPointMap__TimeControlPointMap_R1,
"",
"");
I_Method0(osg::AnimationPath::TimeControlPointMap &, getTimeControlPointMap,
Properties::NON_VIRTUAL,
__TimeControlPointMap_R1__getTimeControlPointMap,
"",
"");
I_Method0(const osg::AnimationPath::TimeControlPointMap &, getTimeControlPointMap,
Properties::NON_VIRTUAL,
__C5_TimeControlPointMap_R1__getTimeControlPointMap,
"",
"");
I_Method0(bool, empty,
Properties::NON_VIRTUAL,
__bool__empty,
"",
"");
I_Method0(void, clear,
Properties::NON_VIRTUAL,
__void__clear,
"",
"");
I_Method1(void, read, IN, std::istream &, in,
Properties::NON_VIRTUAL,
__void__read__std_istream_R1,
"Read the animation path from a flat ASCII file stream. ",
"");
I_Method1(void, write, IN, std::ostream &, out,
Properties::NON_VIRTUAL,
__void__write__std_ostream_R1,
"Write the animation path to a flat ASCII file stream. ",
"");
I_Method2(void, write, IN, osg::AnimationPath::TimeControlPointMap::const_iterator, itr, IN, std::ostream &, out,
Properties::NON_VIRTUAL,
__void__write__TimeControlPointMap_C5_iterator__std_ostream_R1,
"Write the control point to a flat ASCII file stream. ",
"");
I_SimpleProperty(double, FirstTime,
__double__getFirstTime,
0);
I_SimpleProperty(double, LastTime,
__double__getLastTime,
0);
I_SimpleProperty(osg::AnimationPath::LoopMode, LoopMode,
__LoopMode__getLoopMode,
__void__setLoopMode__LoopMode);
I_SimpleProperty(double, Period,
__double__getPeriod,
0);
I_SimpleProperty(osg::AnimationPath::TimeControlPointMap &, TimeControlPointMap,
__TimeControlPointMap_R1__getTimeControlPointMap,
__void__setTimeControlPointMap__TimeControlPointMap_R1);
END_REFLECTOR
BEGIN_VALUE_REFLECTOR(osg::AnimationPath::ControlPoint)
I_DeclaringFile("osg/AnimationPath");
I_Constructor0(____ControlPoint,
"",
"");
I_Constructor1(IN, const osg::Vec3d &, position,
Properties::NON_EXPLICIT,
____ControlPoint__C5_osg_Vec3d_R1,
"",
"");
I_Constructor2(IN, const osg::Vec3d &, position, IN, const osg::Quat &, rotation,
____ControlPoint__C5_osg_Vec3d_R1__C5_osg_Quat_R1,
"",
"");
I_Constructor3(IN, const osg::Vec3d &, position, IN, const osg::Quat &, rotation, IN, const osg::Vec3d &, scale,
____ControlPoint__C5_osg_Vec3d_R1__C5_osg_Quat_R1__C5_osg_Vec3d_R1,
"",
"");
I_Method1(void, setPosition, IN, const osg::Vec3d &, position,
Properties::NON_VIRTUAL,
__void__setPosition__C5_osg_Vec3d_R1,
"",
"");
I_Method0(const osg::Vec3d &, getPosition,
Properties::NON_VIRTUAL,
__C5_osg_Vec3d_R1__getPosition,
"",
"");
I_Method1(void, setRotation, IN, const osg::Quat &, rotation,
Properties::NON_VIRTUAL,
__void__setRotation__C5_osg_Quat_R1,
"",
"");
I_Method0(const osg::Quat &, getRotation,
Properties::NON_VIRTUAL,
__C5_osg_Quat_R1__getRotation,
"",
"");
I_Method1(void, setScale, IN, const osg::Vec3d &, scale,
Properties::NON_VIRTUAL,
__void__setScale__C5_osg_Vec3d_R1,
"",
"");
I_Method0(const osg::Vec3d &, getScale,
Properties::NON_VIRTUAL,
__C5_osg_Vec3d_R1__getScale,
"",
"");
I_Method3(void, interpolate, IN, float, ratio, IN, const osg::AnimationPath::ControlPoint &, first, IN, const osg::AnimationPath::ControlPoint &, second,
Properties::NON_VIRTUAL,
__void__interpolate__float__C5_ControlPoint_R1__C5_ControlPoint_R1,
"",
"");
I_Method3(void, interpolate, IN, double, ratio, IN, const osg::AnimationPath::ControlPoint &, first, IN, const osg::AnimationPath::ControlPoint &, second,
Properties::NON_VIRTUAL,
__void__interpolate__double__C5_ControlPoint_R1__C5_ControlPoint_R1,
"",
"");
I_Method1(void, getMatrix, IN, osg::Matrixf &, matrix,
Properties::NON_VIRTUAL,
__void__getMatrix__Matrixf_R1,
"",
"");
I_Method1(void, getMatrix, IN, osg::Matrixd &, matrix,
Properties::NON_VIRTUAL,
__void__getMatrix__Matrixd_R1,
"",
"");
I_Method1(void, getInverse, IN, osg::Matrixf &, matrix,
Properties::NON_VIRTUAL,
__void__getInverse__Matrixf_R1,
"",
"");
I_Method1(void, getInverse, IN, osg::Matrixd &, matrix,
Properties::NON_VIRTUAL,
__void__getInverse__Matrixd_R1,
"",
"");
I_SimpleProperty(const osg::Vec3d &, Position,
__C5_osg_Vec3d_R1__getPosition,
__void__setPosition__C5_osg_Vec3d_R1);
I_SimpleProperty(const osg::Quat &, Rotation,
__C5_osg_Quat_R1__getRotation,
__void__setRotation__C5_osg_Quat_R1);
I_SimpleProperty(const osg::Vec3d &, Scale,
__C5_osg_Vec3d_R1__getScale,
__void__setScale__C5_osg_Vec3d_R1);
END_REFLECTOR
BEGIN_OBJECT_REFLECTOR(osg::AnimationPathCallback)
I_DeclaringFile("osg/AnimationPath");
I_BaseType(osg::NodeCallback);
I_Constructor0(____AnimationPathCallback,
"",
"");
I_Constructor2(IN, const osg::AnimationPathCallback &, apc, IN, const osg::CopyOp &, copyop,
____AnimationPathCallback__C5_AnimationPathCallback_R1__C5_CopyOp_R1,
"",
"");
I_Method0(osg::Object *, cloneType,
Properties::VIRTUAL,
__osg_Object_P1__cloneType,
"Clone the type of an object, with Object* return type. ",
"Must be defined by derived classes. ");
I_Method1(osg::Object *, clone, IN, const osg::CopyOp &, x,
Properties::VIRTUAL,
__osg_Object_P1__clone__C5_osg_CopyOp_R1,
"Clone an object, with Object* return type. ",
"Must be defined by derived classes. ");
I_Method1(bool, isSameKindAs, IN, const osg::Object *, obj,
Properties::VIRTUAL,
__bool__isSameKindAs__C5_osg_Object_P1,
"",
"");
I_Method0(const char *, libraryName,
Properties::VIRTUAL,
__C5_char_P1__libraryName,
"return the name of the object's library. ",
"Must be defined by derived classes. The OpenSceneGraph convention is that the namespace of a library is the same as the library name. ");
I_Method0(const char *, className,
Properties::VIRTUAL,
__C5_char_P1__className,
"return the name of the object's class type. ",
"Must be defined by derived classes. ");
I_ConstructorWithDefaults3(IN, osg::AnimationPath *, ap, , IN, double, timeOffset, 0.0, IN, double, timeMultiplier, 1.0,
____AnimationPathCallback__AnimationPath_P1__double__double,
"Construct an AnimationPathCallback with a specified animation path. ",
"");
I_Constructor3(IN, const osg::Vec3d &, pivot, IN, const osg::Vec3d &, axis, IN, float, angularVelocity,
____AnimationPathCallback__C5_osg_Vec3d_R1__C5_osg_Vec3d_R1__float,
"Construct an AnimationPathCallback and automatical create an animation path to produce a rotation about a point. ",
"");
I_Method1(void, setAnimationPath, IN, osg::AnimationPath *, path,
Properties::NON_VIRTUAL,
__void__setAnimationPath__AnimationPath_P1,
"",
"");
I_Method0(osg::AnimationPath *, getAnimationPath,
Properties::NON_VIRTUAL,
__AnimationPath_P1__getAnimationPath,
"",
"");
I_Method0(const osg::AnimationPath *, getAnimationPath,
Properties::NON_VIRTUAL,
__C5_AnimationPath_P1__getAnimationPath,
"",
"");
I_Method1(void, setPivotPoint, IN, const osg::Vec3d &, pivot,
Properties::NON_VIRTUAL,
__void__setPivotPoint__C5_Vec3d_R1,
"",
"");
I_Method0(const osg::Vec3d &, getPivotPoint,
Properties::NON_VIRTUAL,
__C5_Vec3d_R1__getPivotPoint,
"",
"");
I_Method1(void, setUseInverseMatrix, IN, bool, useInverseMatrix,
Properties::NON_VIRTUAL,
__void__setUseInverseMatrix__bool,
"",
"");
I_Method0(bool, getUseInverseMatrix,
Properties::NON_VIRTUAL,
__bool__getUseInverseMatrix,
"",
"");
I_Method1(void, setTimeOffset, IN, double, offset,
Properties::NON_VIRTUAL,
__void__setTimeOffset__double,
"",
"");
I_Method0(double, getTimeOffset,
Properties::NON_VIRTUAL,
__double__getTimeOffset,
"",
"");
I_Method1(void, setTimeMultiplier, IN, double, multiplier,
Properties::NON_VIRTUAL,
__void__setTimeMultiplier__double,
"",
"");
I_Method0(double, getTimeMultiplier,
Properties::NON_VIRTUAL,
__double__getTimeMultiplier,
"",
"");
I_Method0(void, reset,
Properties::VIRTUAL,
__void__reset,
"",
"");
I_Method1(void, setPause, IN, bool, pause,
Properties::NON_VIRTUAL,
__void__setPause__bool,
"",
"");
I_Method0(bool, getPause,
Properties::NON_VIRTUAL,
__bool__getPause,
"",
"");
I_Method0(double, getAnimationTime,
Properties::VIRTUAL,
__double__getAnimationTime,
"Get the animation time that is used to specify the position along the AnimationPath. ",
"Animation time is computed from the formula: ((_latestTime-_firstTime)-_timeOffset)*_timeMultiplier. ");
I_Method1(void, update, IN, osg::Node &, node,
Properties::NON_VIRTUAL,
__void__update__osg_Node_R1,
"",
"");
I_SimpleProperty(osg::AnimationPath *, AnimationPath,
__AnimationPath_P1__getAnimationPath,
__void__setAnimationPath__AnimationPath_P1);
I_SimpleProperty(double, AnimationTime,
__double__getAnimationTime,
0);
I_SimpleProperty(bool, Pause,
__bool__getPause,
__void__setPause__bool);
I_SimpleProperty(const osg::Vec3d &, PivotPoint,
__C5_Vec3d_R1__getPivotPoint,
__void__setPivotPoint__C5_Vec3d_R1);
I_SimpleProperty(double, TimeMultiplier,
__double__getTimeMultiplier,
__void__setTimeMultiplier__double);
I_SimpleProperty(double, TimeOffset,
__double__getTimeOffset,
__void__setTimeOffset__double);
I_SimpleProperty(bool, UseInverseMatrix,
__bool__getUseInverseMatrix,
__void__setUseInverseMatrix__bool);
I_PublicMemberProperty(osg::ref_ptr< osg::AnimationPath >, _animationPath);
I_PublicMemberProperty(osg::Vec3d, _pivotPoint);
I_PublicMemberProperty(bool, _useInverseMatrix);
I_PublicMemberProperty(double, _timeOffset);
I_PublicMemberProperty(double, _timeMultiplier);
I_PublicMemberProperty(double, _firstTime);
I_PublicMemberProperty(double, _latestTime);
I_PublicMemberProperty(bool, _pause);
I_PublicMemberProperty(double, _pauseTime);
END_REFLECTOR
STD_MAP_REFLECTOR(std::map< double COMMA osg::AnimationPath::ControlPoint >)

View File

@ -1,206 +0,0 @@
// ***************************************************************************
//
// Generated automatically by genwrapper.
// Please DO NOT EDIT this file!
//
// ***************************************************************************
#include <osgIntrospection/ReflectionMacros>
#include <osgIntrospection/TypedMethodInfo>
#include <osgIntrospection/StaticMethodInfo>
#include <osgIntrospection/Attributes>
#include <osg/ApplicationUsage>
// Must undefine IN and OUT macros defined in Windows headers
#ifdef IN
#undef IN
#endif
#ifdef OUT
#undef OUT
#endif
#include <osg/observer_ptr>
BEGIN_ENUM_REFLECTOR(osg::ApplicationUsage::Type)
I_DeclaringFile("osg/ApplicationUsage");
I_EnumLabel(osg::ApplicationUsage::NO_HELP);
I_EnumLabel(osg::ApplicationUsage::COMMAND_LINE_OPTION);
I_EnumLabel(osg::ApplicationUsage::ENVIRONMENTAL_VARIABLE);
I_EnumLabel(osg::ApplicationUsage::KEYBOARD_MOUSE_BINDING);
I_EnumLabel(osg::ApplicationUsage::HELP_ALL);
END_REFLECTOR
TYPE_NAME_ALIAS(std::map< std::string COMMA std::string >, osg::ApplicationUsage::UsageMap)
BEGIN_OBJECT_REFLECTOR(osg::ApplicationUsage)
I_DeclaringFile("osg/ApplicationUsage");
I_BaseType(osg::Referenced);
I_StaticMethod0(osg::ApplicationUsage *, instance,
__ApplicationUsage_P1__instance_S,
"",
"");
I_Constructor0(____ApplicationUsage,
"",
"");
I_Constructor1(IN, const std::string &, commandLineUsage,
Properties::NON_EXPLICIT,
____ApplicationUsage__C5_std_string_R1,
"",
"");
I_Method1(void, setApplicationName, IN, const std::string &, name,
Properties::NON_VIRTUAL,
__void__setApplicationName__C5_std_string_R1,
"The ApplicationName is often displayed when logging errors, and frequently incorporated into the Description (below). ",
"");
I_Method0(const std::string &, getApplicationName,
Properties::NON_VIRTUAL,
__C5_std_string_R1__getApplicationName,
"",
"");
I_Method1(void, setDescription, IN, const std::string &, desc,
Properties::NON_VIRTUAL,
__void__setDescription__C5_std_string_R1,
"If non-empty, the Description is typically shown by the Help Handler as text on the Help display (which also lists keyboard abbreviations. ",
"");
I_Method0(const std::string &, getDescription,
Properties::NON_VIRTUAL,
__C5_std_string_R1__getDescription,
"",
"");
I_Method3(void, addUsageExplanation, IN, osg::ApplicationUsage::Type, type, IN, const std::string &, option, IN, const std::string &, explanation,
Properties::NON_VIRTUAL,
__void__addUsageExplanation__Type__C5_std_string_R1__C5_std_string_R1,
"",
"");
I_Method1(void, setCommandLineUsage, IN, const std::string &, explanation,
Properties::NON_VIRTUAL,
__void__setCommandLineUsage__C5_std_string_R1,
"",
"");
I_Method0(const std::string &, getCommandLineUsage,
Properties::NON_VIRTUAL,
__C5_std_string_R1__getCommandLineUsage,
"",
"");
I_MethodWithDefaults3(void, addCommandLineOption, IN, const std::string &, option, , IN, const std::string &, explanation, , IN, const std::string &, defaultValue, "",
Properties::NON_VIRTUAL,
__void__addCommandLineOption__C5_std_string_R1__C5_std_string_R1__C5_std_string_R1,
"",
"");
I_Method1(void, setCommandLineOptions, IN, const osg::ApplicationUsage::UsageMap &, usageMap,
Properties::NON_VIRTUAL,
__void__setCommandLineOptions__C5_UsageMap_R1,
"",
"");
I_Method0(const osg::ApplicationUsage::UsageMap &, getCommandLineOptions,
Properties::NON_VIRTUAL,
__C5_UsageMap_R1__getCommandLineOptions,
"",
"");
I_Method1(void, setCommandLineOptionsDefaults, IN, const osg::ApplicationUsage::UsageMap &, usageMap,
Properties::NON_VIRTUAL,
__void__setCommandLineOptionsDefaults__C5_UsageMap_R1,
"",
"");
I_Method0(const osg::ApplicationUsage::UsageMap &, getCommandLineOptionsDefaults,
Properties::NON_VIRTUAL,
__C5_UsageMap_R1__getCommandLineOptionsDefaults,
"",
"");
I_MethodWithDefaults3(void, addEnvironmentalVariable, IN, const std::string &, option, , IN, const std::string &, explanation, , IN, const std::string &, defaultValue, "",
Properties::NON_VIRTUAL,
__void__addEnvironmentalVariable__C5_std_string_R1__C5_std_string_R1__C5_std_string_R1,
"",
"");
I_Method1(void, setEnvironmentalVariables, IN, const osg::ApplicationUsage::UsageMap &, usageMap,
Properties::NON_VIRTUAL,
__void__setEnvironmentalVariables__C5_UsageMap_R1,
"",
"");
I_Method0(const osg::ApplicationUsage::UsageMap &, getEnvironmentalVariables,
Properties::NON_VIRTUAL,
__C5_UsageMap_R1__getEnvironmentalVariables,
"",
"");
I_Method1(void, setEnvironmentalVariablesDefaults, IN, const osg::ApplicationUsage::UsageMap &, usageMap,
Properties::NON_VIRTUAL,
__void__setEnvironmentalVariablesDefaults__C5_UsageMap_R1,
"",
"");
I_Method0(const osg::ApplicationUsage::UsageMap &, getEnvironmentalVariablesDefaults,
Properties::NON_VIRTUAL,
__C5_UsageMap_R1__getEnvironmentalVariablesDefaults,
"",
"");
I_Method2(void, addKeyboardMouseBinding, IN, const std::string &, option, IN, const std::string &, explanation,
Properties::NON_VIRTUAL,
__void__addKeyboardMouseBinding__C5_std_string_R1__C5_std_string_R1,
"",
"");
I_Method1(void, setKeyboardMouseBindings, IN, const osg::ApplicationUsage::UsageMap &, usageMap,
Properties::NON_VIRTUAL,
__void__setKeyboardMouseBindings__C5_UsageMap_R1,
"",
"");
I_Method0(const osg::ApplicationUsage::UsageMap &, getKeyboardMouseBindings,
Properties::NON_VIRTUAL,
__C5_UsageMap_R1__getKeyboardMouseBindings,
"",
"");
I_MethodWithDefaults5(void, getFormattedString, IN, std::string &, str, , IN, const osg::ApplicationUsage::UsageMap &, um, , IN, unsigned int, widthOfOutput, 80, IN, bool, showDefaults, false, IN, const osg::ApplicationUsage::UsageMap &, ud, osg::ApplicationUsage::UsageMap(),
Properties::NON_VIRTUAL,
__void__getFormattedString__std_string_R1__C5_UsageMap_R1__unsigned_int__bool__C5_UsageMap_R1,
"",
"");
I_MethodWithDefaults5(void, write, IN, std::ostream &, output, , IN, const osg::ApplicationUsage::UsageMap &, um, , IN, unsigned int, widthOfOutput, 80, IN, bool, showDefaults, false, IN, const osg::ApplicationUsage::UsageMap &, ud, osg::ApplicationUsage::UsageMap(),
Properties::NON_VIRTUAL,
__void__write__std_ostream_R1__C5_UsageMap_R1__unsigned_int__bool__C5_UsageMap_R1,
"",
"");
I_MethodWithDefaults4(void, write, IN, std::ostream &, output, , IN, unsigned int, type, osg::ApplicationUsage::COMMAND_LINE_OPTION, IN, unsigned int, widthOfOutput, 80, IN, bool, showDefaults, false,
Properties::NON_VIRTUAL,
__void__write__std_ostream_R1__unsigned_int__unsigned_int__bool,
"",
"");
I_Method1(void, writeEnvironmentSettings, IN, std::ostream &, output,
Properties::NON_VIRTUAL,
__void__writeEnvironmentSettings__std_ostream_R1,
"",
"");
I_SimpleProperty(const std::string &, ApplicationName,
__C5_std_string_R1__getApplicationName,
__void__setApplicationName__C5_std_string_R1);
I_SimpleProperty(const osg::ApplicationUsage::UsageMap &, CommandLineOptions,
__C5_UsageMap_R1__getCommandLineOptions,
__void__setCommandLineOptions__C5_UsageMap_R1);
I_SimpleProperty(const osg::ApplicationUsage::UsageMap &, CommandLineOptionsDefaults,
__C5_UsageMap_R1__getCommandLineOptionsDefaults,
__void__setCommandLineOptionsDefaults__C5_UsageMap_R1);
I_SimpleProperty(const std::string &, CommandLineUsage,
__C5_std_string_R1__getCommandLineUsage,
__void__setCommandLineUsage__C5_std_string_R1);
I_SimpleProperty(const std::string &, Description,
__C5_std_string_R1__getDescription,
__void__setDescription__C5_std_string_R1);
I_SimpleProperty(const osg::ApplicationUsage::UsageMap &, EnvironmentalVariables,
__C5_UsageMap_R1__getEnvironmentalVariables,
__void__setEnvironmentalVariables__C5_UsageMap_R1);
I_SimpleProperty(const osg::ApplicationUsage::UsageMap &, EnvironmentalVariablesDefaults,
__C5_UsageMap_R1__getEnvironmentalVariablesDefaults,
__void__setEnvironmentalVariablesDefaults__C5_UsageMap_R1);
I_SimpleProperty(const osg::ApplicationUsage::UsageMap &, KeyboardMouseBindings,
__C5_UsageMap_R1__getKeyboardMouseBindings,
__void__setKeyboardMouseBindings__C5_UsageMap_R1);
END_REFLECTOR
BEGIN_VALUE_REFLECTOR(osg::ApplicationUsageProxy)
I_DeclaringFile("osg/ApplicationUsage");
I_Constructor3(IN, osg::ApplicationUsage::Type, type, IN, const std::string &, option, IN, const std::string &, explanation,
____ApplicationUsageProxy__ApplicationUsage_Type__C5_std_string_R1__C5_std_string_R1,
"register an explanation of commandline/environmentvariable/keyboard mouse usage. ",
"");
END_REFLECTOR
STD_MAP_REFLECTOR(std::map< std::string COMMA std::string >)

View File

@ -1,317 +0,0 @@
// ***************************************************************************
//
// Generated automatically by genwrapper.
// Please DO NOT EDIT this file!
//
// ***************************************************************************
#include <osgIntrospection/ReflectionMacros>
#include <osgIntrospection/TypedMethodInfo>
#include <osgIntrospection/StaticMethodInfo>
#include <osgIntrospection/Attributes>
#include <osg/ApplicationUsage>
#include <osg/ArgumentParser>
// Must undefine IN and OUT macros defined in Windows headers
#ifdef IN
#undef IN
#endif
#ifdef OUT
#undef OUT
#endif
#include <osg/observer_ptr>
BEGIN_ENUM_REFLECTOR(osg::ArgumentParser::ErrorSeverity)
I_DeclaringFile("osg/ArgumentParser");
I_EnumLabel(osg::ArgumentParser::BENIGN);
I_EnumLabel(osg::ArgumentParser::CRITICAL);
END_REFLECTOR
TYPE_NAME_ALIAS(std::map< std::string COMMA osg::ArgumentParser::ErrorSeverity >, osg::ArgumentParser::ErrorMessageMap)
BEGIN_VALUE_REFLECTOR(osg::ArgumentParser)
I_DeclaringFile("osg/ArgumentParser");
I_StaticMethod1(bool, isOption, IN, const char *, str,
__bool__isOption__C5_char_P1_S,
"Return true if the specified string is an option in the form -option or --option. ",
"");
I_StaticMethod1(bool, isString, IN, const char *, str,
__bool__isString__C5_char_P1_S,
"Return true if string is non-NULL and not an option in the form -option or --option. ",
"");
I_StaticMethod1(bool, isNumber, IN, const char *, str,
__bool__isNumber__C5_char_P1_S,
"Return true if specified parameter is a number. ",
"");
I_StaticMethod1(bool, isBool, IN, const char *, str,
__bool__isBool__C5_char_P1_S,
"Return true if specified parameter is a bool. ",
"");
I_Constructor2(IN, int *, argc, IN, char **, argv,
____ArgumentParser__int_P1__char_P1P1,
"",
"");
I_Method1(void, setApplicationUsage, IN, osg::ApplicationUsage *, usage,
Properties::NON_VIRTUAL,
__void__setApplicationUsage__ApplicationUsage_P1,
"",
"");
I_Method0(osg::ApplicationUsage *, getApplicationUsage,
Properties::NON_VIRTUAL,
__ApplicationUsage_P1__getApplicationUsage,
"",
"");
I_Method0(const osg::ApplicationUsage *, getApplicationUsage,
Properties::NON_VIRTUAL,
__C5_ApplicationUsage_P1__getApplicationUsage,
"",
"");
I_Method0(int &, argc,
Properties::NON_VIRTUAL,
__int_R1__argc,
"Return the argument count. ",
"");
I_Method0(char **, argv,
Properties::NON_VIRTUAL,
__char_P1P1__argv,
"Return the argument array. ",
"");
I_Method0(std::string, getApplicationName,
Properties::NON_VIRTUAL,
__std_string__getApplicationName,
"Return the application name, as specified by argv[0]. ",
"");
I_Method1(int, find, IN, const std::string &, str,
Properties::NON_VIRTUAL,
__int__find__C5_std_string_R1,
"Return the position of an occurrence of a string in the argument list. ",
"Return -1 if no string is found. ");
I_Method1(bool, isOption, IN, int, pos,
Properties::NON_VIRTUAL,
__bool__isOption__int,
"Return true if the specified parameter is an option in the form of -option or --option. ",
"");
I_Method1(bool, isString, IN, int, pos,
Properties::NON_VIRTUAL,
__bool__isString__int,
"Return true if the specified parameter is a string not in the form of an option. ",
"");
I_Method1(bool, isNumber, IN, int, pos,
Properties::NON_VIRTUAL,
__bool__isNumber__int,
"Return true if the specified parameter is a number. ",
"");
I_Method0(bool, containsOptions,
Properties::NON_VIRTUAL,
__bool__containsOptions,
"",
"");
I_MethodWithDefaults2(void, remove, IN, int, pos, , IN, int, num, 1,
Properties::NON_VIRTUAL,
__void__remove__int__int,
"Remove one or more arguments from the argv argument list, and decrement the argc respectively. ",
"");
I_Method2(bool, match, IN, int, pos, IN, const std::string &, str,
Properties::NON_VIRTUAL,
__bool__match__int__C5_std_string_R1,
"Return true if the specified argument matches the given string. ",
"");
I_Method1(bool, read, IN, const std::string &, str,
Properties::NON_VIRTUAL,
__bool__read__C5_std_string_R1,
"Search for an occurrence of a string in the argument list. ",
"If found, remove that occurrence and return true. Otherwise, return false. ");
I_Method2(bool, read, IN, const std::string &, str, IN, osg::ArgumentParser::Parameter, value1,
Properties::NON_VIRTUAL,
__bool__read__C5_std_string_R1__Parameter,
"",
"");
I_Method3(bool, read, IN, const std::string &, str, IN, osg::ArgumentParser::Parameter, value1, IN, osg::ArgumentParser::Parameter, value2,
Properties::NON_VIRTUAL,
__bool__read__C5_std_string_R1__Parameter__Parameter,
"",
"");
I_Method4(bool, read, IN, const std::string &, str, IN, osg::ArgumentParser::Parameter, value1, IN, osg::ArgumentParser::Parameter, value2, IN, osg::ArgumentParser::Parameter, value3,
Properties::NON_VIRTUAL,
__bool__read__C5_std_string_R1__Parameter__Parameter__Parameter,
"",
"");
I_Method5(bool, read, IN, const std::string &, str, IN, osg::ArgumentParser::Parameter, value1, IN, osg::ArgumentParser::Parameter, value2, IN, osg::ArgumentParser::Parameter, value3, IN, osg::ArgumentParser::Parameter, value4,
Properties::NON_VIRTUAL,
__bool__read__C5_std_string_R1__Parameter__Parameter__Parameter__Parameter,
"",
"");
I_Method6(bool, read, IN, const std::string &, str, IN, osg::ArgumentParser::Parameter, value1, IN, osg::ArgumentParser::Parameter, value2, IN, osg::ArgumentParser::Parameter, value3, IN, osg::ArgumentParser::Parameter, value4, IN, osg::ArgumentParser::Parameter, value5,
Properties::NON_VIRTUAL,
__bool__read__C5_std_string_R1__Parameter__Parameter__Parameter__Parameter__Parameter,
"",
"");
I_Method7(bool, read, IN, const std::string &, str, IN, osg::ArgumentParser::Parameter, value1, IN, osg::ArgumentParser::Parameter, value2, IN, osg::ArgumentParser::Parameter, value3, IN, osg::ArgumentParser::Parameter, value4, IN, osg::ArgumentParser::Parameter, value5, IN, osg::ArgumentParser::Parameter, value6,
Properties::NON_VIRTUAL,
__bool__read__C5_std_string_R1__Parameter__Parameter__Parameter__Parameter__Parameter__Parameter,
"",
"");
I_Method8(bool, read, IN, const std::string &, str, IN, osg::ArgumentParser::Parameter, value1, IN, osg::ArgumentParser::Parameter, value2, IN, osg::ArgumentParser::Parameter, value3, IN, osg::ArgumentParser::Parameter, value4, IN, osg::ArgumentParser::Parameter, value5, IN, osg::ArgumentParser::Parameter, value6, IN, osg::ArgumentParser::Parameter, value7,
Properties::NON_VIRTUAL,
__bool__read__C5_std_string_R1__Parameter__Parameter__Parameter__Parameter__Parameter__Parameter__Parameter,
"",
"");
I_Method9(bool, read, IN, const std::string &, str, IN, osg::ArgumentParser::Parameter, value1, IN, osg::ArgumentParser::Parameter, value2, IN, osg::ArgumentParser::Parameter, value3, IN, osg::ArgumentParser::Parameter, value4, IN, osg::ArgumentParser::Parameter, value5, IN, osg::ArgumentParser::Parameter, value6, IN, osg::ArgumentParser::Parameter, value7, IN, osg::ArgumentParser::Parameter, value8,
Properties::NON_VIRTUAL,
__bool__read__C5_std_string_R1__Parameter__Parameter__Parameter__Parameter__Parameter__Parameter__Parameter__Parameter,
"",
"");
I_Method2(bool, read, IN, int, pos, IN, const std::string &, str,
Properties::NON_VIRTUAL,
__bool__read__int__C5_std_string_R1,
"If the argument value at the specified position matches the given string, and subsequent parameters are also matched, then set the parameter values, remove the arguments from the list, and return true. ",
"Otherwise, return false. ");
I_Method3(bool, read, IN, int, pos, IN, const std::string &, str, IN, osg::ArgumentParser::Parameter, value1,
Properties::NON_VIRTUAL,
__bool__read__int__C5_std_string_R1__Parameter,
"",
"");
I_Method4(bool, read, IN, int, pos, IN, const std::string &, str, IN, osg::ArgumentParser::Parameter, value1, IN, osg::ArgumentParser::Parameter, value2,
Properties::NON_VIRTUAL,
__bool__read__int__C5_std_string_R1__Parameter__Parameter,
"",
"");
I_Method5(bool, read, IN, int, pos, IN, const std::string &, str, IN, osg::ArgumentParser::Parameter, value1, IN, osg::ArgumentParser::Parameter, value2, IN, osg::ArgumentParser::Parameter, value3,
Properties::NON_VIRTUAL,
__bool__read__int__C5_std_string_R1__Parameter__Parameter__Parameter,
"",
"");
I_Method6(bool, read, IN, int, pos, IN, const std::string &, str, IN, osg::ArgumentParser::Parameter, value1, IN, osg::ArgumentParser::Parameter, value2, IN, osg::ArgumentParser::Parameter, value3, IN, osg::ArgumentParser::Parameter, value4,
Properties::NON_VIRTUAL,
__bool__read__int__C5_std_string_R1__Parameter__Parameter__Parameter__Parameter,
"",
"");
I_Method7(bool, read, IN, int, pos, IN, const std::string &, str, IN, osg::ArgumentParser::Parameter, value1, IN, osg::ArgumentParser::Parameter, value2, IN, osg::ArgumentParser::Parameter, value3, IN, osg::ArgumentParser::Parameter, value4, IN, osg::ArgumentParser::Parameter, value5,
Properties::NON_VIRTUAL,
__bool__read__int__C5_std_string_R1__Parameter__Parameter__Parameter__Parameter__Parameter,
"",
"");
I_Method8(bool, read, IN, int, pos, IN, const std::string &, str, IN, osg::ArgumentParser::Parameter, value1, IN, osg::ArgumentParser::Parameter, value2, IN, osg::ArgumentParser::Parameter, value3, IN, osg::ArgumentParser::Parameter, value4, IN, osg::ArgumentParser::Parameter, value5, IN, osg::ArgumentParser::Parameter, value6,
Properties::NON_VIRTUAL,
__bool__read__int__C5_std_string_R1__Parameter__Parameter__Parameter__Parameter__Parameter__Parameter,
"",
"");
I_Method9(bool, read, IN, int, pos, IN, const std::string &, str, IN, osg::ArgumentParser::Parameter, value1, IN, osg::ArgumentParser::Parameter, value2, IN, osg::ArgumentParser::Parameter, value3, IN, osg::ArgumentParser::Parameter, value4, IN, osg::ArgumentParser::Parameter, value5, IN, osg::ArgumentParser::Parameter, value6, IN, osg::ArgumentParser::Parameter, value7,
Properties::NON_VIRTUAL,
__bool__read__int__C5_std_string_R1__Parameter__Parameter__Parameter__Parameter__Parameter__Parameter__Parameter,
"",
"");
I_Method10(bool, read, IN, int, pos, IN, const std::string &, str, IN, osg::ArgumentParser::Parameter, value1, IN, osg::ArgumentParser::Parameter, value2, IN, osg::ArgumentParser::Parameter, value3, IN, osg::ArgumentParser::Parameter, value4, IN, osg::ArgumentParser::Parameter, value5, IN, osg::ArgumentParser::Parameter, value6, IN, osg::ArgumentParser::Parameter, value7, IN, osg::ArgumentParser::Parameter, value8,
Properties::NON_VIRTUAL,
__bool__read__int__C5_std_string_R1__Parameter__Parameter__Parameter__Parameter__Parameter__Parameter__Parameter__Parameter,
"",
"");
I_MethodWithDefaults1(bool, errors, IN, osg::ArgumentParser::ErrorSeverity, severity, osg::ArgumentParser::BENIGN,
Properties::NON_VIRTUAL,
__bool__errors__ErrorSeverity,
"Return the error flag, true if an error has occurred when reading arguments. ",
"");
I_MethodWithDefaults2(void, reportError, IN, const std::string &, message, , IN, osg::ArgumentParser::ErrorSeverity, severity, osg::ArgumentParser::CRITICAL,
Properties::NON_VIRTUAL,
__void__reportError__C5_std_string_R1__ErrorSeverity,
"Report an error message by adding to the ErrorMessageMap. ",
"");
I_MethodWithDefaults1(void, reportRemainingOptionsAsUnrecognized, IN, osg::ArgumentParser::ErrorSeverity, severity, osg::ArgumentParser::BENIGN,
Properties::NON_VIRTUAL,
__void__reportRemainingOptionsAsUnrecognized__ErrorSeverity,
"For each remaining option, report it as unrecognized. ",
"");
I_Method0(osg::ArgumentParser::ErrorMessageMap &, getErrorMessageMap,
Properties::NON_VIRTUAL,
__ErrorMessageMap_R1__getErrorMessageMap,
"Return the error message, if any has occurred. ",
"");
I_Method0(const osg::ArgumentParser::ErrorMessageMap &, getErrorMessageMap,
Properties::NON_VIRTUAL,
__C5_ErrorMessageMap_R1__getErrorMessageMap,
"Return the error message, if any has occurred. ",
"");
I_MethodWithDefaults2(void, writeErrorMessages, IN, std::ostream &, output, , IN, osg::ArgumentParser::ErrorSeverity, sevrity, osg::ArgumentParser::BENIGN,
Properties::NON_VIRTUAL,
__void__writeErrorMessages__std_ostream_R1__ErrorSeverity,
"Write error messages to the given ostream, if at or above the given severity. ",
"");
I_Method0(osg::ApplicationUsage::Type, readHelpType,
Properties::NON_VIRTUAL,
__ApplicationUsage_Type__readHelpType,
"This convinience method handles help requests on the command line. ",
"Return the type(s) of help requested. The return value of this function is suitable for passing into getApplicationUsage()->write(). If ApplicationUsage::NO_HELP is returned then no help commandline option was found on the command line. ");
I_SimpleProperty(std::string, ApplicationName,
__std_string__getApplicationName,
0);
I_SimpleProperty(osg::ApplicationUsage *, ApplicationUsage,
__ApplicationUsage_P1__getApplicationUsage,
__void__setApplicationUsage__ApplicationUsage_P1);
I_SimpleProperty(osg::ArgumentParser::ErrorMessageMap &, ErrorMessageMap,
__ErrorMessageMap_R1__getErrorMessageMap,
0);
END_REFLECTOR
BEGIN_ENUM_REFLECTOR(osg::ArgumentParser::Parameter::ParameterType)
I_DeclaringFile("osg/ArgumentParser");
I_EnumLabel(osg::ArgumentParser::Parameter::BOOL_PARAMETER);
I_EnumLabel(osg::ArgumentParser::Parameter::FLOAT_PARAMETER);
I_EnumLabel(osg::ArgumentParser::Parameter::DOUBLE_PARAMETER);
I_EnumLabel(osg::ArgumentParser::Parameter::INT_PARAMETER);
I_EnumLabel(osg::ArgumentParser::Parameter::UNSIGNED_INT_PARAMETER);
I_EnumLabel(osg::ArgumentParser::Parameter::STRING_PARAMETER);
END_REFLECTOR
BEGIN_VALUE_REFLECTOR(osg::ArgumentParser::Parameter)
I_DeclaringFile("osg/ArgumentParser");
I_Constructor1(IN, bool &, value,
Properties::NON_EXPLICIT,
____Parameter__bool_R1,
"",
"");
I_Constructor1(IN, float &, value,
Properties::NON_EXPLICIT,
____Parameter__float_R1,
"",
"");
I_Constructor1(IN, double &, value,
Properties::NON_EXPLICIT,
____Parameter__double_R1,
"",
"");
I_Constructor1(IN, int &, value,
Properties::NON_EXPLICIT,
____Parameter__int_R1,
"",
"");
I_Constructor1(IN, unsigned int &, value,
Properties::NON_EXPLICIT,
____Parameter__unsigned_int_R1,
"",
"");
I_Constructor1(IN, std::string &, value,
Properties::NON_EXPLICIT,
____Parameter__std_string_R1,
"",
"");
I_Constructor1(IN, const osg::ArgumentParser::Parameter &, param,
Properties::NON_EXPLICIT,
____Parameter__C5_Parameter_R1,
"",
"");
I_Method1(bool, valid, IN, const char *, str,
Properties::NON_VIRTUAL,
__bool__valid__C5_char_P1,
"",
"");
I_Method1(bool, assign, IN, const char *, str,
Properties::NON_VIRTUAL,
__bool__assign__C5_char_P1,
"",
"");
END_REFLECTOR
STD_MAP_REFLECTOR(std::map< std::string COMMA osg::ArgumentParser::ErrorSeverity >)

View File

@ -1,734 +0,0 @@
// ***************************************************************************
//
// Generated automatically by genwrapper.
// Please DO NOT EDIT this file!
//
// ***************************************************************************
#include <osgIntrospection/ReflectionMacros>
#include <osgIntrospection/TypedMethodInfo>
#include <osgIntrospection/StaticMethodInfo>
#include <osgIntrospection/Attributes>
#include <osg/Array>
#include <osg/BufferObject>
#include <osg/CopyOp>
#include <osg/Matrixf>
#include <osg/Object>
#include <osg/Vec2>
#include <osg/Vec2b>
#include <osg/Vec2d>
#include <osg/Vec2s>
#include <osg/Vec3>
#include <osg/Vec3b>
#include <osg/Vec3d>
#include <osg/Vec3s>
#include <osg/Vec4>
#include <osg/Vec4b>
#include <osg/Vec4d>
#include <osg/Vec4s>
#include <osg/Vec4ub>
// Must undefine IN and OUT macros defined in Windows headers
#ifdef IN
#undef IN
#endif
#ifdef OUT
#undef OUT
#endif
#include <osg/observer_ptr>
BEGIN_ENUM_REFLECTOR(osg::Array::Type)
I_DeclaringFile("osg/Array");
I_EnumLabel(osg::Array::ArrayType);
I_EnumLabel(osg::Array::ByteArrayType);
I_EnumLabel(osg::Array::ShortArrayType);
I_EnumLabel(osg::Array::IntArrayType);
I_EnumLabel(osg::Array::UByteArrayType);
I_EnumLabel(osg::Array::UShortArrayType);
I_EnumLabel(osg::Array::UIntArrayType);
I_EnumLabel(osg::Array::Vec4ubArrayType);
I_EnumLabel(osg::Array::FloatArrayType);
I_EnumLabel(osg::Array::Vec2ArrayType);
I_EnumLabel(osg::Array::Vec3ArrayType);
I_EnumLabel(osg::Array::Vec4ArrayType);
I_EnumLabel(osg::Array::Vec2sArrayType);
I_EnumLabel(osg::Array::Vec3sArrayType);
I_EnumLabel(osg::Array::Vec4sArrayType);
I_EnumLabel(osg::Array::Vec2bArrayType);
I_EnumLabel(osg::Array::Vec3bArrayType);
I_EnumLabel(osg::Array::Vec4bArrayType);
I_EnumLabel(osg::Array::DoubleArrayType);
I_EnumLabel(osg::Array::Vec2dArrayType);
I_EnumLabel(osg::Array::Vec3dArrayType);
I_EnumLabel(osg::Array::Vec4dArrayType);
I_EnumLabel(osg::Array::MatrixArrayType);
END_REFLECTOR
BEGIN_ABSTRACT_OBJECT_REFLECTOR(osg::Array)
I_DeclaringFile("osg/Array");
I_BaseType(osg::BufferData);
I_ConstructorWithDefaults3(IN, osg::Array::Type, arrayType, osg::Array::ArrayType, IN, GLint, dataSize, 0, IN, GLenum, dataType, 0,
____Array__Type__GLint__GLenum,
"",
"");
I_ConstructorWithDefaults2(IN, const osg::Array &, array, , IN, const osg::CopyOp &, copyop, osg::CopyOp::SHALLOW_COPY,
____Array__C5_Array_R1__C5_CopyOp_R1,
"",
"");
I_Method1(bool, isSameKindAs, IN, const osg::Object *, obj,
Properties::VIRTUAL,
__bool__isSameKindAs__C5_Object_P1,
"",
"");
I_Method0(const char *, libraryName,
Properties::VIRTUAL,
__C5_char_P1__libraryName,
"return the name of the object's library. ",
"Must be defined by derived classes. The OpenSceneGraph convention is that the namespace of a library is the same as the library name. ");
I_Method0(const char *, className,
Properties::VIRTUAL,
__C5_char_P1__className,
"return the name of the object's class type. ",
"Must be defined by derived classes. ");
I_Method1(void, accept, IN, osg::ArrayVisitor &, x,
Properties::PURE_VIRTUAL,
__void__accept__ArrayVisitor_R1,
"",
"");
I_Method1(void, accept, IN, osg::ConstArrayVisitor &, x,
Properties::PURE_VIRTUAL,
__void__accept__ConstArrayVisitor_R1,
"",
"");
I_Method2(void, accept, IN, unsigned int, index, IN, osg::ValueVisitor &, x,
Properties::PURE_VIRTUAL,
__void__accept__unsigned_int__ValueVisitor_R1,
"",
"");
I_Method2(void, accept, IN, unsigned int, index, IN, osg::ConstValueVisitor &, x,
Properties::PURE_VIRTUAL,
__void__accept__unsigned_int__ConstValueVisitor_R1,
"",
"");
I_Method2(int, compare, IN, unsigned int, lhs, IN, unsigned int, rhs,
Properties::PURE_VIRTUAL,
__int__compare__unsigned_int__unsigned_int,
"Return -1 if lhs element is less than rhs element, 0 if equal, 1 if lhs element is greater than rhs element. ",
"");
I_Method0(osg::Array::Type, getType,
Properties::NON_VIRTUAL,
__Type__getType,
"",
"");
I_Method0(GLint, getDataSize,
Properties::NON_VIRTUAL,
__GLint__getDataSize,
"",
"");
I_Method0(GLenum, getDataType,
Properties::NON_VIRTUAL,
__GLenum__getDataType,
"",
"");
I_Method0(const GLvoid *, getDataPointer,
Properties::PURE_VIRTUAL,
__C5_GLvoid_P1__getDataPointer,
"",
"");
I_Method0(unsigned int, getTotalDataSize,
Properties::PURE_VIRTUAL,
__unsigned_int__getTotalDataSize,
"",
"");
I_Method0(unsigned int, getNumElements,
Properties::PURE_VIRTUAL,
__unsigned_int__getNumElements,
"",
"");
I_Method0(void, trim,
Properties::VIRTUAL,
__void__trim,
"Frees unused space on this vector - i.e. ",
"the difference between size() and max_size() of the underlying vector. ");
I_Method1(void, setVertexBufferObject, IN, osg::VertexBufferObject *, vbo,
Properties::NON_VIRTUAL,
__void__setVertexBufferObject__osg_VertexBufferObject_P1,
"Set the VertexBufferObject. ",
"");
I_Method0(osg::VertexBufferObject *, getVertexBufferObject,
Properties::NON_VIRTUAL,
__osg_VertexBufferObject_P1__getVertexBufferObject,
"Get the VertexBufferObject. ",
"If no VBO is assigned returns NULL ");
I_Method0(const osg::VertexBufferObject *, getVertexBufferObject,
Properties::NON_VIRTUAL,
__C5_osg_VertexBufferObject_P1__getVertexBufferObject,
"Get the const VertexBufferObject. ",
"If no VBO is assigned returns NULL ");
I_SimpleProperty(const GLvoid *, DataPointer,
__C5_GLvoid_P1__getDataPointer,
0);
I_SimpleProperty(GLint, DataSize,
__GLint__getDataSize,
0);
I_SimpleProperty(GLenum, DataType,
__GLenum__getDataType,
0);
I_SimpleProperty(unsigned int, TotalDataSize,
__unsigned_int__getTotalDataSize,
0);
I_SimpleProperty(osg::Array::Type, Type,
__Type__getType,
0);
I_SimpleProperty(osg::VertexBufferObject *, VertexBufferObject,
__osg_VertexBufferObject_P1__getVertexBufferObject,
__void__setVertexBufferObject__osg_VertexBufferObject_P1);
END_REFLECTOR
BEGIN_VALUE_REFLECTOR(osg::ArrayVisitor)
I_DeclaringFile("osg/Array");
I_Constructor0(____ArrayVisitor,
"",
"");
I_Method1(void, apply, IN, osg::Array &, x,
Properties::VIRTUAL,
__void__apply__Array_R1,
"",
"");
I_Method1(void, apply, IN, osg::ByteArray &, x,
Properties::VIRTUAL,
__void__apply__ByteArray_R1,
"",
"");
I_Method1(void, apply, IN, osg::ShortArray &, x,
Properties::VIRTUAL,
__void__apply__ShortArray_R1,
"",
"");
I_Method1(void, apply, IN, osg::IntArray &, x,
Properties::VIRTUAL,
__void__apply__IntArray_R1,
"",
"");
I_Method1(void, apply, IN, osg::UByteArray &, x,
Properties::VIRTUAL,
__void__apply__UByteArray_R1,
"",
"");
I_Method1(void, apply, IN, osg::UShortArray &, x,
Properties::VIRTUAL,
__void__apply__UShortArray_R1,
"",
"");
I_Method1(void, apply, IN, osg::UIntArray &, x,
Properties::VIRTUAL,
__void__apply__UIntArray_R1,
"",
"");
I_Method1(void, apply, IN, osg::FloatArray &, x,
Properties::VIRTUAL,
__void__apply__FloatArray_R1,
"",
"");
I_Method1(void, apply, IN, osg::DoubleArray &, x,
Properties::VIRTUAL,
__void__apply__DoubleArray_R1,
"",
"");
I_Method1(void, apply, IN, osg::Vec2Array &, x,
Properties::VIRTUAL,
__void__apply__Vec2Array_R1,
"",
"");
I_Method1(void, apply, IN, osg::Vec3Array &, x,
Properties::VIRTUAL,
__void__apply__Vec3Array_R1,
"",
"");
I_Method1(void, apply, IN, osg::Vec4Array &, x,
Properties::VIRTUAL,
__void__apply__Vec4Array_R1,
"",
"");
I_Method1(void, apply, IN, osg::Vec4ubArray &, x,
Properties::VIRTUAL,
__void__apply__Vec4ubArray_R1,
"",
"");
I_Method1(void, apply, IN, osg::Vec2bArray &, x,
Properties::VIRTUAL,
__void__apply__Vec2bArray_R1,
"",
"");
I_Method1(void, apply, IN, osg::Vec3bArray &, x,
Properties::VIRTUAL,
__void__apply__Vec3bArray_R1,
"",
"");
I_Method1(void, apply, IN, osg::Vec4bArray &, x,
Properties::VIRTUAL,
__void__apply__Vec4bArray_R1,
"",
"");
I_Method1(void, apply, IN, osg::Vec2sArray &, x,
Properties::VIRTUAL,
__void__apply__Vec2sArray_R1,
"",
"");
I_Method1(void, apply, IN, osg::Vec3sArray &, x,
Properties::VIRTUAL,
__void__apply__Vec3sArray_R1,
"",
"");
I_Method1(void, apply, IN, osg::Vec4sArray &, x,
Properties::VIRTUAL,
__void__apply__Vec4sArray_R1,
"",
"");
I_Method1(void, apply, IN, osg::Vec2dArray &, x,
Properties::VIRTUAL,
__void__apply__Vec2dArray_R1,
"",
"");
I_Method1(void, apply, IN, osg::Vec3dArray &, x,
Properties::VIRTUAL,
__void__apply__Vec3dArray_R1,
"",
"");
I_Method1(void, apply, IN, osg::Vec4dArray &, x,
Properties::VIRTUAL,
__void__apply__Vec4dArray_R1,
"",
"");
I_Method1(void, apply, IN, osg::MatrixfArray &, x,
Properties::VIRTUAL,
__void__apply__MatrixfArray_R1,
"",
"");
END_REFLECTOR
BEGIN_VALUE_REFLECTOR(osg::ConstArrayVisitor)
I_DeclaringFile("osg/Array");
I_Constructor0(____ConstArrayVisitor,
"",
"");
I_Method1(void, apply, IN, const osg::Array &, x,
Properties::VIRTUAL,
__void__apply__C5_Array_R1,
"",
"");
I_Method1(void, apply, IN, const osg::ByteArray &, x,
Properties::VIRTUAL,
__void__apply__C5_ByteArray_R1,
"",
"");
I_Method1(void, apply, IN, const osg::ShortArray &, x,
Properties::VIRTUAL,
__void__apply__C5_ShortArray_R1,
"",
"");
I_Method1(void, apply, IN, const osg::IntArray &, x,
Properties::VIRTUAL,
__void__apply__C5_IntArray_R1,
"",
"");
I_Method1(void, apply, IN, const osg::UByteArray &, x,
Properties::VIRTUAL,
__void__apply__C5_UByteArray_R1,
"",
"");
I_Method1(void, apply, IN, const osg::UShortArray &, x,
Properties::VIRTUAL,
__void__apply__C5_UShortArray_R1,
"",
"");
I_Method1(void, apply, IN, const osg::UIntArray &, x,
Properties::VIRTUAL,
__void__apply__C5_UIntArray_R1,
"",
"");
I_Method1(void, apply, IN, const osg::FloatArray &, x,
Properties::VIRTUAL,
__void__apply__C5_FloatArray_R1,
"",
"");
I_Method1(void, apply, IN, const osg::DoubleArray &, x,
Properties::VIRTUAL,
__void__apply__C5_DoubleArray_R1,
"",
"");
I_Method1(void, apply, IN, const osg::Vec2Array &, x,
Properties::VIRTUAL,
__void__apply__C5_Vec2Array_R1,
"",
"");
I_Method1(void, apply, IN, const osg::Vec3Array &, x,
Properties::VIRTUAL,
__void__apply__C5_Vec3Array_R1,
"",
"");
I_Method1(void, apply, IN, const osg::Vec4Array &, x,
Properties::VIRTUAL,
__void__apply__C5_Vec4Array_R1,
"",
"");
I_Method1(void, apply, IN, const osg::Vec4ubArray &, x,
Properties::VIRTUAL,
__void__apply__C5_Vec4ubArray_R1,
"",
"");
I_Method1(void, apply, IN, const osg::Vec2bArray &, x,
Properties::VIRTUAL,
__void__apply__C5_Vec2bArray_R1,
"",
"");
I_Method1(void, apply, IN, const osg::Vec3bArray &, x,
Properties::VIRTUAL,
__void__apply__C5_Vec3bArray_R1,
"",
"");
I_Method1(void, apply, IN, const osg::Vec4bArray &, x,
Properties::VIRTUAL,
__void__apply__C5_Vec4bArray_R1,
"",
"");
I_Method1(void, apply, IN, const osg::Vec2sArray &, x,
Properties::VIRTUAL,
__void__apply__C5_Vec2sArray_R1,
"",
"");
I_Method1(void, apply, IN, const osg::Vec3sArray &, x,
Properties::VIRTUAL,
__void__apply__C5_Vec3sArray_R1,
"",
"");
I_Method1(void, apply, IN, const osg::Vec4sArray &, x,
Properties::VIRTUAL,
__void__apply__C5_Vec4sArray_R1,
"",
"");
I_Method1(void, apply, IN, const osg::Vec2dArray &, x,
Properties::VIRTUAL,
__void__apply__C5_Vec2dArray_R1,
"",
"");
I_Method1(void, apply, IN, const osg::Vec3dArray &, x,
Properties::VIRTUAL,
__void__apply__C5_Vec3dArray_R1,
"",
"");
I_Method1(void, apply, IN, const osg::Vec4dArray &, x,
Properties::VIRTUAL,
__void__apply__C5_Vec4dArray_R1,
"",
"");
I_Method1(void, apply, IN, const osg::MatrixfArray &, x,
Properties::VIRTUAL,
__void__apply__C5_MatrixfArray_R1,
"",
"");
END_REFLECTOR
BEGIN_VALUE_REFLECTOR(osg::ConstValueVisitor)
I_DeclaringFile("osg/Array");
I_Constructor0(____ConstValueVisitor,
"",
"");
I_Method1(void, apply, IN, const GLbyte &, x,
Properties::VIRTUAL,
__void__apply__C5_GLbyte_R1,
"",
"");
I_Method1(void, apply, IN, const GLshort &, x,
Properties::VIRTUAL,
__void__apply__C5_GLshort_R1,
"",
"");
I_Method1(void, apply, IN, const GLint &, x,
Properties::VIRTUAL,
__void__apply__C5_GLint_R1,
"",
"");
I_Method1(void, apply, IN, const GLushort &, x,
Properties::VIRTUAL,
__void__apply__C5_GLushort_R1,
"",
"");
I_Method1(void, apply, IN, const GLubyte &, x,
Properties::VIRTUAL,
__void__apply__C5_GLubyte_R1,
"",
"");
I_Method1(void, apply, IN, const GLuint &, x,
Properties::VIRTUAL,
__void__apply__C5_GLuint_R1,
"",
"");
I_Method1(void, apply, IN, const GLfloat &, x,
Properties::VIRTUAL,
__void__apply__C5_GLfloat_R1,
"",
"");
I_Method1(void, apply, IN, const GLdouble &, x,
Properties::VIRTUAL,
__void__apply__C5_GLdouble_R1,
"",
"");
I_Method1(void, apply, IN, const osg::Vec4ub &, x,
Properties::VIRTUAL,
__void__apply__C5_Vec4ub_R1,
"",
"");
I_Method1(void, apply, IN, const osg::Vec2 &, x,
Properties::VIRTUAL,
__void__apply__C5_Vec2_R1,
"",
"");
I_Method1(void, apply, IN, const osg::Vec3 &, x,
Properties::VIRTUAL,
__void__apply__C5_Vec3_R1,
"",
"");
I_Method1(void, apply, IN, const osg::Vec4 &, x,
Properties::VIRTUAL,
__void__apply__C5_Vec4_R1,
"",
"");
I_Method1(void, apply, IN, const osg::Vec2b &, x,
Properties::VIRTUAL,
__void__apply__C5_Vec2b_R1,
"",
"");
I_Method1(void, apply, IN, const osg::Vec3b &, x,
Properties::VIRTUAL,
__void__apply__C5_Vec3b_R1,
"",
"");
I_Method1(void, apply, IN, const osg::Vec4b &, x,
Properties::VIRTUAL,
__void__apply__C5_Vec4b_R1,
"",
"");
I_Method1(void, apply, IN, const osg::Vec2s &, x,
Properties::VIRTUAL,
__void__apply__C5_Vec2s_R1,
"",
"");
I_Method1(void, apply, IN, const osg::Vec3s &, x,
Properties::VIRTUAL,
__void__apply__C5_Vec3s_R1,
"",
"");
I_Method1(void, apply, IN, const osg::Vec4s &, x,
Properties::VIRTUAL,
__void__apply__C5_Vec4s_R1,
"",
"");
I_Method1(void, apply, IN, const osg::Vec2d &, x,
Properties::VIRTUAL,
__void__apply__C5_Vec2d_R1,
"",
"");
I_Method1(void, apply, IN, const osg::Vec3d &, x,
Properties::VIRTUAL,
__void__apply__C5_Vec3d_R1,
"",
"");
I_Method1(void, apply, IN, const osg::Vec4d &, x,
Properties::VIRTUAL,
__void__apply__C5_Vec4d_R1,
"",
"");
I_Method1(void, apply, IN, const osg::Matrixf &, x,
Properties::VIRTUAL,
__void__apply__C5_Matrixf_R1,
"",
"");
END_REFLECTOR
BEGIN_ABSTRACT_OBJECT_REFLECTOR(osg::IndexArray)
I_DeclaringFile("osg/Array");
I_BaseType(osg::Array);
I_ConstructorWithDefaults3(IN, osg::Array::Type, arrayType, osg::Array::ArrayType, IN, GLint, dataSize, 0, IN, GLenum, dataType, 0,
____IndexArray__Type__GLint__GLenum,
"",
"");
I_ConstructorWithDefaults2(IN, const osg::Array &, array, , IN, const osg::CopyOp &, copyop, osg::CopyOp::SHALLOW_COPY,
____IndexArray__C5_Array_R1__C5_CopyOp_R1,
"",
"");
I_Method1(bool, isSameKindAs, IN, const osg::Object *, obj,
Properties::VIRTUAL,
__bool__isSameKindAs__C5_Object_P1,
"",
"");
I_Method1(unsigned int, index, IN, unsigned int, pos,
Properties::PURE_VIRTUAL,
__unsigned_int__index__unsigned_int,
"",
"");
END_REFLECTOR
BEGIN_VALUE_REFLECTOR(osg::ValueVisitor)
I_DeclaringFile("osg/Array");
I_Constructor0(____ValueVisitor,
"",
"");
I_Method1(void, apply, IN, GLbyte &, x,
Properties::VIRTUAL,
__void__apply__GLbyte_R1,
"",
"");
I_Method1(void, apply, IN, GLshort &, x,
Properties::VIRTUAL,
__void__apply__GLshort_R1,
"",
"");
I_Method1(void, apply, IN, GLint &, x,
Properties::VIRTUAL,
__void__apply__GLint_R1,
"",
"");
I_Method1(void, apply, IN, GLushort &, x,
Properties::VIRTUAL,
__void__apply__GLushort_R1,
"",
"");
I_Method1(void, apply, IN, GLubyte &, x,
Properties::VIRTUAL,
__void__apply__GLubyte_R1,
"",
"");
I_Method1(void, apply, IN, GLuint &, x,
Properties::VIRTUAL,
__void__apply__GLuint_R1,
"",
"");
I_Method1(void, apply, IN, GLfloat &, x,
Properties::VIRTUAL,
__void__apply__GLfloat_R1,
"",
"");
I_Method1(void, apply, IN, GLdouble &, x,
Properties::VIRTUAL,
__void__apply__GLdouble_R1,
"",
"");
I_Method1(void, apply, IN, osg::Vec2 &, x,
Properties::VIRTUAL,
__void__apply__Vec2_R1,
"",
"");
I_Method1(void, apply, IN, osg::Vec3 &, x,
Properties::VIRTUAL,
__void__apply__Vec3_R1,
"",
"");
I_Method1(void, apply, IN, osg::Vec4 &, x,
Properties::VIRTUAL,
__void__apply__Vec4_R1,
"",
"");
I_Method1(void, apply, IN, osg::Vec4ub &, x,
Properties::VIRTUAL,
__void__apply__Vec4ub_R1,
"",
"");
I_Method1(void, apply, IN, osg::Vec2b &, x,
Properties::VIRTUAL,
__void__apply__Vec2b_R1,
"",
"");
I_Method1(void, apply, IN, osg::Vec3b &, x,
Properties::VIRTUAL,
__void__apply__Vec3b_R1,
"",
"");
I_Method1(void, apply, IN, osg::Vec4b &, x,
Properties::VIRTUAL,
__void__apply__Vec4b_R1,
"",
"");
I_Method1(void, apply, IN, osg::Vec2s &, x,
Properties::VIRTUAL,
__void__apply__Vec2s_R1,
"",
"");
I_Method1(void, apply, IN, osg::Vec3s &, x,
Properties::VIRTUAL,
__void__apply__Vec3s_R1,
"",
"");
I_Method1(void, apply, IN, osg::Vec4s &, x,
Properties::VIRTUAL,
__void__apply__Vec4s_R1,
"",
"");
I_Method1(void, apply, IN, osg::Vec2d &, x,
Properties::VIRTUAL,
__void__apply__Vec2d_R1,
"",
"");
I_Method1(void, apply, IN, osg::Vec3d &, x,
Properties::VIRTUAL,
__void__apply__Vec3d_R1,
"",
"");
I_Method1(void, apply, IN, osg::Vec4d &, x,
Properties::VIRTUAL,
__void__apply__Vec4d_R1,
"",
"");
I_Method1(void, apply, IN, osg::Matrixf &, x,
Properties::VIRTUAL,
__void__apply__Matrixf_R1,
"",
"");
END_REFLECTOR
TYPE_NAME_ALIAS(osg::TemplateIndexArray< GLbyte COMMA osg::Array::ByteArrayType COMMA 1 COMMA GL_BYTE >, osg::ByteArray)
TYPE_NAME_ALIAS(osg::TemplateIndexArray< GLshort COMMA osg::Array::ShortArrayType COMMA 1 COMMA GL_SHORT >, osg::ShortArray)
TYPE_NAME_ALIAS(osg::TemplateIndexArray< GLint COMMA osg::Array::IntArrayType COMMA 1 COMMA GL_INT >, osg::IntArray)
TYPE_NAME_ALIAS(osg::TemplateIndexArray< GLubyte COMMA osg::Array::UByteArrayType COMMA 1 COMMA GL_UNSIGNED_BYTE >, osg::UByteArray)
TYPE_NAME_ALIAS(osg::TemplateIndexArray< GLushort COMMA osg::Array::UShortArrayType COMMA 1 COMMA GL_UNSIGNED_SHORT >, osg::UShortArray)
TYPE_NAME_ALIAS(osg::TemplateIndexArray< GLuint COMMA osg::Array::UIntArrayType COMMA 1 COMMA GL_UNSIGNED_INT >, osg::UIntArray)
TYPE_NAME_ALIAS(osg::TemplateArray< GLfloat COMMA osg::Array::FloatArrayType COMMA 1 COMMA GL_FLOAT >, osg::FloatArray)
TYPE_NAME_ALIAS(osg::TemplateArray< osg::Vec2 COMMA osg::Array::Vec2ArrayType COMMA 2 COMMA GL_FLOAT >, osg::Vec2Array)
TYPE_NAME_ALIAS(osg::TemplateArray< osg::Vec3 COMMA osg::Array::Vec3ArrayType COMMA 3 COMMA GL_FLOAT >, osg::Vec3Array)
TYPE_NAME_ALIAS(osg::TemplateArray< osg::Vec4 COMMA osg::Array::Vec4ArrayType COMMA 4 COMMA GL_FLOAT >, osg::Vec4Array)
TYPE_NAME_ALIAS(osg::TemplateArray< osg::Vec4ub COMMA osg::Array::Vec4ubArrayType COMMA 4 COMMA GL_UNSIGNED_BYTE >, osg::Vec4ubArray)
TYPE_NAME_ALIAS(osg::TemplateArray< osg::Vec2s COMMA osg::Array::Vec2sArrayType COMMA 2 COMMA GL_SHORT >, osg::Vec2sArray)
TYPE_NAME_ALIAS(osg::TemplateArray< osg::Vec3s COMMA osg::Array::Vec3sArrayType COMMA 3 COMMA GL_SHORT >, osg::Vec3sArray)
TYPE_NAME_ALIAS(osg::TemplateArray< osg::Vec4s COMMA osg::Array::Vec4sArrayType COMMA 4 COMMA GL_SHORT >, osg::Vec4sArray)
TYPE_NAME_ALIAS(osg::TemplateArray< osg::Vec2b COMMA osg::Array::Vec2bArrayType COMMA 2 COMMA GL_BYTE >, osg::Vec2bArray)
TYPE_NAME_ALIAS(osg::TemplateArray< osg::Vec3b COMMA osg::Array::Vec3bArrayType COMMA 3 COMMA GL_BYTE >, osg::Vec3bArray)
TYPE_NAME_ALIAS(osg::TemplateArray< osg::Vec4b COMMA osg::Array::Vec4bArrayType COMMA 4 COMMA GL_BYTE >, osg::Vec4bArray)
TYPE_NAME_ALIAS(osg::TemplateArray< GLdouble COMMA osg::Array::DoubleArrayType COMMA 1 COMMA GL_DOUBLE >, osg::DoubleArray)
TYPE_NAME_ALIAS(osg::TemplateArray< osg::Vec2d COMMA osg::Array::Vec2dArrayType COMMA 2 COMMA GL_DOUBLE >, osg::Vec2dArray)
TYPE_NAME_ALIAS(osg::TemplateArray< osg::Vec3d COMMA osg::Array::Vec3dArrayType COMMA 3 COMMA GL_DOUBLE >, osg::Vec3dArray)
TYPE_NAME_ALIAS(osg::TemplateArray< osg::Vec4d COMMA osg::Array::Vec4dArrayType COMMA 4 COMMA GL_DOUBLE >, osg::Vec4dArray)
TYPE_NAME_ALIAS(osg::TemplateArray< osg::Matrixf COMMA osg::Array::MatrixArrayType COMMA 16 COMMA GL_FLOAT >, osg::MatrixfArray)

View File

@ -1,199 +0,0 @@
// ***************************************************************************
//
// Generated automatically by genwrapper.
// Please DO NOT EDIT this file!
//
// ***************************************************************************
#include <osgIntrospection/ReflectionMacros>
#include <osgIntrospection/TypedMethodInfo>
#include <osgIntrospection/StaticMethodInfo>
#include <osgIntrospection/Attributes>
#include <osg/Array>
#include <osg/ArrayDispatchers>
#include <osg/State>
// Must undefine IN and OUT macros defined in Windows headers
#ifdef IN
#undef IN
#endif
#ifdef OUT
#undef OUT
#endif
#include <osg/observer_ptr>
BEGIN_OBJECT_REFLECTOR(osg::ArrayDispatchers)
I_DeclaringFile("osg/ArrayDispatchers");
I_BaseType(osg::Referenced);
I_Constructor0(____ArrayDispatchers,
"",
"");
I_Method1(void, setState, IN, osg::State *, state,
Properties::NON_VIRTUAL,
__void__setState__osg_State_P1,
"",
"");
I_Method2(osg::AttributeDispatch *, vertexDispatcher, IN, osg::Array *, array, IN, osg::IndexArray *, indices,
Properties::NON_VIRTUAL,
__AttributeDispatch_P1__vertexDispatcher__Array_P1__IndexArray_P1,
"",
"");
I_Method2(osg::AttributeDispatch *, normalDispatcher, IN, osg::Array *, array, IN, osg::IndexArray *, indices,
Properties::NON_VIRTUAL,
__AttributeDispatch_P1__normalDispatcher__Array_P1__IndexArray_P1,
"",
"");
I_Method2(osg::AttributeDispatch *, colorDispatcher, IN, osg::Array *, array, IN, osg::IndexArray *, indices,
Properties::NON_VIRTUAL,
__AttributeDispatch_P1__colorDispatcher__Array_P1__IndexArray_P1,
"",
"");
I_Method2(osg::AttributeDispatch *, secondaryColorDispatcher, IN, osg::Array *, array, IN, osg::IndexArray *, indices,
Properties::NON_VIRTUAL,
__AttributeDispatch_P1__secondaryColorDispatcher__Array_P1__IndexArray_P1,
"",
"");
I_Method2(osg::AttributeDispatch *, fogCoordDispatcher, IN, osg::Array *, array, IN, osg::IndexArray *, indices,
Properties::NON_VIRTUAL,
__AttributeDispatch_P1__fogCoordDispatcher__Array_P1__IndexArray_P1,
"",
"");
I_Method3(osg::AttributeDispatch *, texCoordDispatcher, IN, unsigned int, unit, IN, osg::Array *, array, IN, osg::IndexArray *, indices,
Properties::NON_VIRTUAL,
__AttributeDispatch_P1__texCoordDispatcher__unsigned_int__Array_P1__IndexArray_P1,
"",
"");
I_Method3(osg::AttributeDispatch *, vertexAttribDispatcher, IN, unsigned int, unit, IN, osg::Array *, array, IN, osg::IndexArray *, indices,
Properties::NON_VIRTUAL,
__AttributeDispatch_P1__vertexAttribDispatcher__unsigned_int__Array_P1__IndexArray_P1,
"",
"");
I_Method0(void, reset,
Properties::NON_VIRTUAL,
__void__reset,
"",
"");
I_Method1(void, setUseGLBeginEndAdapter, IN, bool, flag,
Properties::NON_VIRTUAL,
__void__setUseGLBeginEndAdapter__bool,
"",
"");
I_Method0(bool, getUseGLBeginEndAdapter,
Properties::NON_VIRTUAL,
__bool__getUseGLBeginEndAdapter,
"",
"");
I_Method1(void, setUseVertexAttribAlias, IN, bool, flag,
Properties::NON_VIRTUAL,
__void__setUseVertexAttribAlias__bool,
"",
"");
I_Method0(bool, getUseVertexAttribAlias,
Properties::NON_VIRTUAL,
__bool__getUseVertexAttribAlias,
"",
"");
I_Method2(void, activate, IN, unsigned int, binding, IN, osg::AttributeDispatch *, at,
Properties::NON_VIRTUAL,
__void__activate__unsigned_int__AttributeDispatch_P1,
"",
"");
I_Method3(void, activateVertexArray, IN, unsigned int, binding, IN, osg::Array *, array, IN, osg::IndexArray *, indices,
Properties::NON_VIRTUAL,
__void__activateVertexArray__unsigned_int__osg_Array_P1__osg_IndexArray_P1,
"",
"");
I_Method3(void, activateColorArray, IN, unsigned int, binding, IN, osg::Array *, array, IN, osg::IndexArray *, indices,
Properties::NON_VIRTUAL,
__void__activateColorArray__unsigned_int__osg_Array_P1__osg_IndexArray_P1,
"",
"");
I_Method3(void, activateNormalArray, IN, unsigned int, binding, IN, osg::Array *, array, IN, osg::IndexArray *, indices,
Properties::NON_VIRTUAL,
__void__activateNormalArray__unsigned_int__osg_Array_P1__osg_IndexArray_P1,
"",
"");
I_Method3(void, activateSecondaryColorArray, IN, unsigned int, binding, IN, osg::Array *, array, IN, osg::IndexArray *, indices,
Properties::NON_VIRTUAL,
__void__activateSecondaryColorArray__unsigned_int__osg_Array_P1__osg_IndexArray_P1,
"",
"");
I_Method3(void, activateFogCoordArray, IN, unsigned int, binding, IN, osg::Array *, array, IN, osg::IndexArray *, indices,
Properties::NON_VIRTUAL,
__void__activateFogCoordArray__unsigned_int__osg_Array_P1__osg_IndexArray_P1,
"",
"");
I_Method4(void, activateTexCoordArray, IN, unsigned int, binding, IN, unsigned int, unit, IN, osg::Array *, array, IN, osg::IndexArray *, indices,
Properties::NON_VIRTUAL,
__void__activateTexCoordArray__unsigned_int__unsigned_int__osg_Array_P1__osg_IndexArray_P1,
"",
"");
I_Method4(void, activateVertexAttribArray, IN, unsigned int, binding, IN, unsigned int, unit, IN, osg::Array *, array, IN, osg::IndexArray *, indices,
Properties::NON_VIRTUAL,
__void__activateVertexAttribArray__unsigned_int__unsigned_int__osg_Array_P1__osg_IndexArray_P1,
"",
"");
I_Method2(void, dispatch, IN, unsigned int, binding, IN, unsigned int, index,
Properties::NON_VIRTUAL,
__void__dispatch__unsigned_int__unsigned_int,
"",
"");
I_Method1(bool, active, IN, unsigned int, binding,
Properties::NON_VIRTUAL,
__bool__active__unsigned_int,
"",
"");
I_Method1(void, Begin, IN, GLenum, mode,
Properties::NON_VIRTUAL,
__void__Begin__GLenum,
"",
"");
I_Method0(void, End,
Properties::NON_VIRTUAL,
__void__End,
"",
"");
I_ProtectedMethod0(void, init,
Properties::NON_VIRTUAL,
Properties::NON_CONST,
__void__init,
"",
"");
I_ProtectedMethod1(void, assignTexCoordDispatchers, IN, unsigned int, unit,
Properties::NON_VIRTUAL,
Properties::NON_CONST,
__void__assignTexCoordDispatchers__unsigned_int,
"",
"");
I_ProtectedMethod1(void, assignVertexAttribDispatchers, IN, unsigned int, unit,
Properties::NON_VIRTUAL,
Properties::NON_CONST,
__void__assignVertexAttribDispatchers__unsigned_int,
"",
"");
I_SimpleProperty(osg::State *, State,
0,
__void__setState__osg_State_P1);
I_SimpleProperty(bool, UseGLBeginEndAdapter,
__bool__getUseGLBeginEndAdapter,
__void__setUseGLBeginEndAdapter__bool);
I_SimpleProperty(bool, UseVertexAttribAlias,
__bool__getUseVertexAttribAlias,
__void__setUseVertexAttribAlias__bool);
END_REFLECTOR
BEGIN_OBJECT_REFLECTOR(osg::AttributeDispatch)
I_DeclaringFile("osg/ArrayDispatchers");
I_BaseType(osg::Referenced);
I_Constructor0(____AttributeDispatch,
"",
"");
I_Method2(void, assign, IN, const GLvoid *, x, IN, const osg::IndexArray *, x,
Properties::VIRTUAL,
__void__assign__C5_GLvoid_P1__C5_IndexArray_P1,
"",
"");
END_REFLECTOR

View File

@ -1,154 +0,0 @@
// ***************************************************************************
//
// Generated automatically by genwrapper.
// Please DO NOT EDIT this file!
//
// ***************************************************************************
#include <osgIntrospection/ReflectionMacros>
#include <osgIntrospection/TypedMethodInfo>
#include <osgIntrospection/StaticMethodInfo>
#include <osgIntrospection/Attributes>
#include <osg/AudioStream>
#include <osg/CopyOp>
#include <osg/Object>
// Must undefine IN and OUT macros defined in Windows headers
#ifdef IN
#undef IN
#endif
#ifdef OUT
#undef OUT
#endif
#include <osg/observer_ptr>
BEGIN_ABSTRACT_OBJECT_REFLECTOR(osg::AudioSink)
I_DeclaringFile("osg/AudioStream");
I_BaseType(osg::Object);
I_Constructor0(____AudioSink,
"",
"");
I_Method0(const char *, libraryName,
Properties::VIRTUAL,
__C5_char_P1__libraryName,
"return the name of the object's library. ",
"Must be defined by derived classes. The OpenSceneGraph convention is that the namespace of a library is the same as the library name. ");
I_Method0(const char *, className,
Properties::VIRTUAL,
__C5_char_P1__className,
"return the name of the object's class type. ",
"Must be defined by derived classes. ");
I_Method0(void, play,
Properties::PURE_VIRTUAL,
__void__play,
"",
"");
I_Method0(void, pause,
Properties::PURE_VIRTUAL,
__void__pause,
"",
"");
I_Method0(void, stop,
Properties::PURE_VIRTUAL,
__void__stop,
"",
"");
I_Method0(bool, playing,
Properties::PURE_VIRTUAL,
__bool__playing,
"",
"");
I_Method0(double, getDelay,
Properties::VIRTUAL,
__double__getDelay,
"",
"");
I_Method1(void, setDelay, IN, const double, delay,
Properties::VIRTUAL,
__void__setDelay__C5_double,
"",
"");
I_Method1(void, setVolume, IN, float, x,
Properties::VIRTUAL,
__void__setVolume__float,
"",
"");
I_Method0(float, getVolume,
Properties::VIRTUAL,
__float__getVolume,
"",
"");
I_SimpleProperty(double, Delay,
__double__getDelay,
0);
I_SimpleProperty(float, Volume,
__float__getVolume,
__void__setVolume__float);
END_REFLECTOR
BEGIN_ENUM_REFLECTOR(osg::AudioStream::SampleFormat)
I_DeclaringFile("osg/AudioStream");
I_EnumLabel(osg::AudioStream::SAMPLE_FORMAT_U8);
I_EnumLabel(osg::AudioStream::SAMPLE_FORMAT_S16);
I_EnumLabel(osg::AudioStream::SAMPLE_FORMAT_S24);
I_EnumLabel(osg::AudioStream::SAMPLE_FORMAT_S32);
I_EnumLabel(osg::AudioStream::SAMPLE_FORMAT_F32);
END_REFLECTOR
BEGIN_ABSTRACT_OBJECT_REFLECTOR(osg::AudioStream)
I_DeclaringFile("osg/AudioStream");
I_BaseType(osg::Object);
I_Constructor0(____AudioStream,
"",
"");
I_ConstructorWithDefaults2(IN, const osg::AudioStream &, audio, , IN, const osg::CopyOp &, copyop, osg::CopyOp::SHALLOW_COPY,
____AudioStream__C5_AudioStream_R1__C5_CopyOp_R1,
"Copy constructor using CopyOp to manage deep vs shallow copy. ",
"");
I_Method1(bool, isSameKindAs, IN, const osg::Object *, obj,
Properties::VIRTUAL,
__bool__isSameKindAs__C5_Object_P1,
"",
"");
I_Method0(const char *, libraryName,
Properties::VIRTUAL,
__C5_char_P1__libraryName,
"return the name of the object's library. ",
"Must be defined by derived classes. The OpenSceneGraph convention is that the namespace of a library is the same as the library name. ");
I_Method0(const char *, className,
Properties::VIRTUAL,
__C5_char_P1__className,
"return the name of the object's class type. ",
"Must be defined by derived classes. ");
I_Method1(void, setAudioSink, IN, osg::AudioSink *, audio_sink,
Properties::PURE_VIRTUAL,
__void__setAudioSink__osg_AudioSink_P1,
"",
"");
I_Method2(void, consumeAudioBuffer, IN, void *const, buffer, IN, const size_t, size,
Properties::PURE_VIRTUAL,
__void__consumeAudioBuffer__void_P1C5__C5_size_t,
"",
"");
I_Method0(int, audioFrequency,
Properties::PURE_VIRTUAL,
__int__audioFrequency,
"",
"");
I_Method0(int, audioNbChannels,
Properties::PURE_VIRTUAL,
__int__audioNbChannels,
"",
"");
I_Method0(osg::AudioStream::SampleFormat, audioSampleFormat,
Properties::PURE_VIRTUAL,
__SampleFormat__audioSampleFormat,
"",
"");
I_SimpleProperty(osg::AudioSink *, AudioSink,
0,
__void__setAudioSink__osg_AudioSink_P1);
END_REFLECTOR

View File

@ -1,246 +0,0 @@
// ***************************************************************************
//
// Generated automatically by genwrapper.
// Please DO NOT EDIT this file!
//
// ***************************************************************************
#include <osgIntrospection/ReflectionMacros>
#include <osgIntrospection/TypedMethodInfo>
#include <osgIntrospection/StaticMethodInfo>
#include <osgIntrospection/Attributes>
#include <osg/AutoTransform>
#include <osg/BoundingSphere>
#include <osg/CopyOp>
#include <osg/Matrix>
#include <osg/NodeVisitor>
#include <osg/Object>
#include <osg/Quat>
#include <osg/Vec3d>
// Must undefine IN and OUT macros defined in Windows headers
#ifdef IN
#undef IN
#endif
#ifdef OUT
#undef OUT
#endif
#include <osg/observer_ptr>
BEGIN_ENUM_REFLECTOR(osg::AutoTransform::AutoRotateMode)
I_DeclaringFile("osg/AutoTransform");
I_EnumLabel(osg::AutoTransform::NO_ROTATION);
I_EnumLabel(osg::AutoTransform::ROTATE_TO_SCREEN);
I_EnumLabel(osg::AutoTransform::ROTATE_TO_CAMERA);
END_REFLECTOR
BEGIN_OBJECT_REFLECTOR(osg::AutoTransform)
I_DeclaringFile("osg/AutoTransform");
I_BaseType(osg::Transform);
I_Constructor0(____AutoTransform,
"",
"");
I_ConstructorWithDefaults2(IN, const osg::AutoTransform &, pat, , IN, const osg::CopyOp &, copyop, osg::CopyOp::SHALLOW_COPY,
____AutoTransform__C5_AutoTransform_R1__C5_CopyOp_R1,
"",
"");
I_Method0(osg::Object *, cloneType,
Properties::VIRTUAL,
__osg_Object_P1__cloneType,
"clone an object of the same type as the node. ",
"");
I_Method1(osg::Object *, clone, IN, const osg::CopyOp &, copyop,
Properties::VIRTUAL,
__osg_Object_P1__clone__C5_osg_CopyOp_R1,
"return a clone of a node, with Object* return type. ",
"");
I_Method1(bool, isSameKindAs, IN, const osg::Object *, obj,
Properties::VIRTUAL,
__bool__isSameKindAs__C5_osg_Object_P1,
"return true if this and obj are of the same kind of object. ",
"");
I_Method0(const char *, className,
Properties::VIRTUAL,
__C5_char_P1__className,
"return the name of the node's class type. ",
"");
I_Method0(const char *, libraryName,
Properties::VIRTUAL,
__C5_char_P1__libraryName,
"return the name of the node's library. ",
"");
I_Method1(void, accept, IN, osg::NodeVisitor &, nv,
Properties::VIRTUAL,
__void__accept__NodeVisitor_R1,
"Visitor Pattern : calls the apply method of a NodeVisitor with this node's type. ",
"");
I_Method0(osg::AutoTransform *, asAutoTransform,
Properties::VIRTUAL,
__AutoTransform_P1__asAutoTransform,
"",
"");
I_Method0(const osg::AutoTransform *, asAutoTransform,
Properties::VIRTUAL,
__C5_AutoTransform_P1__asAutoTransform,
"",
"");
I_Method1(void, setPosition, IN, const osg::Vec3d &, pos,
Properties::NON_VIRTUAL,
__void__setPosition__C5_Vec3d_R1,
"",
"");
I_Method0(const osg::Vec3d &, getPosition,
Properties::NON_VIRTUAL,
__C5_Vec3d_R1__getPosition,
"",
"");
I_Method1(void, setRotation, IN, const osg::Quat &, quat,
Properties::NON_VIRTUAL,
__void__setRotation__C5_Quat_R1,
"",
"");
I_Method0(const osg::Quat &, getRotation,
Properties::NON_VIRTUAL,
__C5_Quat_R1__getRotation,
"",
"");
I_Method1(void, setScale, IN, double, scale,
Properties::NON_VIRTUAL,
__void__setScale__double,
"",
"");
I_Method1(void, setScale, IN, const osg::Vec3d &, scale,
Properties::NON_VIRTUAL,
__void__setScale__C5_Vec3d_R1,
"",
"");
I_Method0(const osg::Vec3d &, getScale,
Properties::NON_VIRTUAL,
__C5_Vec3d_R1__getScale,
"",
"");
I_Method1(void, setMinimumScale, IN, double, minimumScale,
Properties::NON_VIRTUAL,
__void__setMinimumScale__double,
"",
"");
I_Method0(double, getMinimumScale,
Properties::NON_VIRTUAL,
__double__getMinimumScale,
"",
"");
I_Method1(void, setMaximumScale, IN, double, maximumScale,
Properties::NON_VIRTUAL,
__void__setMaximumScale__double,
"",
"");
I_Method0(double, getMaximumScale,
Properties::NON_VIRTUAL,
__double__getMaximumScale,
"",
"");
I_Method1(void, setPivotPoint, IN, const osg::Vec3d &, pivot,
Properties::NON_VIRTUAL,
__void__setPivotPoint__C5_Vec3d_R1,
"",
"");
I_Method0(const osg::Vec3d &, getPivotPoint,
Properties::NON_VIRTUAL,
__C5_Vec3d_R1__getPivotPoint,
"",
"");
I_Method1(void, setAutoUpdateEyeMovementTolerance, IN, float, tolerance,
Properties::NON_VIRTUAL,
__void__setAutoUpdateEyeMovementTolerance__float,
"",
"");
I_Method0(float, getAutoUpdateEyeMovementTolerance,
Properties::NON_VIRTUAL,
__float__getAutoUpdateEyeMovementTolerance,
"",
"");
I_Method1(void, setAutoRotateMode, IN, osg::AutoTransform::AutoRotateMode, mode,
Properties::NON_VIRTUAL,
__void__setAutoRotateMode__AutoRotateMode,
"",
"");
I_Method0(osg::AutoTransform::AutoRotateMode, getAutoRotateMode,
Properties::NON_VIRTUAL,
__AutoRotateMode__getAutoRotateMode,
"",
"");
I_Method1(void, setAutoScaleToScreen, IN, bool, autoScaleToScreen,
Properties::NON_VIRTUAL,
__void__setAutoScaleToScreen__bool,
"",
"");
I_Method0(bool, getAutoScaleToScreen,
Properties::NON_VIRTUAL,
__bool__getAutoScaleToScreen,
"",
"");
I_Method1(void, setAutoScaleTransitionWidthRatio, IN, float, ratio,
Properties::NON_VIRTUAL,
__void__setAutoScaleTransitionWidthRatio__float,
"",
"");
I_Method0(float, getAutoScaleTransitionWidthRatio,
Properties::NON_VIRTUAL,
__float__getAutoScaleTransitionWidthRatio,
"",
"");
I_Method2(bool, computeLocalToWorldMatrix, IN, osg::Matrix &, matrix, IN, osg::NodeVisitor *, nv,
Properties::VIRTUAL,
__bool__computeLocalToWorldMatrix__Matrix_R1__NodeVisitor_P1,
"",
"");
I_Method2(bool, computeWorldToLocalMatrix, IN, osg::Matrix &, matrix, IN, osg::NodeVisitor *, nv,
Properties::VIRTUAL,
__bool__computeWorldToLocalMatrix__Matrix_R1__NodeVisitor_P1,
"",
"");
I_Method0(osg::BoundingSphere, computeBound,
Properties::VIRTUAL,
__BoundingSphere__computeBound,
"Overrides Group's computeBound. ",
"There is no need to override in subclasses from osg::Transform since this computeBound() uses the underlying matrix (calling computeMatrix if required). ");
I_ProtectedMethod0(void, computeMatrix,
Properties::NON_VIRTUAL,
Properties::CONST,
__void__computeMatrix,
"",
"");
I_SimpleProperty(osg::AutoTransform::AutoRotateMode, AutoRotateMode,
__AutoRotateMode__getAutoRotateMode,
__void__setAutoRotateMode__AutoRotateMode);
I_SimpleProperty(bool, AutoScaleToScreen,
__bool__getAutoScaleToScreen,
__void__setAutoScaleToScreen__bool);
I_SimpleProperty(float, AutoScaleTransitionWidthRatio,
__float__getAutoScaleTransitionWidthRatio,
__void__setAutoScaleTransitionWidthRatio__float);
I_SimpleProperty(float, AutoUpdateEyeMovementTolerance,
__float__getAutoUpdateEyeMovementTolerance,
__void__setAutoUpdateEyeMovementTolerance__float);
I_SimpleProperty(double, MaximumScale,
__double__getMaximumScale,
__void__setMaximumScale__double);
I_SimpleProperty(double, MinimumScale,
__double__getMinimumScale,
__void__setMinimumScale__double);
I_SimpleProperty(const osg::Vec3d &, PivotPoint,
__C5_Vec3d_R1__getPivotPoint,
__void__setPivotPoint__C5_Vec3d_R1);
I_SimpleProperty(const osg::Vec3d &, Position,
__C5_Vec3d_R1__getPosition,
__void__setPosition__C5_Vec3d_R1);
I_SimpleProperty(const osg::Quat &, Rotation,
__C5_Quat_R1__getRotation,
__void__setRotation__C5_Quat_R1);
I_SimpleProperty(const osg::Vec3d &, Scale,
__C5_Vec3d_R1__getScale,
__void__setScale__C5_Vec3d_R1);
END_REFLECTOR

View File

@ -1,186 +0,0 @@
// ***************************************************************************
//
// Generated automatically by genwrapper.
// Please DO NOT EDIT this file!
//
// ***************************************************************************
#include <osgIntrospection/ReflectionMacros>
#include <osgIntrospection/TypedMethodInfo>
#include <osgIntrospection/StaticMethodInfo>
#include <osgIntrospection/Attributes>
#include <osg/Billboard>
#include <osg/BoundingSphere>
#include <osg/CopyOp>
#include <osg/Drawable>
#include <osg/Matrix>
#include <osg/NodeVisitor>
#include <osg/Object>
#include <osg/Vec3>
// Must undefine IN and OUT macros defined in Windows headers
#ifdef IN
#undef IN
#endif
#ifdef OUT
#undef OUT
#endif
#include <osg/observer_ptr>
BEGIN_ENUM_REFLECTOR(osg::Billboard::Mode)
I_DeclaringFile("osg/Billboard");
I_EnumLabel(osg::Billboard::POINT_ROT_EYE);
I_EnumLabel(osg::Billboard::POINT_ROT_WORLD);
I_EnumLabel(osg::Billboard::AXIAL_ROT);
END_REFLECTOR
TYPE_NAME_ALIAS(std::vector< osg::Vec3 >, osg::Billboard::PositionList)
BEGIN_OBJECT_REFLECTOR(osg::Billboard)
I_DeclaringFile("osg/Billboard");
I_BaseType(osg::Geode);
I_Constructor0(____Billboard,
"",
"");
I_ConstructorWithDefaults2(IN, const osg::Billboard &, x, , IN, const osg::CopyOp &, copyop, osg::CopyOp::SHALLOW_COPY,
____Billboard__C5_Billboard_R1__C5_CopyOp_R1,
"Copy constructor using CopyOp to manage deep vs shallow copy. ",
"");
I_Method0(osg::Object *, cloneType,
Properties::VIRTUAL,
__osg_Object_P1__cloneType,
"clone an object of the same type as the node. ",
"");
I_Method1(osg::Object *, clone, IN, const osg::CopyOp &, copyop,
Properties::VIRTUAL,
__osg_Object_P1__clone__C5_osg_CopyOp_R1,
"return a clone of a node, with Object* return type. ",
"");
I_Method1(bool, isSameKindAs, IN, const osg::Object *, obj,
Properties::VIRTUAL,
__bool__isSameKindAs__C5_osg_Object_P1,
"return true if this and obj are of the same kind of object. ",
"");
I_Method0(const char *, className,
Properties::VIRTUAL,
__C5_char_P1__className,
"return the name of the node's class type. ",
"");
I_Method0(const char *, libraryName,
Properties::VIRTUAL,
__C5_char_P1__libraryName,
"return the name of the node's library. ",
"");
I_Method1(void, accept, IN, osg::NodeVisitor &, nv,
Properties::VIRTUAL,
__void__accept__osg_NodeVisitor_R1,
"Visitor Pattern : calls the apply method of a NodeVisitor with this node's type. ",
"");
I_Method1(void, setMode, IN, osg::Billboard::Mode, mode,
Properties::NON_VIRTUAL,
__void__setMode__Mode,
"Set the billboard rotation mode. ",
"");
I_Method0(osg::Billboard::Mode, getMode,
Properties::NON_VIRTUAL,
__Mode__getMode,
"Get the billboard rotation mode. ",
"");
I_Method1(void, setAxis, IN, const osg::Vec3 &, axis,
Properties::NON_VIRTUAL,
__void__setAxis__C5_Vec3_R1,
"Set the rotation axis for the billboard's child Drawables. ",
"Only utilized when mode==AXIAL_ROT. ");
I_Method0(const osg::Vec3 &, getAxis,
Properties::NON_VIRTUAL,
__C5_Vec3_R1__getAxis,
"Get the rotation axis. ",
"");
I_Method1(void, setNormal, IN, const osg::Vec3 &, normal,
Properties::NON_VIRTUAL,
__void__setNormal__C5_Vec3_R1,
"This normal defines child Drawables' front face direction when unrotated. ",
"");
I_Method0(const osg::Vec3 &, getNormal,
Properties::NON_VIRTUAL,
__C5_Vec3_R1__getNormal,
"Get the front face direction normal. ",
"");
I_Method2(void, setPosition, IN, unsigned int, i, IN, const osg::Vec3 &, pos,
Properties::NON_VIRTUAL,
__void__setPosition__unsigned_int__C5_Vec3_R1,
"Set the specified child Drawable's position. ",
"");
I_Method1(const osg::Vec3 &, getPosition, IN, unsigned int, i,
Properties::NON_VIRTUAL,
__C5_Vec3_R1__getPosition__unsigned_int,
"Get the specified child Drawable's position. ",
"");
I_Method1(void, setPositionList, IN, osg::Billboard::PositionList &, pl,
Properties::NON_VIRTUAL,
__void__setPositionList__PositionList_R1,
"Set the list of pivot point positions. ",
"");
I_Method0(osg::Billboard::PositionList &, getPositionList,
Properties::NON_VIRTUAL,
__PositionList_R1__getPositionList,
"Get the list of pivot point positions. ",
"");
I_Method0(const osg::Billboard::PositionList &, getPositionList,
Properties::NON_VIRTUAL,
__C5_PositionList_R1__getPositionList,
"Get a const list of pivot point positions. ",
"");
I_Method1(bool, addDrawable, IN, osg::Drawable *, gset,
Properties::VIRTUAL,
__bool__addDrawable__Drawable_P1,
"Add a Drawable with a default position of Vec3(0,0,0). ",
"Call the base-class Geode::addDrawble() to add the given Drawable gset as a child. If Geode::addDrawable() returns true, add the default position to the pivot point position list and return true. Otherwise, return false. ");
I_Method2(bool, addDrawable, IN, osg::Drawable *, gset, IN, const osg::Vec3 &, pos,
Properties::VIRTUAL,
__bool__addDrawable__Drawable_P1__C5_Vec3_R1,
"Add a Drawable with a specified position. ",
"Call the base-class Geode::addDrawble() to add the given Drawable gset as a child. If Geode::addDrawable() returns true, add the given position pos to the pivot point position list and return true. Otherwise, return false. ");
I_Method1(bool, removeDrawable, IN, osg::Drawable *, gset,
Properties::VIRTUAL,
__bool__removeDrawable__Drawable_P1,
"Remove a Drawable and its associated position. ",
"If gset is a child, remove it, decrement its reference count, remove its pivot point position. and return true. Otherwise, return false. ");
I_Method3(bool, computeMatrix, IN, osg::Matrix &, modelview, IN, const osg::Vec3 &, eye_local, IN, const osg::Vec3 &, pos_local,
Properties::NON_VIRTUAL,
__bool__computeMatrix__Matrix_R1__C5_Vec3_R1__C5_Vec3_R1,
"",
"");
I_Method0(osg::BoundingSphere, computeBound,
Properties::VIRTUAL,
__BoundingSphere__computeBound,
"Compute the bounding sphere around Node's geometry or children. ",
"This method is automatically called by getBound() when the bounding sphere has been marked dirty via dirtyBound(). ");
I_ProtectedMethod0(void, updateCache,
Properties::NON_VIRTUAL,
Properties::NON_CONST,
__void__updateCache,
"",
"");
I_SimpleProperty(const osg::Vec3 &, Axis,
__C5_Vec3_R1__getAxis,
__void__setAxis__C5_Vec3_R1);
I_SimpleProperty(osg::Billboard::Mode, Mode,
__Mode__getMode,
__void__setMode__Mode);
I_SimpleProperty(const osg::Vec3 &, Normal,
__C5_Vec3_R1__getNormal,
__void__setNormal__C5_Vec3_R1);
I_IndexedProperty(const osg::Vec3 &, Position,
__C5_Vec3_R1__getPosition__unsigned_int,
__void__setPosition__unsigned_int__C5_Vec3_R1,
0);
I_SimpleProperty(osg::Billboard::PositionList &, PositionList,
__PositionList_R1__getPositionList,
__void__setPositionList__PositionList_R1);
END_REFLECTOR
STD_VECTOR_REFLECTOR(std::vector< osg::Vec3 >)

View File

@ -1,120 +0,0 @@
// ***************************************************************************
//
// Generated automatically by genwrapper.
// Please DO NOT EDIT this file!
//
// ***************************************************************************
#include <osgIntrospection/ReflectionMacros>
#include <osgIntrospection/TypedMethodInfo>
#include <osgIntrospection/StaticMethodInfo>
#include <osgIntrospection/Attributes>
#include <osg/BlendColor>
#include <osg/CopyOp>
#include <osg/Object>
#include <osg/State>
#include <osg/StateAttribute>
#include <osg/Vec4>
// Must undefine IN and OUT macros defined in Windows headers
#ifdef IN
#undef IN
#endif
#ifdef OUT
#undef OUT
#endif
#include <osg/observer_ptr>
BEGIN_OBJECT_REFLECTOR(osg::BlendColor)
I_DeclaringFile("osg/BlendColor");
I_BaseType(osg::StateAttribute);
I_Constructor0(____BlendColor,
"",
"");
I_Constructor1(IN, const osg::Vec4 &, constantColor,
Properties::NON_EXPLICIT,
____BlendColor__C5_osg_Vec4_R1,
"",
"");
I_ConstructorWithDefaults2(IN, const osg::BlendColor &, trans, , IN, const osg::CopyOp &, copyop, osg::CopyOp::SHALLOW_COPY,
____BlendColor__C5_BlendColor_R1__C5_CopyOp_R1,
"Copy constructor using CopyOp to manage deep vs shallow copy. ",
"");
I_Method0(osg::Object *, cloneType,
Properties::VIRTUAL,
__osg_Object_P1__cloneType,
"Clone the type of an attribute, with Object* return type. ",
"Must be defined by derived classes. ");
I_Method1(osg::Object *, clone, IN, const osg::CopyOp &, x,
Properties::VIRTUAL,
__osg_Object_P1__clone__C5_osg_CopyOp_R1,
"Clone an attribute, with Object* return type. ",
"Must be defined by derived classes. ");
I_Method1(bool, isSameKindAs, IN, const osg::Object *, obj,
Properties::VIRTUAL,
__bool__isSameKindAs__C5_osg_Object_P1,
"Return true if this and obj are of the same kind of object. ",
"");
I_Method0(const char *, libraryName,
Properties::VIRTUAL,
__C5_char_P1__libraryName,
"Return the name of the attribute's library. ",
"");
I_Method0(const char *, className,
Properties::VIRTUAL,
__C5_char_P1__className,
"Return the name of the attribute's class type. ",
"");
I_Method0(osg::StateAttribute::Type, getType,
Properties::VIRTUAL,
__Type__getType,
"Return the Type identifier of the attribute's class type. ",
"");
I_Method1(int, compare, IN, const osg::StateAttribute &, sa,
Properties::VIRTUAL,
__int__compare__C5_StateAttribute_R1,
"Return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs. ",
"");
I_Method1(bool, getModeUsage, IN, osg::StateAttribute::ModeUsage &, x,
Properties::VIRTUAL,
__bool__getModeUsage__StateAttribute_ModeUsage_R1,
"Return the modes associated with this StateAttribute. ",
"");
I_Method1(void, setConstantColor, IN, const osg::Vec4 &, color,
Properties::NON_VIRTUAL,
__void__setConstantColor__C5_osg_Vec4_R1,
"",
"");
I_Method0(osg::Vec4 &, getConstantColor,
Properties::NON_VIRTUAL,
__osg_Vec4_R1__getConstantColor,
"",
"");
I_Method0(const osg::Vec4 &, getConstantColor,
Properties::NON_VIRTUAL,
__C5_osg_Vec4_R1__getConstantColor,
"",
"");
I_Method1(void, apply, IN, osg::State &, x,
Properties::VIRTUAL,
__void__apply__State_R1,
"apply the OpenGL state attributes. ",
"The render info for the current OpenGL context is passed in to allow the StateAttribute to obtain details on the the current context and state. ");
I_StaticMethod2(osg::BlendColor::Extensions *, getExtensions, IN, unsigned int, contextID, IN, bool, createIfNotInitalized,
__Extensions_P1__getExtensions__unsigned_int__bool_S,
"Returns the Extensions object for the given context. ",
"If createIfNotInitalized is true and the Extensions object doesn't exist, getExtensions() creates it on the given context. Returns NULL if createIfNotInitalized is false and the Extensions object doesn't exist. ");
I_StaticMethod2(void, setExtensions, IN, unsigned int, contextID, IN, osg::BlendColor::Extensions *, extensions,
__void__setExtensions__unsigned_int__Extensions_P1_S,
"setExtensions() allows users to override the extensions across graphics contexts. ",
"Typically used when you have different extensions supported across graphics pipes, but need to ensure that they all use the same low common denominator extensions. ");
I_SimpleProperty(const osg::Vec4 &, ConstantColor,
__C5_osg_Vec4_R1__getConstantColor,
__void__setConstantColor__C5_osg_Vec4_R1);
I_SimpleProperty(osg::StateAttribute::Type, Type,
__Type__getType,
0);
END_REFLECTOR

View File

@ -1,156 +0,0 @@
// ***************************************************************************
//
// Generated automatically by genwrapper.
// Please DO NOT EDIT this file!
//
// ***************************************************************************
#include <osgIntrospection/ReflectionMacros>
#include <osgIntrospection/TypedMethodInfo>
#include <osgIntrospection/StaticMethodInfo>
#include <osgIntrospection/Attributes>
#include <osg/BlendEquation>
#include <osg/CopyOp>
#include <osg/Object>
#include <osg/State>
#include <osg/StateAttribute>
// Must undefine IN and OUT macros defined in Windows headers
#ifdef IN
#undef IN
#endif
#ifdef OUT
#undef OUT
#endif
#include <osg/observer_ptr>
BEGIN_ENUM_REFLECTOR(osg::BlendEquation::Equation)
I_DeclaringFile("osg/BlendEquation");
I_EnumLabel(osg::BlendEquation::RGBA_MIN);
I_EnumLabel(osg::BlendEquation::RGBA_MAX);
I_EnumLabel(osg::BlendEquation::ALPHA_MIN);
I_EnumLabel(osg::BlendEquation::ALPHA_MAX);
I_EnumLabel(osg::BlendEquation::LOGIC_OP);
I_EnumLabel(osg::BlendEquation::FUNC_ADD);
I_EnumLabel(osg::BlendEquation::FUNC_SUBTRACT);
I_EnumLabel(osg::BlendEquation::FUNC_REVERSE_SUBTRACT);
END_REFLECTOR
BEGIN_OBJECT_REFLECTOR(osg::BlendEquation)
I_DeclaringFile("osg/BlendEquation");
I_BaseType(osg::StateAttribute);
I_Constructor0(____BlendEquation,
"",
"");
I_Constructor1(IN, osg::BlendEquation::Equation, equation,
Properties::NON_EXPLICIT,
____BlendEquation__Equation,
"",
"");
I_Constructor2(IN, osg::BlendEquation::Equation, equationRGB, IN, osg::BlendEquation::Equation, equationAlpha,
____BlendEquation__Equation__Equation,
"",
"");
I_ConstructorWithDefaults2(IN, const osg::BlendEquation &, trans, , IN, const osg::CopyOp &, copyop, osg::CopyOp::SHALLOW_COPY,
____BlendEquation__C5_BlendEquation_R1__C5_CopyOp_R1,
"Copy constructor using CopyOp to manage deep vs shallow copy. ",
"");
I_Method0(osg::Object *, cloneType,
Properties::VIRTUAL,
__osg_Object_P1__cloneType,
"Clone the type of an attribute, with Object* return type. ",
"Must be defined by derived classes. ");
I_Method1(osg::Object *, clone, IN, const osg::CopyOp &, x,
Properties::VIRTUAL,
__osg_Object_P1__clone__C5_osg_CopyOp_R1,
"Clone an attribute, with Object* return type. ",
"Must be defined by derived classes. ");
I_Method1(bool, isSameKindAs, IN, const osg::Object *, obj,
Properties::VIRTUAL,
__bool__isSameKindAs__C5_osg_Object_P1,
"Return true if this and obj are of the same kind of object. ",
"");
I_Method0(const char *, libraryName,
Properties::VIRTUAL,
__C5_char_P1__libraryName,
"Return the name of the attribute's library. ",
"");
I_Method0(const char *, className,
Properties::VIRTUAL,
__C5_char_P1__className,
"Return the name of the attribute's class type. ",
"");
I_Method0(osg::StateAttribute::Type, getType,
Properties::VIRTUAL,
__Type__getType,
"Return the Type identifier of the attribute's class type. ",
"");
I_Method1(int, compare, IN, const osg::StateAttribute &, sa,
Properties::VIRTUAL,
__int__compare__C5_StateAttribute_R1,
"Return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs. ",
"");
I_Method1(bool, getModeUsage, IN, osg::StateAttribute::ModeUsage &, x,
Properties::VIRTUAL,
__bool__getModeUsage__StateAttribute_ModeUsage_R1,
"Return the modes associated with this StateAttribute. ",
"");
I_Method1(void, setEquation, IN, osg::BlendEquation::Equation, equation,
Properties::NON_VIRTUAL,
__void__setEquation__Equation,
"",
"");
I_Method0(osg::BlendEquation::Equation, getEquation,
Properties::NON_VIRTUAL,
__Equation__getEquation,
"",
"");
I_Method1(void, setEquationRGB, IN, osg::BlendEquation::Equation, equation,
Properties::NON_VIRTUAL,
__void__setEquationRGB__Equation,
"",
"");
I_Method0(osg::BlendEquation::Equation, getEquationRGB,
Properties::NON_VIRTUAL,
__Equation__getEquationRGB,
"",
"");
I_Method1(void, setEquationAlpha, IN, osg::BlendEquation::Equation, equation,
Properties::NON_VIRTUAL,
__void__setEquationAlpha__Equation,
"",
"");
I_Method0(osg::BlendEquation::Equation, getEquationAlpha,
Properties::NON_VIRTUAL,
__Equation__getEquationAlpha,
"",
"");
I_Method1(void, apply, IN, osg::State &, x,
Properties::VIRTUAL,
__void__apply__State_R1,
"apply the OpenGL state attributes. ",
"The render info for the current OpenGL context is passed in to allow the StateAttribute to obtain details on the the current context and state. ");
I_StaticMethod2(osg::BlendEquation::Extensions *, getExtensions, IN, unsigned int, contextID, IN, bool, createIfNotInitalized,
__Extensions_P1__getExtensions__unsigned_int__bool_S,
"Returns the Extensions object for the given context. ",
"If createIfNotInitalized is true and the Extensions object doesn't exist, getExtensions() creates it on the given context. Returns NULL if createIfNotInitalized is false and the Extensions object doesn't exist. ");
I_StaticMethod2(void, setExtensions, IN, unsigned int, contextID, IN, osg::BlendEquation::Extensions *, extensions,
__void__setExtensions__unsigned_int__Extensions_P1_S,
"setExtensions() allows users to override the extensions across graphics contexts. ",
"Typically used when you have different extensions supported across graphics pipes, but need to ensure that they all use the same low common denominator extensions. ");
I_SimpleProperty(osg::BlendEquation::Equation, Equation,
__Equation__getEquation,
__void__setEquation__Equation);
I_SimpleProperty(osg::BlendEquation::Equation, EquationAlpha,
__Equation__getEquationAlpha,
__void__setEquationAlpha__Equation);
I_SimpleProperty(osg::BlendEquation::Equation, EquationRGB,
__Equation__getEquationRGB,
__void__setEquationRGB__Equation);
I_SimpleProperty(osg::StateAttribute::Type, Type,
__Type__getType,
0);
END_REFLECTOR

View File

@ -1,211 +0,0 @@
// ***************************************************************************
//
// Generated automatically by genwrapper.
// Please DO NOT EDIT this file!
//
// ***************************************************************************
#include <osgIntrospection/ReflectionMacros>
#include <osgIntrospection/TypedMethodInfo>
#include <osgIntrospection/StaticMethodInfo>
#include <osgIntrospection/Attributes>
#include <osg/BlendFunc>
#include <osg/CopyOp>
#include <osg/Object>
#include <osg/State>
#include <osg/StateAttribute>
// Must undefine IN and OUT macros defined in Windows headers
#ifdef IN
#undef IN
#endif
#ifdef OUT
#undef OUT
#endif
#include <osg/observer_ptr>
BEGIN_ENUM_REFLECTOR(osg::BlendFunc::BlendFuncMode)
I_DeclaringFile("osg/BlendFunc");
I_EnumLabel(osg::BlendFunc::DST_ALPHA);
I_EnumLabel(osg::BlendFunc::DST_COLOR);
I_EnumLabel(osg::BlendFunc::ONE);
I_EnumLabel(osg::BlendFunc::ONE_MINUS_DST_ALPHA);
I_EnumLabel(osg::BlendFunc::ONE_MINUS_DST_COLOR);
I_EnumLabel(osg::BlendFunc::ONE_MINUS_SRC_ALPHA);
I_EnumLabel(osg::BlendFunc::ONE_MINUS_SRC_COLOR);
I_EnumLabel(osg::BlendFunc::SRC_ALPHA);
I_EnumLabel(osg::BlendFunc::SRC_ALPHA_SATURATE);
I_EnumLabel(osg::BlendFunc::SRC_COLOR);
I_EnumLabel(osg::BlendFunc::CONSTANT_COLOR);
I_EnumLabel(osg::BlendFunc::ONE_MINUS_CONSTANT_COLOR);
I_EnumLabel(osg::BlendFunc::CONSTANT_ALPHA);
I_EnumLabel(osg::BlendFunc::ONE_MINUS_CONSTANT_ALPHA);
I_EnumLabel(osg::BlendFunc::ZERO);
END_REFLECTOR
BEGIN_OBJECT_REFLECTOR(osg::BlendFunc)
I_DeclaringFile("osg/BlendFunc");
I_BaseType(osg::StateAttribute);
I_Constructor0(____BlendFunc,
"",
"");
I_Constructor2(IN, GLenum, source, IN, GLenum, destination,
____BlendFunc__GLenum__GLenum,
"",
"");
I_Constructor4(IN, GLenum, source, IN, GLenum, destination, IN, GLenum, source_alpha, IN, GLenum, destination_alpha,
____BlendFunc__GLenum__GLenum__GLenum__GLenum,
"",
"");
I_ConstructorWithDefaults2(IN, const osg::BlendFunc &, trans, , IN, const osg::CopyOp &, copyop, osg::CopyOp::SHALLOW_COPY,
____BlendFunc__C5_BlendFunc_R1__C5_CopyOp_R1,
"Copy constructor using CopyOp to manage deep vs shallow copy. ",
"");
I_Method0(osg::Object *, cloneType,
Properties::VIRTUAL,
__osg_Object_P1__cloneType,
"Clone the type of an attribute, with Object* return type. ",
"Must be defined by derived classes. ");
I_Method1(osg::Object *, clone, IN, const osg::CopyOp &, x,
Properties::VIRTUAL,
__osg_Object_P1__clone__C5_osg_CopyOp_R1,
"Clone an attribute, with Object* return type. ",
"Must be defined by derived classes. ");
I_Method1(bool, isSameKindAs, IN, const osg::Object *, obj,
Properties::VIRTUAL,
__bool__isSameKindAs__C5_osg_Object_P1,
"Return true if this and obj are of the same kind of object. ",
"");
I_Method0(const char *, libraryName,
Properties::VIRTUAL,
__C5_char_P1__libraryName,
"Return the name of the attribute's library. ",
"");
I_Method0(const char *, className,
Properties::VIRTUAL,
__C5_char_P1__className,
"Return the name of the attribute's class type. ",
"");
I_Method0(osg::StateAttribute::Type, getType,
Properties::VIRTUAL,
__Type__getType,
"Return the Type identifier of the attribute's class type. ",
"");
I_Method1(int, compare, IN, const osg::StateAttribute &, sa,
Properties::VIRTUAL,
__int__compare__C5_StateAttribute_R1,
"Return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs. ",
"");
I_Method1(bool, getModeUsage, IN, osg::StateAttribute::ModeUsage &, x,
Properties::VIRTUAL,
__bool__getModeUsage__StateAttribute_ModeUsage_R1,
"Return the modes associated with this StateAttribute. ",
"");
I_Method2(void, setFunction, IN, GLenum, source, IN, GLenum, destination,
Properties::NON_VIRTUAL,
__void__setFunction__GLenum__GLenum,
"",
"");
I_Method4(void, setFunction, IN, GLenum, source_rgb, IN, GLenum, destination_rgb, IN, GLenum, source_alpha, IN, GLenum, destination_alpha,
Properties::NON_VIRTUAL,
__void__setFunction__GLenum__GLenum__GLenum__GLenum,
"",
"");
I_Method1(void, setSource, IN, GLenum, source,
Properties::NON_VIRTUAL,
__void__setSource__GLenum,
"",
"");
I_Method0(GLenum, getSource,
Properties::NON_VIRTUAL,
__GLenum__getSource,
"",
"");
I_Method1(void, setSourceRGB, IN, GLenum, source,
Properties::NON_VIRTUAL,
__void__setSourceRGB__GLenum,
"",
"");
I_Method0(GLenum, getSourceRGB,
Properties::NON_VIRTUAL,
__GLenum__getSourceRGB,
"",
"");
I_Method1(void, setSourceAlpha, IN, GLenum, source,
Properties::NON_VIRTUAL,
__void__setSourceAlpha__GLenum,
"",
"");
I_Method0(GLenum, getSourceAlpha,
Properties::NON_VIRTUAL,
__GLenum__getSourceAlpha,
"",
"");
I_Method1(void, setDestination, IN, GLenum, destination,
Properties::NON_VIRTUAL,
__void__setDestination__GLenum,
"",
"");
I_Method0(GLenum, getDestination,
Properties::NON_VIRTUAL,
__GLenum__getDestination,
"",
"");
I_Method1(void, setDestinationRGB, IN, GLenum, destination,
Properties::NON_VIRTUAL,
__void__setDestinationRGB__GLenum,
"",
"");
I_Method0(GLenum, getDestinationRGB,
Properties::NON_VIRTUAL,
__GLenum__getDestinationRGB,
"",
"");
I_Method1(void, setDestinationAlpha, IN, GLenum, destination,
Properties::NON_VIRTUAL,
__void__setDestinationAlpha__GLenum,
"",
"");
I_Method0(GLenum, getDestinationAlpha,
Properties::NON_VIRTUAL,
__GLenum__getDestinationAlpha,
"",
"");
I_Method1(void, apply, IN, osg::State &, x,
Properties::VIRTUAL,
__void__apply__State_R1,
"apply the OpenGL state attributes. ",
"The render info for the current OpenGL context is passed in to allow the StateAttribute to obtain details on the the current context and state. ");
I_StaticMethod2(osg::BlendFunc::Extensions *, getExtensions, IN, unsigned int, contextID, IN, bool, createIfNotInitalized,
__Extensions_P1__getExtensions__unsigned_int__bool_S,
"Returns the Extensions object for the given context. ",
"If createIfNotInitalized is true and the Extensions object doesn't exist, getExtensions() creates it on the given context. Returns NULL if createIfNotInitalized is false and the Extensions object doesn't exist. ");
I_StaticMethod2(void, setExtensions, IN, unsigned int, contextID, IN, osg::BlendFunc::Extensions *, extensions,
__void__setExtensions__unsigned_int__Extensions_P1_S,
"setExtensions() allows users to override the extensions across graphics contexts. ",
"Typically used when you have different extensions supported across graphics pipes, but need to ensure that they all use the same low common denominator extensions. ");
I_SimpleProperty(GLenum, Destination,
__GLenum__getDestination,
__void__setDestination__GLenum);
I_SimpleProperty(GLenum, DestinationAlpha,
__GLenum__getDestinationAlpha,
__void__setDestinationAlpha__GLenum);
I_SimpleProperty(GLenum, DestinationRGB,
__GLenum__getDestinationRGB,
__void__setDestinationRGB__GLenum);
I_SimpleProperty(GLenum, Source,
__GLenum__getSource,
__void__setSource__GLenum);
I_SimpleProperty(GLenum, SourceAlpha,
__GLenum__getSourceAlpha,
__void__setSourceAlpha__GLenum);
I_SimpleProperty(GLenum, SourceRGB,
__GLenum__getSourceRGB,
__void__setSourceRGB__GLenum);
I_SimpleProperty(osg::StateAttribute::Type, Type,
__Type__getType,
0);
END_REFLECTOR

View File

@ -1,32 +0,0 @@
// ***************************************************************************
//
// Generated automatically by genwrapper.
// Please DO NOT EDIT this file!
//
// ***************************************************************************
#include <osgIntrospection/ReflectionMacros>
#include <osgIntrospection/TypedMethodInfo>
#include <osgIntrospection/StaticMethodInfo>
#include <osgIntrospection/Attributes>
#include <osg/BoundingBox>
#include <osg/Vec3d>
#include <osg/Vec3f>
// Must undefine IN and OUT macros defined in Windows headers
#ifdef IN
#undef IN
#endif
#ifdef OUT
#undef OUT
#endif
#include <osg/BoundingSphere>
TYPE_NAME_ALIAS(osg::BoundingBoxImpl< osg::Vec3f >, osg::BoundingBoxf)
TYPE_NAME_ALIAS(osg::BoundingBoxImpl< osg::Vec3d >, osg::BoundingBoxd)
TYPE_NAME_ALIAS(osg::BoundingBoxf, osg::BoundingBox)

View File

@ -1,32 +0,0 @@
// ***************************************************************************
//
// Generated automatically by genwrapper.
// Please DO NOT EDIT this file!
//
// ***************************************************************************
#include <osgIntrospection/ReflectionMacros>
#include <osgIntrospection/TypedMethodInfo>
#include <osgIntrospection/StaticMethodInfo>
#include <osgIntrospection/Attributes>
#include <osg/BoundingSphere>
#include <osg/Vec3d>
#include <osg/Vec3f>
// Must undefine IN and OUT macros defined in Windows headers
#ifdef IN
#undef IN
#endif
#ifdef OUT
#undef OUT
#endif
#include <osg/BoundingBox>
TYPE_NAME_ALIAS(osg::BoundingSphereImpl< osg::Vec3f >, osg::BoundingSpheref)
TYPE_NAME_ALIAS(osg::BoundingSphereImpl< osg::Vec3d >, osg::BoundingSphered)
TYPE_NAME_ALIAS(osg::BoundingSpheref, osg::BoundingSphere)

File diff suppressed because it is too large Load Diff

View File

@ -1,856 +0,0 @@
// ***************************************************************************
//
// Generated automatically by genwrapper.
// Please DO NOT EDIT this file!
//
// ***************************************************************************
#include <osgIntrospection/ReflectionMacros>
#include <osgIntrospection/TypedMethodInfo>
#include <osgIntrospection/StaticMethodInfo>
#include <osgIntrospection/Attributes>
#include <OpenThreads/Mutex>
#include <osg/Camera>
#include <osg/ColorMask>
#include <osg/CopyOp>
#include <osg/CullSettings>
#include <osg/DisplaySettings>
#include <osg/GraphicsContext>
#include <osg/GraphicsThread>
#include <osg/Image>
#include <osg/Matrix>
#include <osg/Matrixd>
#include <osg/Matrixf>
#include <osg/NodeVisitor>
#include <osg/Object>
#include <osg/OperationThread>
#include <osg/RenderInfo>
#include <osg/State>
#include <osg/Stats>
#include <osg/Texture>
#include <osg/Vec3d>
#include <osg/Vec3f>
#include <osg/Vec4>
#include <osg/View>
#include <osg/Viewport>
// Must undefine IN and OUT macros defined in Windows headers
#ifdef IN
#undef IN
#endif
#ifdef OUT
#undef OUT
#endif
#include <osg/observer_ptr>
BEGIN_ENUM_REFLECTOR(osg::Camera::TransformOrder)
I_DeclaringFile("osg/Camera");
I_EnumLabel(osg::Camera::PRE_MULTIPLY);
I_EnumLabel(osg::Camera::POST_MULTIPLY);
END_REFLECTOR
BEGIN_ENUM_REFLECTOR(osg::Camera::ProjectionResizePolicy)
I_DeclaringFile("osg/Camera");
I_EnumLabel(osg::Camera::FIXED);
I_EnumLabel(osg::Camera::HORIZONTAL);
I_EnumLabel(osg::Camera::VERTICAL);
END_REFLECTOR
BEGIN_ENUM_REFLECTOR(osg::Camera::RenderOrder)
I_DeclaringFile("osg/Camera");
I_EnumLabel(osg::Camera::PRE_RENDER);
I_EnumLabel(osg::Camera::NESTED_RENDER);
I_EnumLabel(osg::Camera::POST_RENDER);
END_REFLECTOR
BEGIN_ENUM_REFLECTOR(osg::Camera::RenderTargetImplementation)
I_DeclaringFile("osg/Camera");
I_EnumLabel(osg::Camera::FRAME_BUFFER_OBJECT);
I_EnumLabel(osg::Camera::PIXEL_BUFFER_RTT);
I_EnumLabel(osg::Camera::PIXEL_BUFFER);
I_EnumLabel(osg::Camera::FRAME_BUFFER);
I_EnumLabel(osg::Camera::SEPERATE_WINDOW);
END_REFLECTOR
BEGIN_ENUM_REFLECTOR(osg::Camera::BufferComponent)
I_DeclaringFile("osg/Camera");
I_EnumLabel(osg::Camera::DEPTH_BUFFER);
I_EnumLabel(osg::Camera::STENCIL_BUFFER);
I_EnumLabel(osg::Camera::PACKED_DEPTH_STENCIL_BUFFER);
I_EnumLabel(osg::Camera::COLOR_BUFFER);
I_EnumLabel(osg::Camera::COLOR_BUFFER0);
I_EnumLabel(osg::Camera::COLOR_BUFFER1);
I_EnumLabel(osg::Camera::COLOR_BUFFER2);
I_EnumLabel(osg::Camera::COLOR_BUFFER3);
I_EnumLabel(osg::Camera::COLOR_BUFFER4);
I_EnumLabel(osg::Camera::COLOR_BUFFER5);
I_EnumLabel(osg::Camera::COLOR_BUFFER6);
I_EnumLabel(osg::Camera::COLOR_BUFFER7);
I_EnumLabel(osg::Camera::COLOR_BUFFER8);
I_EnumLabel(osg::Camera::COLOR_BUFFER9);
I_EnumLabel(osg::Camera::COLOR_BUFFER10);
I_EnumLabel(osg::Camera::COLOR_BUFFER11);
I_EnumLabel(osg::Camera::COLOR_BUFFER12);
I_EnumLabel(osg::Camera::COLOR_BUFFER13);
I_EnumLabel(osg::Camera::COLOR_BUFFER14);
I_EnumLabel(osg::Camera::COLOR_BUFFER15);
END_REFLECTOR
BEGIN_ENUM_REFLECTOR(osg::Camera::ImplicitBufferAttachment)
I_DeclaringFile("osg/Camera");
I_EnumLabel(osg::Camera::IMPLICIT_DEPTH_BUFFER_ATTACHMENT);
I_EnumLabel(osg::Camera::IMPLICIT_STENCIL_BUFFER_ATTACHMENT);
I_EnumLabel(osg::Camera::IMPLICIT_COLOR_BUFFER_ATTACHMENT);
I_EnumLabel(osg::Camera::USE_DISPLAY_SETTINGS_MASK);
END_REFLECTOR
TYPE_NAME_ALIAS(std::map< osg::Camera::BufferComponent COMMA osg::Camera::Attachment >, osg::Camera::BufferAttachmentMap)
TYPE_NAME_ALIAS(int, osg::Camera::ImplicitBufferAttachmentMask)
BEGIN_OBJECT_REFLECTOR(osg::Camera)
I_DeclaringFile("osg/Camera");
I_BaseType(osg::Transform);
I_BaseType(osg::CullSettings);
I_Constructor0(____Camera,
"",
"");
I_ConstructorWithDefaults2(IN, const osg::Camera &, x, , IN, const osg::CopyOp &, copyop, osg::CopyOp::SHALLOW_COPY,
____Camera__C5_Camera_R1__C5_CopyOp_R1,
"Copy constructor using CopyOp to manage deep vs shallow copy. ",
"");
I_Method0(osg::Object *, cloneType,
Properties::VIRTUAL,
__osg_Object_P1__cloneType,
"clone an object of the same type as the node. ",
"");
I_Method1(osg::Object *, clone, IN, const osg::CopyOp &, copyop,
Properties::VIRTUAL,
__osg_Object_P1__clone__C5_osg_CopyOp_R1,
"return a clone of a node, with Object* return type. ",
"");
I_Method1(bool, isSameKindAs, IN, const osg::Object *, obj,
Properties::VIRTUAL,
__bool__isSameKindAs__C5_osg_Object_P1,
"return true if this and obj are of the same kind of object. ",
"");
I_Method0(const char *, className,
Properties::VIRTUAL,
__C5_char_P1__className,
"return the name of the node's class type. ",
"");
I_Method0(const char *, libraryName,
Properties::VIRTUAL,
__C5_char_P1__libraryName,
"return the name of the node's library. ",
"");
I_Method1(void, accept, IN, osg::NodeVisitor &, nv,
Properties::VIRTUAL,
__void__accept__osg_NodeVisitor_R1,
"Visitor Pattern : calls the apply method of a NodeVisitor with this node's type. ",
"");
I_Method1(void, setView, IN, osg::View *, view,
Properties::NON_VIRTUAL,
__void__setView__View_P1,
"Set the View that this Camera is part of. ",
"");
I_Method0(osg::View *, getView,
Properties::NON_VIRTUAL,
__View_P1__getView,
"Get the View that this Camera is part of. ",
"");
I_Method0(const osg::View *, getView,
Properties::NON_VIRTUAL,
__C5_View_P1__getView,
"Get the const View that this Camera is part of. ",
"");
I_Method1(void, setStats, IN, osg::Stats *, stats,
Properties::NON_VIRTUAL,
__void__setStats__osg_Stats_P1,
"Set the Stats object used for collect various frame related timing and scene graph stats. ",
"");
I_Method0(osg::Stats *, getStats,
Properties::NON_VIRTUAL,
__osg_Stats_P1__getStats,
"Get the Stats object. ",
"");
I_Method0(const osg::Stats *, getStats,
Properties::NON_VIRTUAL,
__C5_osg_Stats_P1__getStats,
"Get the const Stats object. ",
"");
I_Method1(void, setAllowEventFocus, IN, bool, focus,
Properties::NON_VIRTUAL,
__void__setAllowEventFocus__bool,
"Set whether this camera allows events to be generated by the associated graphics window to be associated with this camera. ",
"");
I_Method0(bool, getAllowEventFocus,
Properties::NON_VIRTUAL,
__bool__getAllowEventFocus,
"Get whether this camera allows events to be generated by the associated graphics window to be associated with this camera. ",
"");
I_Method1(void, setDisplaySettings, IN, osg::DisplaySettings *, ds,
Properties::NON_VIRTUAL,
__void__setDisplaySettings__osg_DisplaySettings_P1,
"Set the DisplaySettings object associated with this view. ",
"");
I_Method0(osg::DisplaySettings *, getDisplaySettings,
Properties::NON_VIRTUAL,
__osg_DisplaySettings_P1__getDisplaySettings,
"Get the DisplaySettings object associated with this view. ",
"");
I_Method0(const osg::DisplaySettings *, getDisplaySettings,
Properties::NON_VIRTUAL,
__C5_osg_DisplaySettings_P1__getDisplaySettings,
"Get the const DisplaySettings object associated with this view. ",
"");
I_Method1(void, setClearMask, IN, GLbitfield, mask,
Properties::NON_VIRTUAL,
__void__setClearMask__GLbitfield,
"Set the clear mask used in glClear(. ",
".). Defaults to GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT. ");
I_Method0(GLbitfield, getClearMask,
Properties::NON_VIRTUAL,
__GLbitfield__getClearMask,
"Get the clear mask. ",
"");
I_Method1(void, setClearColor, IN, const osg::Vec4 &, color,
Properties::NON_VIRTUAL,
__void__setClearColor__C5_osg_Vec4_R1,
"Set the clear color used in glClearColor(. ",
".). glClearColor is only called if mask & GL_COLOR_BUFFER_BIT is true ");
I_Method0(const osg::Vec4 &, getClearColor,
Properties::NON_VIRTUAL,
__C5_osg_Vec4_R1__getClearColor,
"Get the clear color. ",
"");
I_Method1(void, setClearAccum, IN, const osg::Vec4 &, color,
Properties::NON_VIRTUAL,
__void__setClearAccum__C5_osg_Vec4_R1,
"Set the clear accum used in glClearAccum(. ",
".). glClearAcumm is only called if mask & GL_ACCUM_BUFFER_BIT is true. ");
I_Method0(const osg::Vec4 &, getClearAccum,
Properties::NON_VIRTUAL,
__C5_osg_Vec4_R1__getClearAccum,
"Get the clear accum value. ",
"");
I_Method1(void, setClearDepth, IN, double, depth,
Properties::NON_VIRTUAL,
__void__setClearDepth__double,
"Set the clear depth used in glClearDepth(. ",
".). Defaults to 1.0 glClearDepth is only called if mask & GL_DEPTH_BUFFER_BIT is true. ");
I_Method0(double, getClearDepth,
Properties::NON_VIRTUAL,
__double__getClearDepth,
"Get the clear depth value. ",
"");
I_Method1(void, setClearStencil, IN, int, stencil,
Properties::NON_VIRTUAL,
__void__setClearStencil__int,
"Set the clear stencil value used in glClearStencil(). ",
"Defaults to 0; glClearStencil is only called if mask & GL_STENCIL_BUFFER_BIT is true ");
I_Method0(int, getClearStencil,
Properties::NON_VIRTUAL,
__int__getClearStencil,
"Get the clear stencil value. ",
"");
I_Method1(void, setColorMask, IN, osg::ColorMask *, colorMask,
Properties::NON_VIRTUAL,
__void__setColorMask__osg_ColorMask_P1,
"Set the color mask of the camera to use specified osg::ColorMask. ",
"");
I_Method4(void, setColorMask, IN, bool, red, IN, bool, green, IN, bool, blue, IN, bool, alpha,
Properties::NON_VIRTUAL,
__void__setColorMask__bool__bool__bool__bool,
"Set the color mask of the camera to specified values. ",
"");
I_Method0(const osg::ColorMask *, getColorMask,
Properties::NON_VIRTUAL,
__C5_ColorMask_P1__getColorMask,
"Get the const ColorMask. ",
"");
I_Method0(osg::ColorMask *, getColorMask,
Properties::NON_VIRTUAL,
__ColorMask_P1__getColorMask,
"Get the ColorMask. ",
"");
I_Method1(void, setViewport, IN, osg::Viewport *, viewport,
Properties::NON_VIRTUAL,
__void__setViewport__osg_Viewport_P1,
"Set the viewport of the camera to use specified osg::Viewport. ",
"");
I_Method4(void, setViewport, IN, int, x, IN, int, y, IN, int, width, IN, int, height,
Properties::NON_VIRTUAL,
__void__setViewport__int__int__int__int,
"Set the viewport of the camera to specified dimensions. ",
"");
I_Method0(const osg::Viewport *, getViewport,
Properties::NON_VIRTUAL,
__C5_Viewport_P1__getViewport,
"Get the const viewport. ",
"");
I_Method0(osg::Viewport *, getViewport,
Properties::NON_VIRTUAL,
__Viewport_P1__getViewport,
"Get the viewport. ",
"");
I_Method1(void, setTransformOrder, IN, osg::Camera::TransformOrder, order,
Properties::NON_VIRTUAL,
__void__setTransformOrder__TransformOrder,
"Set the transformation order for world-to-local and local-to-world transformation. ",
"");
I_Method0(osg::Camera::TransformOrder, getTransformOrder,
Properties::NON_VIRTUAL,
__TransformOrder__getTransformOrder,
"Get the transformation order. ",
"");
I_Method1(void, setProjectionResizePolicy, IN, osg::Camera::ProjectionResizePolicy, policy,
Properties::NON_VIRTUAL,
__void__setProjectionResizePolicy__ProjectionResizePolicy,
"Set the policy used to determine if and how the projection matrix should be adjusted on window resizes. ",
"");
I_Method0(osg::Camera::ProjectionResizePolicy, getProjectionResizePolicy,
Properties::NON_VIRTUAL,
__ProjectionResizePolicy__getProjectionResizePolicy,
"Get the policy used to determine if and how the projection matrix should be adjusted on window resizes. ",
"");
I_Method1(void, setProjectionMatrix, IN, const osg::Matrixf &, matrix,
Properties::NON_VIRTUAL,
__void__setProjectionMatrix__C5_osg_Matrixf_R1,
"Set the projection matrix. ",
"Can be thought of as setting the lens of a camera. ");
I_Method1(void, setProjectionMatrix, IN, const osg::Matrixd &, matrix,
Properties::NON_VIRTUAL,
__void__setProjectionMatrix__C5_osg_Matrixd_R1,
"Set the projection matrix. ",
"Can be thought of as setting the lens of a camera. ");
I_Method6(void, setProjectionMatrixAsOrtho, IN, double, left, IN, double, right, IN, double, bottom, IN, double, top, IN, double, zNear, IN, double, zFar,
Properties::NON_VIRTUAL,
__void__setProjectionMatrixAsOrtho__double__double__double__double__double__double,
"Set to an orthographic projection. ",
"See OpenGL glOrtho for documentation further details. ");
I_Method4(void, setProjectionMatrixAsOrtho2D, IN, double, left, IN, double, right, IN, double, bottom, IN, double, top,
Properties::NON_VIRTUAL,
__void__setProjectionMatrixAsOrtho2D__double__double__double__double,
"Set to a 2D orthographic projection. ",
"See OpenGL glOrtho2D documentation for further details. ");
I_Method6(void, setProjectionMatrixAsFrustum, IN, double, left, IN, double, right, IN, double, bottom, IN, double, top, IN, double, zNear, IN, double, zFar,
Properties::NON_VIRTUAL,
__void__setProjectionMatrixAsFrustum__double__double__double__double__double__double,
"Set to a perspective projection. ",
"See OpenGL glFrustum documentation for further details. ");
I_Method4(void, setProjectionMatrixAsPerspective, IN, double, fovy, IN, double, aspectRatio, IN, double, zNear, IN, double, zFar,
Properties::NON_VIRTUAL,
__void__setProjectionMatrixAsPerspective__double__double__double__double,
"Create a symmetrical perspective projection, See OpenGL gluPerspective documentation for further details. ",
"Aspect ratio is defined as width/height. ");
I_Method0(osg::Matrixd &, getProjectionMatrix,
Properties::NON_VIRTUAL,
__osg_Matrixd_R1__getProjectionMatrix,
"Get the projection matrix. ",
"");
I_Method0(const osg::Matrixd &, getProjectionMatrix,
Properties::NON_VIRTUAL,
__C5_osg_Matrixd_R1__getProjectionMatrix,
"Get the const projection matrix. ",
"");
I_Method6(bool, getProjectionMatrixAsOrtho, IN, double &, left, IN, double &, right, IN, double &, bottom, IN, double &, top, IN, double &, zNear, IN, double &, zFar,
Properties::NON_VIRTUAL,
__bool__getProjectionMatrixAsOrtho__double_R1__double_R1__double_R1__double_R1__double_R1__double_R1,
"Get the orthographic settings of the orthographic projection matrix. ",
"Returns false if matrix is not an orthographic matrix, where parameter values are undefined. ");
I_Method6(bool, getProjectionMatrixAsFrustum, IN, double &, left, IN, double &, right, IN, double &, bottom, IN, double &, top, IN, double &, zNear, IN, double &, zFar,
Properties::NON_VIRTUAL,
__bool__getProjectionMatrixAsFrustum__double_R1__double_R1__double_R1__double_R1__double_R1__double_R1,
"Get the frustum setting of a perspective projection matrix. ",
"Returns false if matrix is not a perspective matrix, where parameter values are undefined. ");
I_Method4(bool, getProjectionMatrixAsPerspective, IN, double &, fovy, IN, double &, aspectRatio, IN, double &, zNear, IN, double &, zFar,
Properties::NON_VIRTUAL,
__bool__getProjectionMatrixAsPerspective__double_R1__double_R1__double_R1__double_R1,
"Get the frustum setting of a symmetric perspective projection matrix. ",
"Returns false if matrix is not a perspective matrix, where parameter values are undefined. Note, if matrix is not a symmetric perspective matrix then the shear will be lost. Asymmetric matrices occur when stereo, power walls, caves and reality center display are used. In these configurations one should use the 'getProjectionMatrixAsFrustum' method instead. ");
I_Method1(void, setViewMatrix, IN, const osg::Matrixf &, matrix,
Properties::NON_VIRTUAL,
__void__setViewMatrix__C5_osg_Matrixf_R1,
"Set the view matrix. ",
"Can be thought of as setting the position of the world relative to the camera in camera coordinates. ");
I_Method1(void, setViewMatrix, IN, const osg::Matrixd &, matrix,
Properties::NON_VIRTUAL,
__void__setViewMatrix__C5_osg_Matrixd_R1,
"Set the view matrix. ",
"Can be thought of as setting the position of the world relative to the camera in camera coordinates. ");
I_Method0(osg::Matrixd &, getViewMatrix,
Properties::NON_VIRTUAL,
__osg_Matrixd_R1__getViewMatrix,
"Get the view matrix. ",
"");
I_Method0(const osg::Matrixd &, getViewMatrix,
Properties::NON_VIRTUAL,
__C5_osg_Matrixd_R1__getViewMatrix,
"Get the const view matrix. ",
"");
I_Method3(void, setViewMatrixAsLookAt, IN, const osg::Vec3d &, eye, IN, const osg::Vec3d &, center, IN, const osg::Vec3d &, up,
Properties::NON_VIRTUAL,
__void__setViewMatrixAsLookAt__C5_osg_Vec3d_R1__C5_osg_Vec3d_R1__C5_osg_Vec3d_R1,
"Set to the position and orientation of view matrix, using the same convention as gluLookAt. ",
"");
I_MethodWithDefaults4(void, getViewMatrixAsLookAt, IN, osg::Vec3d &, eye, , IN, osg::Vec3d &, center, , IN, osg::Vec3d &, up, , IN, double, lookDistance, 1.0,
Properties::NON_VIRTUAL,
__void__getViewMatrixAsLookAt__osg_Vec3d_R1__osg_Vec3d_R1__osg_Vec3d_R1__double,
"Get to the position and orientation of a modelview matrix, using the same convention as gluLookAt. ",
"");
I_MethodWithDefaults4(void, getViewMatrixAsLookAt, IN, osg::Vec3f &, eye, , IN, osg::Vec3f &, center, , IN, osg::Vec3f &, up, , IN, float, lookDistance, 1.0f,
Properties::NON_VIRTUAL,
__void__getViewMatrixAsLookAt__osg_Vec3f_R1__osg_Vec3f_R1__osg_Vec3f_R1__float,
"Get to the position and orientation of a modelview matrix, using the same convention as gluLookAt. ",
"");
I_Method0(osg::Matrixd, getInverseViewMatrix,
Properties::NON_VIRTUAL,
__Matrixd__getInverseViewMatrix,
"Get the inverse view matrix. ",
"");
I_MethodWithDefaults2(void, setRenderOrder, IN, osg::Camera::RenderOrder, order, , IN, int, orderNum, 0,
Properties::NON_VIRTUAL,
__void__setRenderOrder__RenderOrder__int,
"Set the rendering order of this camera's subgraph relative to any camera that this subgraph is nested within. ",
"For rendering to a texture, one typically uses PRE_RENDER. For Head Up Displays, one would typically use POST_RENDER. ");
I_Method0(osg::Camera::RenderOrder, getRenderOrder,
Properties::NON_VIRTUAL,
__RenderOrder__getRenderOrder,
"Get the rendering order of this camera's subgraph relative to any camera that this subgraph is nested within. ",
"");
I_Method0(int, getRenderOrderNum,
Properties::NON_VIRTUAL,
__int__getRenderOrderNum,
"Get the rendering order number of this camera relative to any sibling cameras in this subgraph. ",
"");
I_Method0(bool, isRenderToTextureCamera,
Properties::NON_VIRTUAL,
__bool__isRenderToTextureCamera,
"Return true if this Camera is set up as a render to texture camera, i.e. ",
"it has textures assigned to it. ");
I_Method1(void, setRenderTargetImplementation, IN, osg::Camera::RenderTargetImplementation, impl,
Properties::NON_VIRTUAL,
__void__setRenderTargetImplementation__RenderTargetImplementation,
"Set the render target. ",
"");
I_Method2(void, setRenderTargetImplementation, IN, osg::Camera::RenderTargetImplementation, impl, IN, osg::Camera::RenderTargetImplementation, fallback,
Properties::NON_VIRTUAL,
__void__setRenderTargetImplementation__RenderTargetImplementation__RenderTargetImplementation,
"Set the render target and fall-back that's used if the former isn't available. ",
"");
I_Method0(osg::Camera::RenderTargetImplementation, getRenderTargetImplementation,
Properties::NON_VIRTUAL,
__RenderTargetImplementation__getRenderTargetImplementation,
"Get the render target. ",
"");
I_Method0(osg::Camera::RenderTargetImplementation, getRenderTargetFallback,
Properties::NON_VIRTUAL,
__RenderTargetImplementation__getRenderTargetFallback,
"Get the render target fallback. ",
"");
I_Method1(void, setDrawBuffer, IN, GLenum, buffer,
Properties::NON_VIRTUAL,
__void__setDrawBuffer__GLenum,
"Set the draw buffer used at the start of each frame draw. ",
"Note, a buffer value of GL_NONE is used to sepecify that the rendering back-end should choose the most appropriate buffer. ");
I_Method0(GLenum, getDrawBuffer,
Properties::NON_VIRTUAL,
__GLenum__getDrawBuffer,
"Get the draw buffer used at the start of each frame draw. ",
"");
I_Method1(void, setReadBuffer, IN, GLenum, buffer,
Properties::NON_VIRTUAL,
__void__setReadBuffer__GLenum,
"Set the read buffer for any required copy operations to use. ",
"Note, a buffer value of GL_NONE is used to sepecify that the rendering back-end should choose the most appropriate buffer. ");
I_Method0(GLenum, getReadBuffer,
Properties::NON_VIRTUAL,
__GLenum__getReadBuffer,
"Get the read buffer for any required copy operations to use. ",
"");
I_Method2(void, attach, IN, osg::Camera::BufferComponent, buffer, IN, GLenum, internalFormat,
Properties::NON_VIRTUAL,
__void__attach__BufferComponent__GLenum,
"Attach a buffer with specified OpenGL internal format. ",
"");
I_MethodWithDefaults7(void, attach, IN, osg::Camera::BufferComponent, buffer, , IN, osg::Texture *, texture, , IN, unsigned int, level, 0, IN, unsigned int, face, 0, IN, bool, mipMapGeneration, false, IN, unsigned int, multisampleSamples, 0, IN, unsigned int, multisampleColorSamples, 0,
Properties::NON_VIRTUAL,
__void__attach__BufferComponent__osg_Texture_P1__unsigned_int__unsigned_int__bool__unsigned_int__unsigned_int,
"Attach a Texture to specified buffer component. ",
"The level parameter controls the mip map level of the texture that is attached. The face parameter controls the face of texture cube map or z level of 3d texture. The mipMapGeneration flag controls whether mipmap generation should be done for texture. ");
I_MethodWithDefaults4(void, attach, IN, osg::Camera::BufferComponent, buffer, , IN, osg::Image *, image, , IN, unsigned int, multisampleSamples, 0, IN, unsigned int, multisampleColorSamples, 0,
Properties::NON_VIRTUAL,
__void__attach__BufferComponent__osg_Image_P1__unsigned_int__unsigned_int,
"Attach a Image to specified buffer component. ",
"");
I_Method1(void, detach, IN, osg::Camera::BufferComponent, buffer,
Properties::NON_VIRTUAL,
__void__detach__BufferComponent,
"Detach specified buffer component. ",
"");
I_Method0(osg::Camera::BufferAttachmentMap &, getBufferAttachmentMap,
Properties::NON_VIRTUAL,
__BufferAttachmentMap_R1__getBufferAttachmentMap,
"Get the BufferAttachmentMap, used to configure frame buffer objects, pbuffers and texture reads. ",
"");
I_Method0(const osg::Camera::BufferAttachmentMap &, getBufferAttachmentMap,
Properties::NON_VIRTUAL,
__C5_BufferAttachmentMap_R1__getBufferAttachmentMap,
"Get the const BufferAttachmentMap, used to configure frame buffer objects, pbuffers and texture reads. ",
"");
I_MethodWithDefaults2(void, setImplicitBufferAttachmentMask, IN, osg::Camera::ImplicitBufferAttachmentMask, renderMask, osg::DisplaySettings::DEFAULT_IMPLICIT_BUFFER_ATTACHMENT, IN, osg::Camera::ImplicitBufferAttachmentMask, resolveMask, osg::DisplaySettings::DEFAULT_IMPLICIT_BUFFER_ATTACHMENT,
Properties::NON_VIRTUAL,
__void__setImplicitBufferAttachmentMask__ImplicitBufferAttachmentMask__ImplicitBufferAttachmentMask,
"",
"");
I_Method1(void, setImplicitBufferAttachmentRenderMask, IN, osg::Camera::ImplicitBufferAttachmentMask, implicitBufferAttachmentRenderMask,
Properties::NON_VIRTUAL,
__void__setImplicitBufferAttachmentRenderMask__ImplicitBufferAttachmentMask,
"",
"");
I_Method1(void, setImplicitBufferAttachmentResolveMask, IN, osg::Camera::ImplicitBufferAttachmentMask, implicitBufferAttachmentResolveMask,
Properties::NON_VIRTUAL,
__void__setImplicitBufferAttachmentResolveMask__ImplicitBufferAttachmentMask,
"",
"");
I_MethodWithDefaults1(osg::Camera::ImplicitBufferAttachmentMask, getImplicitBufferAttachmentRenderMask, IN, bool, effectiveMask, false,
Properties::NON_VIRTUAL,
__ImplicitBufferAttachmentMask__getImplicitBufferAttachmentRenderMask__bool,
"Get mask selecting implict buffer attachments for Camera primary FBO if effectiveMask parameter is set, method follows USE_DISPLAY_SETTINGS_MASK dependence and returns effective mask if effectiveMask parameter is reset, method returns nominal mask set by the Camera. ",
"");
I_MethodWithDefaults1(osg::Camera::ImplicitBufferAttachmentMask, getImplicitBufferAttachmentResolveMask, IN, bool, effectiveMask, false,
Properties::NON_VIRTUAL,
__ImplicitBufferAttachmentMask__getImplicitBufferAttachmentResolveMask__bool,
"Get mask selecting implict buffer attachments for Camera secondary MULTISAMPLE FBO if effectiveMask parameter is set, method follows USE_DISPLAY_SETTINGS_MASK dependence and returns effective mask if effectiveMask parameter is reset, method returns nominal mask set by the Camera. ",
"");
I_Method0(void, createCameraThread,
Properties::NON_VIRTUAL,
__void__createCameraThread,
"Create a operation thread for this camera. ",
"");
I_Method1(void, setCameraThread, IN, osg::OperationThread *, gt,
Properties::NON_VIRTUAL,
__void__setCameraThread__OperationThread_P1,
"Assign a operation thread to the camera. ",
"");
I_Method0(osg::OperationThread *, getCameraThread,
Properties::NON_VIRTUAL,
__OperationThread_P1__getCameraThread,
"Get the operation thread assigned to this camera. ",
"");
I_Method0(const osg::OperationThread *, getCameraThread,
Properties::NON_VIRTUAL,
__C5_OperationThread_P1__getCameraThread,
"Get the const operation thread assigned to this camera. ",
"");
I_Method1(void, setGraphicsContext, IN, osg::GraphicsContext *, context,
Properties::NON_VIRTUAL,
__void__setGraphicsContext__GraphicsContext_P1,
"Set the GraphicsContext that provides the mechansim for managing the OpenGL graphics context associated with this camera. ",
"");
I_Method0(osg::GraphicsContext *, getGraphicsContext,
Properties::NON_VIRTUAL,
__GraphicsContext_P1__getGraphicsContext,
"Get the GraphicsContext. ",
"");
I_Method0(const osg::GraphicsContext *, getGraphicsContext,
Properties::NON_VIRTUAL,
__C5_GraphicsContext_P1__getGraphicsContext,
"Get the const GraphicsContext. ",
"");
I_Method1(void, setRenderer, IN, osg::GraphicsOperation *, rc,
Properties::NON_VIRTUAL,
__void__setRenderer__osg_GraphicsOperation_P1,
"Set the Rendering object that is used to implement rendering of the subgraph. ",
"");
I_Method0(osg::GraphicsOperation *, getRenderer,
Properties::NON_VIRTUAL,
__osg_GraphicsOperation_P1__getRenderer,
"Get the Rendering object that is used to implement rendering of the subgraph. ",
"");
I_Method0(const osg::GraphicsOperation *, getRenderer,
Properties::NON_VIRTUAL,
__C5_osg_GraphicsOperation_P1__getRenderer,
"Get the const Rendering object that is used to implement rendering of the subgraph. ",
"");
I_Method1(void, setRenderingCache, IN, osg::Object *, rc,
Properties::NON_VIRTUAL,
__void__setRenderingCache__osg_Object_P1,
"Set the Rendering cache that is used for cached objects associated with rendering of subgraphs. ",
"");
I_Method0(osg::Object *, getRenderingCache,
Properties::NON_VIRTUAL,
__osg_Object_P1__getRenderingCache,
"Get the Rendering cache that is used for cached objects associated with rendering of subgraphs. ",
"");
I_Method0(const osg::Object *, getRenderingCache,
Properties::NON_VIRTUAL,
__C5_osg_Object_P1__getRenderingCache,
"Get the const Rendering cache that is used for cached objects associated with rendering of subgraphs. ",
"");
I_Method1(void, setInitialDrawCallback, IN, osg::Camera::DrawCallback *, cb,
Properties::NON_VIRTUAL,
__void__setInitialDrawCallback__DrawCallback_P1,
"Set the initial draw callback for custom operations to be done before the drawing of the camera's subgraph and pre render stages. ",
"");
I_Method0(osg::Camera::DrawCallback *, getInitialDrawCallback,
Properties::NON_VIRTUAL,
__DrawCallback_P1__getInitialDrawCallback,
"Get the initial draw callback. ",
"");
I_Method0(const osg::Camera::DrawCallback *, getInitialDrawCallback,
Properties::NON_VIRTUAL,
__C5_DrawCallback_P1__getInitialDrawCallback,
"Get the const initial draw callback. ",
"");
I_Method1(void, setPreDrawCallback, IN, osg::Camera::DrawCallback *, cb,
Properties::NON_VIRTUAL,
__void__setPreDrawCallback__DrawCallback_P1,
"Set the pre draw callback for custom operations to be done before the drawing of the camera's subgraph but after any pre render stages have been completed. ",
"");
I_Method0(osg::Camera::DrawCallback *, getPreDrawCallback,
Properties::NON_VIRTUAL,
__DrawCallback_P1__getPreDrawCallback,
"Get the pre draw callback. ",
"");
I_Method0(const osg::Camera::DrawCallback *, getPreDrawCallback,
Properties::NON_VIRTUAL,
__C5_DrawCallback_P1__getPreDrawCallback,
"Get the const pre draw callback. ",
"");
I_Method1(void, setPostDrawCallback, IN, osg::Camera::DrawCallback *, cb,
Properties::NON_VIRTUAL,
__void__setPostDrawCallback__DrawCallback_P1,
"Set the post draw callback for custom operations to be done after the drawing of the camera's subgraph but before the any post render stages have been completed. ",
"");
I_Method0(osg::Camera::DrawCallback *, getPostDrawCallback,
Properties::NON_VIRTUAL,
__DrawCallback_P1__getPostDrawCallback,
"Get the post draw callback. ",
"");
I_Method0(const osg::Camera::DrawCallback *, getPostDrawCallback,
Properties::NON_VIRTUAL,
__C5_DrawCallback_P1__getPostDrawCallback,
"Get the const post draw callback. ",
"");
I_Method1(void, setFinalDrawCallback, IN, osg::Camera::DrawCallback *, cb,
Properties::NON_VIRTUAL,
__void__setFinalDrawCallback__DrawCallback_P1,
"Set the final draw callback for custom operations to be done after the drawing of the camera's subgraph and all of the post render stages has been completed. ",
"");
I_Method0(osg::Camera::DrawCallback *, getFinalDrawCallback,
Properties::NON_VIRTUAL,
__DrawCallback_P1__getFinalDrawCallback,
"Get the final draw callback. ",
"");
I_Method0(const osg::Camera::DrawCallback *, getFinalDrawCallback,
Properties::NON_VIRTUAL,
__C5_DrawCallback_P1__getFinalDrawCallback,
"Get the const final draw callback. ",
"");
I_Method0(OpenThreads::Mutex *, getDataChangeMutex,
Properties::NON_VIRTUAL,
__OpenThreads_Mutex_P1__getDataChangeMutex,
"",
"");
I_Method1(void, resizeGLObjectBuffers, IN, unsigned int, maxSize,
Properties::VIRTUAL,
__void__resizeGLObjectBuffers__unsigned_int,
"Resize any per context GLObject buffers to specified size. ",
"");
I_MethodWithDefaults1(void, releaseGLObjects, IN, osg::State *, x, 0,
Properties::VIRTUAL,
__void__releaseGLObjects__osg_State_P1,
"If State is non-zero, this function releases any associated OpenGL objects for the specified graphics context. ",
"Otherwise, releases OpenGL objexts for all graphics contexts. ");
I_Method2(bool, computeLocalToWorldMatrix, IN, osg::Matrix &, matrix, IN, osg::NodeVisitor *, x,
Properties::VIRTUAL,
__bool__computeLocalToWorldMatrix__Matrix_R1__NodeVisitor_P1,
"Transform method that must be defined to provide generic interface for scene graph traversals. ",
"");
I_Method2(bool, computeWorldToLocalMatrix, IN, osg::Matrix &, matrix, IN, osg::NodeVisitor *, x,
Properties::VIRTUAL,
__bool__computeWorldToLocalMatrix__Matrix_R1__NodeVisitor_P1,
"Transform method that must be defined to provide generic interface for scene graph traversals. ",
"");
I_Method2(void, inheritCullSettings, IN, const osg::CullSettings &, settings, IN, unsigned int, inheritanceMask,
Properties::VIRTUAL,
__void__inheritCullSettings__C5_CullSettings_R1__unsigned_int,
"Inherit the local cull settings variable from specified CullSettings object, according to the inheritance mask. ",
"");
I_SimpleProperty(bool, AllowEventFocus,
__bool__getAllowEventFocus,
__void__setAllowEventFocus__bool);
I_SimpleProperty(osg::Camera::BufferAttachmentMap &, BufferAttachmentMap,
__BufferAttachmentMap_R1__getBufferAttachmentMap,
0);
I_SimpleProperty(osg::OperationThread *, CameraThread,
__OperationThread_P1__getCameraThread,
__void__setCameraThread__OperationThread_P1);
I_SimpleProperty(const osg::Vec4 &, ClearAccum,
__C5_osg_Vec4_R1__getClearAccum,
__void__setClearAccum__C5_osg_Vec4_R1);
I_SimpleProperty(const osg::Vec4 &, ClearColor,
__C5_osg_Vec4_R1__getClearColor,
__void__setClearColor__C5_osg_Vec4_R1);
I_SimpleProperty(double, ClearDepth,
__double__getClearDepth,
__void__setClearDepth__double);
I_SimpleProperty(GLbitfield, ClearMask,
__GLbitfield__getClearMask,
__void__setClearMask__GLbitfield);
I_SimpleProperty(int, ClearStencil,
__int__getClearStencil,
__void__setClearStencil__int);
I_SimpleProperty(osg::ColorMask *, ColorMask,
__ColorMask_P1__getColorMask,
__void__setColorMask__osg_ColorMask_P1);
I_SimpleProperty(OpenThreads::Mutex *, DataChangeMutex,
__OpenThreads_Mutex_P1__getDataChangeMutex,
0);
I_SimpleProperty(osg::DisplaySettings *, DisplaySettings,
__osg_DisplaySettings_P1__getDisplaySettings,
__void__setDisplaySettings__osg_DisplaySettings_P1);
I_SimpleProperty(GLenum, DrawBuffer,
__GLenum__getDrawBuffer,
__void__setDrawBuffer__GLenum);
I_SimpleProperty(osg::Camera::DrawCallback *, FinalDrawCallback,
__DrawCallback_P1__getFinalDrawCallback,
__void__setFinalDrawCallback__DrawCallback_P1);
I_SimpleProperty(osg::GraphicsContext *, GraphicsContext,
__GraphicsContext_P1__getGraphicsContext,
__void__setGraphicsContext__GraphicsContext_P1);
I_SimpleProperty(osg::Camera::ImplicitBufferAttachmentMask, ImplicitBufferAttachmentRenderMask,
0,
__void__setImplicitBufferAttachmentRenderMask__ImplicitBufferAttachmentMask);
I_SimpleProperty(osg::Camera::ImplicitBufferAttachmentMask, ImplicitBufferAttachmentResolveMask,
0,
__void__setImplicitBufferAttachmentResolveMask__ImplicitBufferAttachmentMask);
I_SimpleProperty(osg::Camera::DrawCallback *, InitialDrawCallback,
__DrawCallback_P1__getInitialDrawCallback,
__void__setInitialDrawCallback__DrawCallback_P1);
I_SimpleProperty(osg::Matrixd, InverseViewMatrix,
__Matrixd__getInverseViewMatrix,
0);
I_SimpleProperty(osg::Camera::DrawCallback *, PostDrawCallback,
__DrawCallback_P1__getPostDrawCallback,
__void__setPostDrawCallback__DrawCallback_P1);
I_SimpleProperty(osg::Camera::DrawCallback *, PreDrawCallback,
__DrawCallback_P1__getPreDrawCallback,
__void__setPreDrawCallback__DrawCallback_P1);
I_SimpleProperty(const osg::Matrixd &, ProjectionMatrix,
__C5_osg_Matrixd_R1__getProjectionMatrix,
__void__setProjectionMatrix__C5_osg_Matrixd_R1);
I_SimpleProperty(osg::Camera::ProjectionResizePolicy, ProjectionResizePolicy,
__ProjectionResizePolicy__getProjectionResizePolicy,
__void__setProjectionResizePolicy__ProjectionResizePolicy);
I_SimpleProperty(GLenum, ReadBuffer,
__GLenum__getReadBuffer,
__void__setReadBuffer__GLenum);
I_SimpleProperty(osg::Camera::RenderOrder, RenderOrder,
__RenderOrder__getRenderOrder,
0);
I_SimpleProperty(int, RenderOrderNum,
__int__getRenderOrderNum,
0);
I_SimpleProperty(osg::Camera::RenderTargetImplementation, RenderTargetFallback,
__RenderTargetImplementation__getRenderTargetFallback,
0);
I_SimpleProperty(osg::Camera::RenderTargetImplementation, RenderTargetImplementation,
__RenderTargetImplementation__getRenderTargetImplementation,
__void__setRenderTargetImplementation__RenderTargetImplementation);
I_SimpleProperty(osg::GraphicsOperation *, Renderer,
__osg_GraphicsOperation_P1__getRenderer,
__void__setRenderer__osg_GraphicsOperation_P1);
I_SimpleProperty(osg::Object *, RenderingCache,
__osg_Object_P1__getRenderingCache,
__void__setRenderingCache__osg_Object_P1);
I_SimpleProperty(osg::Stats *, Stats,
__osg_Stats_P1__getStats,
__void__setStats__osg_Stats_P1);
I_SimpleProperty(osg::Camera::TransformOrder, TransformOrder,
__TransformOrder__getTransformOrder,
__void__setTransformOrder__TransformOrder);
I_SimpleProperty(osg::View *, View,
__View_P1__getView,
__void__setView__View_P1);
I_SimpleProperty(const osg::Matrixd &, ViewMatrix,
__C5_osg_Matrixd_R1__getViewMatrix,
__void__setViewMatrix__C5_osg_Matrixd_R1);
I_SimpleProperty(osg::Viewport *, Viewport,
__Viewport_P1__getViewport,
__void__setViewport__osg_Viewport_P1);
END_REFLECTOR
BEGIN_VALUE_REFLECTOR(osg::Camera::Attachment)
I_DeclaringFile("osg/Camera");
I_Constructor0(____Attachment,
"",
"");
I_Method0(int, width,
Properties::NON_VIRTUAL,
__int__width,
"",
"");
I_Method0(int, height,
Properties::NON_VIRTUAL,
__int__height,
"",
"");
I_Method0(int, depth,
Properties::NON_VIRTUAL,
__int__depth,
"",
"");
I_PublicMemberProperty(GLenum, _internalFormat);
I_PublicMemberProperty(osg::ref_ptr< osg::Image >, _image);
I_PublicMemberProperty(osg::ref_ptr< osg::Texture >, _texture);
I_PublicMemberProperty(unsigned int, _level);
I_PublicMemberProperty(unsigned int, _face);
I_PublicMemberProperty(bool, _mipMapGeneration);
I_PublicMemberProperty(unsigned int, _multisampleSamples);
I_PublicMemberProperty(unsigned int, _multisampleColorSamples);
END_REFLECTOR
BEGIN_OBJECT_REFLECTOR(osg::Camera::DrawCallback)
I_DeclaringFile("osg/Camera");
I_VirtualBaseType(osg::Object);
I_Constructor0(____DrawCallback,
"",
"");
I_Constructor2(IN, const osg::Camera::DrawCallback &, x, IN, const osg::CopyOp &, x,
____DrawCallback__C5_DrawCallback_R1__C5_CopyOp_R1,
"",
"");
I_Method0(osg::Object *, cloneType,
Properties::VIRTUAL,
__osg_Object_P1__cloneType,
"Clone the type of an object, with Object* return type. ",
"Must be defined by derived classes. ");
I_Method1(osg::Object *, clone, IN, const osg::CopyOp &, x,
Properties::VIRTUAL,
__osg_Object_P1__clone__C5_osg_CopyOp_R1,
"Clone an object, with Object* return type. ",
"Must be defined by derived classes. ");
I_Method1(bool, isSameKindAs, IN, const osg::Object *, obj,
Properties::VIRTUAL,
__bool__isSameKindAs__C5_osg_Object_P1,
"",
"");
I_Method0(const char *, libraryName,
Properties::VIRTUAL,
__C5_char_P1__libraryName,
"return the name of the object's library. ",
"Must be defined by derived classes. The OpenSceneGraph convention is that the namespace of a library is the same as the library name. ");
I_Method0(const char *, className,
Properties::VIRTUAL,
__C5_char_P1__className,
"return the name of the object's class type. ",
"Must be defined by derived classes. ");
END_REFLECTOR
STD_MAP_REFLECTOR(std::map< osg::Camera::BufferComponent COMMA osg::Camera::Attachment >)

View File

@ -1,26 +0,0 @@
// ***************************************************************************
//
// Generated automatically by genwrapper.
// Please DO NOT EDIT this file!
//
// ***************************************************************************
#include <osgIntrospection/ReflectionMacros>
#include <osgIntrospection/TypedMethodInfo>
#include <osgIntrospection/StaticMethodInfo>
#include <osgIntrospection/Attributes>
#include <osg/CameraNode>
// Must undefine IN and OUT macros defined in Windows headers
#ifdef IN
#undef IN
#endif
#ifdef OUT
#undef OUT
#endif
#include <osg/observer_ptr>
TYPE_NAME_ALIAS(osg::Camera, osg::CameraNode)

View File

@ -1,154 +0,0 @@
// ***************************************************************************
//
// Generated automatically by genwrapper.
// Please DO NOT EDIT this file!
//
// ***************************************************************************
#include <osgIntrospection/ReflectionMacros>
#include <osgIntrospection/TypedMethodInfo>
#include <osgIntrospection/StaticMethodInfo>
#include <osgIntrospection/Attributes>
#include <osg/CameraView>
#include <osg/CopyOp>
#include <osg/Matrix>
#include <osg/NodeVisitor>
#include <osg/Object>
#include <osg/Quat>
#include <osg/Vec3d>
// Must undefine IN and OUT macros defined in Windows headers
#ifdef IN
#undef IN
#endif
#ifdef OUT
#undef OUT
#endif
#include <osg/observer_ptr>
BEGIN_ENUM_REFLECTOR(osg::CameraView::FieldOfViewMode)
I_DeclaringFile("osg/CameraView");
I_EnumLabel(osg::CameraView::UNCONSTRAINED);
I_EnumLabel(osg::CameraView::HORIZONTAL);
I_EnumLabel(osg::CameraView::VERTICAL);
END_REFLECTOR
BEGIN_OBJECT_REFLECTOR(osg::CameraView)
I_DeclaringFile("osg/CameraView");
I_BaseType(osg::Transform);
I_Constructor0(____CameraView,
"",
"");
I_ConstructorWithDefaults2(IN, const osg::CameraView &, pat, , IN, const osg::CopyOp &, copyop, osg::CopyOp::SHALLOW_COPY,
____CameraView__C5_CameraView_R1__C5_CopyOp_R1,
"",
"");
I_Method0(osg::Object *, cloneType,
Properties::VIRTUAL,
__osg_Object_P1__cloneType,
"clone an object of the same type as the node. ",
"");
I_Method1(osg::Object *, clone, IN, const osg::CopyOp &, copyop,
Properties::VIRTUAL,
__osg_Object_P1__clone__C5_osg_CopyOp_R1,
"return a clone of a node, with Object* return type. ",
"");
I_Method1(bool, isSameKindAs, IN, const osg::Object *, obj,
Properties::VIRTUAL,
__bool__isSameKindAs__C5_osg_Object_P1,
"return true if this and obj are of the same kind of object. ",
"");
I_Method0(const char *, className,
Properties::VIRTUAL,
__C5_char_P1__className,
"return the name of the node's class type. ",
"");
I_Method0(const char *, libraryName,
Properties::VIRTUAL,
__C5_char_P1__libraryName,
"return the name of the node's library. ",
"");
I_Method1(void, accept, IN, osg::NodeVisitor &, nv,
Properties::VIRTUAL,
__void__accept__osg_NodeVisitor_R1,
"Visitor Pattern : calls the apply method of a NodeVisitor with this node's type. ",
"");
I_Method1(void, setPosition, IN, const osg::Vec3d &, pos,
Properties::NON_VIRTUAL,
__void__setPosition__C5_Vec3d_R1,
"Set the position of the camera view. ",
"");
I_Method0(const osg::Vec3d &, getPosition,
Properties::NON_VIRTUAL,
__C5_Vec3d_R1__getPosition,
"Get the position of the camera view. ",
"");
I_Method1(void, setAttitude, IN, const osg::Quat &, quat,
Properties::NON_VIRTUAL,
__void__setAttitude__C5_Quat_R1,
"Set the attitude of the camera view. ",
"");
I_Method0(const osg::Quat &, getAttitude,
Properties::NON_VIRTUAL,
__C5_Quat_R1__getAttitude,
"Get the attitude of the camera view. ",
"");
I_Method1(void, setFieldOfView, IN, double, fieldOfView,
Properties::NON_VIRTUAL,
__void__setFieldOfView__double,
"Set the field of view. ",
"The cameras field of view can be constrained to either the horizontal or vertex axis of the camera, or unconstrained in which case the camera/application are left to choose an appropriate field of view. The default value if 60 degrees. ");
I_Method0(double, getFieldOfView,
Properties::NON_VIRTUAL,
__double__getFieldOfView,
"Get the field of view. ",
"");
I_Method1(void, setFieldOfViewMode, IN, osg::CameraView::FieldOfViewMode, mode,
Properties::NON_VIRTUAL,
__void__setFieldOfViewMode__FieldOfViewMode,
"Set the field of view mode - controlling how the field of view of the camera is constrained by the CameaView settings. ",
"");
I_Method0(osg::CameraView::FieldOfViewMode, getFieldOfViewMode,
Properties::NON_VIRTUAL,
__FieldOfViewMode__getFieldOfViewMode,
"Get the field of view mode. ",
"");
I_Method1(void, setFocalLength, IN, double, focalLength,
Properties::NON_VIRTUAL,
__void__setFocalLength__double,
"Set the focal length of the camera. ",
"A focal length of 0.0 indicates that the camera/application should determine the focal length. The default value is 0.0. ");
I_Method0(double, getFocalLength,
Properties::NON_VIRTUAL,
__double__getFocalLength,
"Get the focal length of the camera. ",
"");
I_Method2(bool, computeLocalToWorldMatrix, IN, osg::Matrix &, matrix, IN, osg::NodeVisitor *, nv,
Properties::VIRTUAL,
__bool__computeLocalToWorldMatrix__Matrix_R1__NodeVisitor_P1,
"",
"");
I_Method2(bool, computeWorldToLocalMatrix, IN, osg::Matrix &, matrix, IN, osg::NodeVisitor *, nv,
Properties::VIRTUAL,
__bool__computeWorldToLocalMatrix__Matrix_R1__NodeVisitor_P1,
"",
"");
I_SimpleProperty(const osg::Quat &, Attitude,
__C5_Quat_R1__getAttitude,
__void__setAttitude__C5_Quat_R1);
I_SimpleProperty(double, FieldOfView,
__double__getFieldOfView,
__void__setFieldOfView__double);
I_SimpleProperty(osg::CameraView::FieldOfViewMode, FieldOfViewMode,
__FieldOfViewMode__getFieldOfViewMode,
__void__setFieldOfViewMode__FieldOfViewMode);
I_SimpleProperty(double, FocalLength,
__double__getFocalLength,
__void__setFocalLength__double);
I_SimpleProperty(const osg::Vec3d &, Position,
__C5_Vec3d_R1__getPosition,
__void__setPosition__C5_Vec3d_R1);
END_REFLECTOR

View File

@ -1,134 +0,0 @@
// ***************************************************************************
//
// Generated automatically by genwrapper.
// Please DO NOT EDIT this file!
//
// ***************************************************************************
#include <osgIntrospection/ReflectionMacros>
#include <osgIntrospection/TypedMethodInfo>
#include <osgIntrospection/StaticMethodInfo>
#include <osgIntrospection/Attributes>
#include <osg/ClampColor>
#include <osg/CopyOp>
#include <osg/Object>
#include <osg/State>
#include <osg/StateAttribute>
// Must undefine IN and OUT macros defined in Windows headers
#ifdef IN
#undef IN
#endif
#ifdef OUT
#undef OUT
#endif
#include <osg/observer_ptr>
BEGIN_OBJECT_REFLECTOR(osg::ClampColor)
I_DeclaringFile("osg/ClampColor");
I_BaseType(osg::StateAttribute);
I_Constructor0(____ClampColor,
"",
"");
I_Constructor3(IN, GLenum, vertexMode, IN, GLenum, fragmentMode, IN, GLenum, readMode,
____ClampColor__GLenum__GLenum__GLenum,
"",
"");
I_ConstructorWithDefaults2(IN, const osg::ClampColor &, rhs, , IN, const osg::CopyOp &, copyop, osg::CopyOp::SHALLOW_COPY,
____ClampColor__C5_ClampColor_R1__C5_CopyOp_R1,
"Copy constructor using CopyOp to manage deep vs shallow copy. ",
"");
I_Method0(osg::Object *, cloneType,
Properties::VIRTUAL,
__osg_Object_P1__cloneType,
"Clone the type of an attribute, with Object* return type. ",
"Must be defined by derived classes. ");
I_Method1(osg::Object *, clone, IN, const osg::CopyOp &, x,
Properties::VIRTUAL,
__osg_Object_P1__clone__C5_osg_CopyOp_R1,
"Clone an attribute, with Object* return type. ",
"Must be defined by derived classes. ");
I_Method1(bool, isSameKindAs, IN, const osg::Object *, obj,
Properties::VIRTUAL,
__bool__isSameKindAs__C5_osg_Object_P1,
"Return true if this and obj are of the same kind of object. ",
"");
I_Method0(const char *, libraryName,
Properties::VIRTUAL,
__C5_char_P1__libraryName,
"Return the name of the attribute's library. ",
"");
I_Method0(const char *, className,
Properties::VIRTUAL,
__C5_char_P1__className,
"Return the name of the attribute's class type. ",
"");
I_Method0(osg::StateAttribute::Type, getType,
Properties::VIRTUAL,
__Type__getType,
"Return the Type identifier of the attribute's class type. ",
"");
I_Method1(int, compare, IN, const osg::StateAttribute &, sa,
Properties::VIRTUAL,
__int__compare__C5_StateAttribute_R1,
"Return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs. ",
"");
I_Method1(void, setClampVertexColor, IN, GLenum, mode,
Properties::NON_VIRTUAL,
__void__setClampVertexColor__GLenum,
"",
"");
I_Method0(GLenum, getClampVertexColor,
Properties::NON_VIRTUAL,
__GLenum__getClampVertexColor,
"",
"");
I_Method1(void, setClampFragmentColor, IN, GLenum, mode,
Properties::NON_VIRTUAL,
__void__setClampFragmentColor__GLenum,
"",
"");
I_Method0(GLenum, getClampFragmentColor,
Properties::NON_VIRTUAL,
__GLenum__getClampFragmentColor,
"",
"");
I_Method1(void, setClampReadColor, IN, GLenum, mode,
Properties::NON_VIRTUAL,
__void__setClampReadColor__GLenum,
"",
"");
I_Method0(GLenum, getClampReadColor,
Properties::NON_VIRTUAL,
__GLenum__getClampReadColor,
"",
"");
I_Method1(void, apply, IN, osg::State &, x,
Properties::VIRTUAL,
__void__apply__State_R1,
"apply the OpenGL state attributes. ",
"The render info for the current OpenGL context is passed in to allow the StateAttribute to obtain details on the the current context and state. ");
I_StaticMethod2(osg::ClampColor::Extensions *, getExtensions, IN, unsigned int, contextID, IN, bool, createIfNotInitalized,
__Extensions_P1__getExtensions__unsigned_int__bool_S,
"Returns the Extensions object for the given context. ",
"If createIfNotInitalized is true and the Extensions object doesn't exist, getExtensions() creates it on the given context. Returns NULL if createIfNotInitalized is false and the Extensions object doesn't exist. ");
I_StaticMethod2(void, setExtensions, IN, unsigned int, contextID, IN, osg::ClampColor::Extensions *, extensions,
__void__setExtensions__unsigned_int__Extensions_P1_S,
"setExtensions() allows users to override the extensions across graphics contexts. ",
"Typically used when you have different extensions supported across graphics pipes, but need to ensure that they all use the same low common denominator extensions. ");
I_SimpleProperty(GLenum, ClampFragmentColor,
__GLenum__getClampFragmentColor,
__void__setClampFragmentColor__GLenum);
I_SimpleProperty(GLenum, ClampReadColor,
__GLenum__getClampReadColor,
__void__setClampReadColor__GLenum);
I_SimpleProperty(GLenum, ClampVertexColor,
__GLenum__getClampVertexColor,
__void__setClampVertexColor__GLenum);
I_SimpleProperty(osg::StateAttribute::Type, Type,
__Type__getType,
0);
END_REFLECTOR

View File

@ -1,109 +0,0 @@
// ***************************************************************************
//
// Generated automatically by genwrapper.
// Please DO NOT EDIT this file!
//
// ***************************************************************************
#include <osgIntrospection/ReflectionMacros>
#include <osgIntrospection/TypedMethodInfo>
#include <osgIntrospection/StaticMethodInfo>
#include <osgIntrospection/Attributes>
#include <osg/ClearNode>
#include <osg/CopyOp>
#include <osg/NodeVisitor>
#include <osg/Object>
#include <osg/Vec4>
// Must undefine IN and OUT macros defined in Windows headers
#ifdef IN
#undef IN
#endif
#ifdef OUT
#undef OUT
#endif
#include <osg/observer_ptr>
BEGIN_OBJECT_REFLECTOR(osg::ClearNode)
I_DeclaringFile("osg/ClearNode");
I_BaseType(osg::Group);
I_Constructor0(____ClearNode,
"",
"");
I_ConstructorWithDefaults2(IN, const osg::ClearNode &, cs, , IN, const osg::CopyOp &, copyop, osg::CopyOp::SHALLOW_COPY,
____ClearNode__C5_ClearNode_R1__C5_CopyOp_R1,
"",
"");
I_Method0(osg::Object *, cloneType,
Properties::VIRTUAL,
__osg_Object_P1__cloneType,
"clone an object of the same type as the node. ",
"");
I_Method1(osg::Object *, clone, IN, const osg::CopyOp &, copyop,
Properties::VIRTUAL,
__osg_Object_P1__clone__C5_osg_CopyOp_R1,
"return a clone of a node, with Object* return type. ",
"");
I_Method1(bool, isSameKindAs, IN, const osg::Object *, obj,
Properties::VIRTUAL,
__bool__isSameKindAs__C5_osg_Object_P1,
"return true if this and obj are of the same kind of object. ",
"");
I_Method0(const char *, className,
Properties::VIRTUAL,
__C5_char_P1__className,
"return the name of the node's class type. ",
"");
I_Method0(const char *, libraryName,
Properties::VIRTUAL,
__C5_char_P1__libraryName,
"return the name of the node's library. ",
"");
I_Method1(void, accept, IN, osg::NodeVisitor &, nv,
Properties::VIRTUAL,
__void__accept__osg_NodeVisitor_R1,
"Visitor Pattern : calls the apply method of a NodeVisitor with this node's type. ",
"");
I_Method1(void, setRequiresClear, IN, bool, requiresClear,
Properties::NON_VIRTUAL,
__void__setRequiresClear__bool,
"Enable/disable clearing via glClear. ",
"");
I_Method0(bool, getRequiresClear,
Properties::NON_VIRTUAL,
__bool__getRequiresClear,
"Gets whether clearing is enabled or disabled. ",
"");
I_Method1(void, setClearColor, IN, const osg::Vec4 &, color,
Properties::NON_VIRTUAL,
__void__setClearColor__C5_Vec4_R1,
"Sets the clear color. ",
"");
I_Method0(const osg::Vec4 &, getClearColor,
Properties::NON_VIRTUAL,
__C5_Vec4_R1__getClearColor,
"Returns the clear color. ",
"");
I_Method1(void, setClearMask, IN, GLbitfield, mask,
Properties::NON_VIRTUAL,
__void__setClearMask__GLbitfield,
"Set the clear mask used in glClear(. ",
".). Defaults to GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT. ");
I_Method0(GLbitfield, getClearMask,
Properties::NON_VIRTUAL,
__GLbitfield__getClearMask,
"Get the clear mask. ",
"");
I_SimpleProperty(const osg::Vec4 &, ClearColor,
__C5_Vec4_R1__getClearColor,
__void__setClearColor__C5_Vec4_R1);
I_SimpleProperty(GLbitfield, ClearMask,
__GLbitfield__getClearMask,
__void__setClearMask__GLbitfield);
I_SimpleProperty(bool, RequiresClear,
__bool__getRequiresClear,
__void__setRequiresClear__bool);
END_REFLECTOR

View File

@ -1,220 +0,0 @@
// ***************************************************************************
//
// Generated automatically by genwrapper.
// Please DO NOT EDIT this file!
//
// ***************************************************************************
#include <osgIntrospection/ReflectionMacros>
#include <osgIntrospection/TypedMethodInfo>
#include <osgIntrospection/StaticMethodInfo>
#include <osgIntrospection/Attributes>
#include <osg/BoundingBox>
#include <osg/BoundingSphere>
#include <osg/ClipNode>
#include <osg/ClipPlane>
#include <osg/CopyOp>
#include <osg/NodeVisitor>
#include <osg/Object>
#include <osg/StateAttribute>
#include <osg/StateSet>
// Must undefine IN and OUT macros defined in Windows headers
#ifdef IN
#undef IN
#endif
#ifdef OUT
#undef OUT
#endif
#include <osg/observer_ptr>
BEGIN_ENUM_REFLECTOR(osg::ClipNode::ReferenceFrame)
I_DeclaringFile("osg/ClipNode");
I_EnumLabel(osg::ClipNode::RELATIVE_RF);
I_EnumLabel(osg::ClipNode::ABSOLUTE_RF);
END_REFLECTOR
TYPE_NAME_ALIAS(std::vector< osg::ref_ptr< osg::ClipPlane > >, osg::ClipNode::ClipPlaneList)
BEGIN_OBJECT_REFLECTOR(osg::ClipNode)
I_DeclaringFile("osg/ClipNode");
I_BaseType(osg::Group);
I_Constructor0(____ClipNode,
"",
"");
I_ConstructorWithDefaults2(IN, const osg::ClipNode &, es, , IN, const osg::CopyOp &, copyop, osg::CopyOp::SHALLOW_COPY,
____ClipNode__C5_ClipNode_R1__C5_CopyOp_R1,
"",
"");
I_Method0(osg::Object *, cloneType,
Properties::VIRTUAL,
__osg_Object_P1__cloneType,
"clone an object of the same type as the node. ",
"");
I_Method1(osg::Object *, clone, IN, const osg::CopyOp &, copyop,
Properties::VIRTUAL,
__osg_Object_P1__clone__C5_osg_CopyOp_R1,
"return a clone of a node, with Object* return type. ",
"");
I_Method1(bool, isSameKindAs, IN, const osg::Object *, obj,
Properties::VIRTUAL,
__bool__isSameKindAs__C5_osg_Object_P1,
"return true if this and obj are of the same kind of object. ",
"");
I_Method0(const char *, className,
Properties::VIRTUAL,
__C5_char_P1__className,
"return the name of the node's class type. ",
"");
I_Method0(const char *, libraryName,
Properties::VIRTUAL,
__C5_char_P1__libraryName,
"return the name of the node's library. ",
"");
I_Method1(void, accept, IN, osg::NodeVisitor &, nv,
Properties::VIRTUAL,
__void__accept__osg_NodeVisitor_R1,
"Visitor Pattern : calls the apply method of a NodeVisitor with this node's type. ",
"");
I_Method1(void, setReferenceFrame, IN, osg::ClipNode::ReferenceFrame, rf,
Properties::NON_VIRTUAL,
__void__setReferenceFrame__ReferenceFrame,
"Set the light sources's ReferenceFrame, either to be relative to its parent reference frame, or relative to an absolute coordinate frame. ",
"RELATIVE_RF is the default. Note: setting the ReferenceFrame to be ABSOLUTE_RF will also set the CullingActive flag on the light source, and hence all of its parents, to false, thereby disabling culling of it and all its parents. This is necessary to prevent inappropriate culling, but may impact cull times if the absolute light source is deep in the scene graph. It is therefore recommended to only use absolute light source at the top of the scene. ");
I_Method0(osg::ClipNode::ReferenceFrame, getReferenceFrame,
Properties::NON_VIRTUAL,
__ReferenceFrame__getReferenceFrame,
"",
"");
I_MethodWithDefaults2(void, createClipBox, IN, const osg::BoundingBox &, bb, , IN, unsigned int, clipPlaneNumberBase, 0,
Properties::NON_VIRTUAL,
__void__createClipBox__C5_BoundingBox_R1__unsigned_int,
"Creates six clip planes corresponding to the given BoundingBox. ",
"");
I_Method1(bool, addClipPlane, IN, osg::ClipPlane *, clipplane,
Properties::NON_VIRTUAL,
__bool__addClipPlane__ClipPlane_P1,
"Adds the clipplane. ",
"Returns true on success, and false if the plane has already been added, or if clipplane is NULL. ");
I_Method1(bool, removeClipPlane, IN, osg::ClipPlane *, clipplane,
Properties::NON_VIRTUAL,
__bool__removeClipPlane__ClipPlane_P1,
"Removes the clipplane. ",
"Returns true on success, false if clipplane isn't in this ClipNode. ");
I_Method1(bool, removeClipPlane, IN, unsigned int, pos,
Properties::NON_VIRTUAL,
__bool__removeClipPlane__unsigned_int,
"Remove the ClipPlane with the given index. ",
"Returns true on success, false if pos is not a valid plane index. ");
I_Method0(unsigned int, getNumClipPlanes,
Properties::NON_VIRTUAL,
__unsigned_int__getNumClipPlanes,
"Returns the number of ClipPlanes. ",
"");
I_Method1(osg::ClipPlane *, getClipPlane, IN, unsigned int, pos,
Properties::NON_VIRTUAL,
__ClipPlane_P1__getClipPlane__unsigned_int,
"Get ClipPlane at the given index position. ",
"");
I_Method1(const osg::ClipPlane *, getClipPlane, IN, unsigned int, pos,
Properties::NON_VIRTUAL,
__C5_ClipPlane_P1__getClipPlane__unsigned_int,
"Get const ClipPlane at the given index position. ",
"");
I_Method1(void, setClipPlaneList, IN, const osg::ClipNode::ClipPlaneList &, cpl,
Properties::NON_VIRTUAL,
__void__setClipPlaneList__C5_ClipPlaneList_R1,
"Set the ClipPlaneList. ",
"");
I_Method0(osg::ClipNode::ClipPlaneList &, getClipPlaneList,
Properties::NON_VIRTUAL,
__ClipPlaneList_R1__getClipPlaneList,
"Get the ClipPlaneList. ",
"");
I_Method0(const osg::ClipNode::ClipPlaneList &, getClipPlaneList,
Properties::NON_VIRTUAL,
__C5_ClipPlaneList_R1__getClipPlaneList,
"Get the const ClipPlaneList. ",
"");
I_Method2(void, setStateSetModes, IN, osg::StateSet &, x, IN, osg::StateAttribute::GLModeValue, x,
Properties::NON_VIRTUAL,
__void__setStateSetModes__StateSet_R1__StateAttribute_GLModeValue,
"Set the GLModes for all ClipPlanes, on the StateSet. ",
"");
I_MethodWithDefaults1(void, setLocalStateSetModes, IN, osg::StateAttribute::GLModeValue, x, osg::StateAttribute::ON,
Properties::NON_VIRTUAL,
__void__setLocalStateSetModes__StateAttribute_GLModeValue,
"Set up the local StateSet. ",
"");
I_Method0(osg::BoundingSphere, computeBound,
Properties::VIRTUAL,
__BoundingSphere__computeBound,
"Compute the bounding sphere around Node's geometry or children. ",
"This method is automatically called by getBound() when the bounding sphere has been marked dirty via dirtyBound(). ");
I_ArrayProperty(osg::ClipPlane *, ClipPlane,
__ClipPlane_P1__getClipPlane__unsigned_int,
0,
__unsigned_int__getNumClipPlanes,
__bool__addClipPlane__ClipPlane_P1,
0,
__bool__removeClipPlane__unsigned_int);
I_SimpleProperty(const osg::ClipNode::ClipPlaneList &, ClipPlaneList,
__C5_ClipPlaneList_R1__getClipPlaneList,
__void__setClipPlaneList__C5_ClipPlaneList_R1);
I_SimpleProperty(osg::StateAttribute::GLModeValue, LocalStateSetModes,
0,
__void__setLocalStateSetModes__StateAttribute_GLModeValue);
I_SimpleProperty(osg::ClipNode::ReferenceFrame, ReferenceFrame,
__ReferenceFrame__getReferenceFrame,
__void__setReferenceFrame__ReferenceFrame);
END_REFLECTOR
BEGIN_VALUE_REFLECTOR(osg::ref_ptr< osg::ClipPlane >)
I_DeclaringFile("osg/ref_ptr");
I_Constructor0(____ref_ptr,
"",
"");
I_Constructor1(IN, osg::ClipPlane *, ptr,
Properties::NON_EXPLICIT,
____ref_ptr__T_P1,
"",
"");
I_Constructor1(IN, const osg::ref_ptr< osg::ClipPlane > &, rp,
Properties::NON_EXPLICIT,
____ref_ptr__C5_ref_ptr_R1,
"",
"");
I_Constructor1(IN, osg::observer_ptr< osg::ClipPlane > &, optr,
Properties::NON_EXPLICIT,
____ref_ptr__observer_ptrT1_T__R1,
"",
"");
I_Method0(osg::ClipPlane *, get,
Properties::NON_VIRTUAL,
__T_P1__get,
"",
"");
I_Method0(bool, valid,
Properties::NON_VIRTUAL,
__bool__valid,
"",
"");
I_Method0(osg::ClipPlane *, release,
Properties::NON_VIRTUAL,
__T_P1__release,
"",
"");
I_Method1(void, swap, IN, osg::ref_ptr< osg::ClipPlane > &, rp,
Properties::NON_VIRTUAL,
__void__swap__ref_ptr_R1,
"",
"");
I_SimpleProperty(osg::ClipPlane *, ,
__T_P1__get,
0);
END_REFLECTOR
STD_VECTOR_REFLECTOR(std::vector< osg::ref_ptr< osg::ClipPlane > >)

View File

@ -1,151 +0,0 @@
// ***************************************************************************
//
// Generated automatically by genwrapper.
// Please DO NOT EDIT this file!
//
// ***************************************************************************
#include <osgIntrospection/ReflectionMacros>
#include <osgIntrospection/TypedMethodInfo>
#include <osgIntrospection/StaticMethodInfo>
#include <osgIntrospection/Attributes>
#include <osg/ClipPlane>
#include <osg/CopyOp>
#include <osg/Object>
#include <osg/Plane>
#include <osg/State>
#include <osg/StateAttribute>
#include <osg/Vec4d>
// Must undefine IN and OUT macros defined in Windows headers
#ifdef IN
#undef IN
#endif
#ifdef OUT
#undef OUT
#endif
#include <osg/observer_ptr>
BEGIN_OBJECT_REFLECTOR(osg::ClipPlane)
I_DeclaringFile("osg/ClipPlane");
I_BaseType(osg::StateAttribute);
I_Constructor0(____ClipPlane,
"",
"");
I_Constructor1(IN, unsigned int, no,
Properties::NON_EXPLICIT,
____ClipPlane__unsigned_int,
"",
"");
I_Constructor2(IN, unsigned int, no, IN, const osg::Vec4d &, plane,
____ClipPlane__unsigned_int__C5_Vec4d_R1,
"",
"");
I_Constructor2(IN, unsigned int, no, IN, const osg::Plane &, plane,
____ClipPlane__unsigned_int__C5_Plane_R1,
"",
"");
I_Constructor5(IN, unsigned int, no, IN, double, a, IN, double, b, IN, double, c, IN, double, d,
____ClipPlane__unsigned_int__double__double__double__double,
"",
"");
I_ConstructorWithDefaults2(IN, const osg::ClipPlane &, cp, , IN, const osg::CopyOp &, copyop, osg::CopyOp::SHALLOW_COPY,
____ClipPlane__C5_ClipPlane_R1__C5_CopyOp_R1,
"Copy constructor using CopyOp to manage deep vs shallow copy. ",
"");
I_Method0(osg::Object *, cloneType,
Properties::VIRTUAL,
__osg_Object_P1__cloneType,
"Clone the type of an attribute, with Object* return type. ",
"Must be defined by derived classes. ");
I_Method1(osg::Object *, clone, IN, const osg::CopyOp &, x,
Properties::VIRTUAL,
__osg_Object_P1__clone__C5_osg_CopyOp_R1,
"Clone an attribute, with Object* return type. ",
"Must be defined by derived classes. ");
I_Method1(bool, isSameKindAs, IN, const osg::Object *, obj,
Properties::VIRTUAL,
__bool__isSameKindAs__C5_osg_Object_P1,
"Return true if this and obj are of the same kind of object. ",
"");
I_Method0(const char *, libraryName,
Properties::VIRTUAL,
__C5_char_P1__libraryName,
"Return the name of the attribute's library. ",
"");
I_Method0(const char *, className,
Properties::VIRTUAL,
__C5_char_P1__className,
"Return the name of the attribute's class type. ",
"");
I_Method0(osg::StateAttribute::Type, getType,
Properties::VIRTUAL,
__Type__getType,
"Return the Type identifier of the attribute's class type. ",
"");
I_Method1(int, compare, IN, const osg::StateAttribute &, sa,
Properties::VIRTUAL,
__int__compare__C5_StateAttribute_R1,
"Return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs. ",
"");
I_Method0(unsigned int, getMember,
Properties::VIRTUAL,
__unsigned_int__getMember,
"Return the member identifier within the attribute's class type. ",
"Used for light number/clip plane number etc. ");
I_Method1(bool, getModeUsage, IN, osg::StateAttribute::ModeUsage &, x,
Properties::VIRTUAL,
__bool__getModeUsage__StateAttribute_ModeUsage_R1,
"Return the modes associated with this StateAttribute. ",
"");
I_Method1(void, setClipPlane, IN, const osg::Plane &, plane,
Properties::NON_VIRTUAL,
__void__setClipPlane__C5_Plane_R1,
"Set the clip plane with the given Plane. ",
"");
I_Method4(void, setClipPlane, IN, double, a, IN, double, b, IN, double, c, IN, double, d,
Properties::NON_VIRTUAL,
__void__setClipPlane__double__double__double__double,
"Defines the plane as [ a b c d ]. ",
"");
I_Method1(void, setClipPlane, IN, const osg::Vec4d &, plane,
Properties::NON_VIRTUAL,
__void__setClipPlane__C5_Vec4d_R1,
"Set the clip plane with the given Vec4. ",
"");
I_Method0(const osg::Vec4d &, getClipPlane,
Properties::NON_VIRTUAL,
__C5_Vec4d_R1__getClipPlane,
"Gets the clip plane as a Vec4d. ",
"");
I_Method1(void, setClipPlaneNum, IN, unsigned int, num,
Properties::NON_VIRTUAL,
__void__setClipPlaneNum__unsigned_int,
"Sets the clip plane number. ",
"");
I_Method0(unsigned int, getClipPlaneNum,
Properties::NON_VIRTUAL,
__unsigned_int__getClipPlaneNum,
"Gets the clip plane number. ",
"");
I_Method1(void, apply, IN, osg::State &, state,
Properties::VIRTUAL,
__void__apply__State_R1,
"Applies the clip plane's state to the OpenGL state machine. ",
"");
I_SimpleProperty(const osg::Vec4d &, ClipPlane,
__C5_Vec4d_R1__getClipPlane,
__void__setClipPlane__C5_Vec4d_R1);
I_SimpleProperty(unsigned int, ClipPlaneNum,
__unsigned_int__getClipPlaneNum,
__void__setClipPlaneNum__unsigned_int);
I_SimpleProperty(unsigned int, Member,
__unsigned_int__getMember,
0);
I_SimpleProperty(osg::StateAttribute::Type, Type,
__Type__getType,
0);
END_REFLECTOR

View File

@ -1,151 +0,0 @@
// ***************************************************************************
//
// Generated automatically by genwrapper.
// Please DO NOT EDIT this file!
//
// ***************************************************************************
#include <osgIntrospection/ReflectionMacros>
#include <osgIntrospection/TypedMethodInfo>
#include <osgIntrospection/StaticMethodInfo>
#include <osgIntrospection/Attributes>
#include <osg/ClusterCullingCallback>
#include <osg/CopyOp>
#include <osg/Drawable>
#include <osg/Matrixd>
#include <osg/Node>
#include <osg/NodeVisitor>
#include <osg/Object>
#include <osg/State>
#include <osg/Vec3>
// Must undefine IN and OUT macros defined in Windows headers
#ifdef IN
#undef IN
#endif
#ifdef OUT
#undef OUT
#endif
#include <osg/observer_ptr>
BEGIN_OBJECT_REFLECTOR(osg::ClusterCullingCallback)
I_DeclaringFile("osg/ClusterCullingCallback");
I_BaseType(osg::Drawable::CullCallback);
I_BaseType(osg::NodeCallback);
I_Constructor0(____ClusterCullingCallback,
"",
"");
I_Constructor2(IN, const osg::ClusterCullingCallback &, ccc, IN, const osg::CopyOp &, copyop,
____ClusterCullingCallback__C5_ClusterCullingCallback_R1__C5_CopyOp_R1,
"",
"");
I_Constructor3(IN, const osg::Vec3 &, controlPoint, IN, const osg::Vec3 &, normal, IN, float, deviation,
____ClusterCullingCallback__C5_osg_Vec3_R1__C5_osg_Vec3_R1__float,
"",
"");
I_Constructor1(IN, const osg::Drawable *, drawable,
Properties::NON_EXPLICIT,
____ClusterCullingCallback__C5_osg_Drawable_P1,
"",
"");
I_Method0(osg::Object *, cloneType,
Properties::VIRTUAL,
__osg_Object_P1__cloneType,
"Clone the type of an object, with Object* return type. ",
"Must be defined by derived classes. ");
I_Method1(osg::Object *, clone, IN, const osg::CopyOp &, x,
Properties::VIRTUAL,
__osg_Object_P1__clone__C5_osg_CopyOp_R1,
"Clone an object, with Object* return type. ",
"Must be defined by derived classes. ");
I_Method1(bool, isSameKindAs, IN, const osg::Object *, obj,
Properties::VIRTUAL,
__bool__isSameKindAs__C5_osg_Object_P1,
"",
"");
I_Method0(const char *, libraryName,
Properties::VIRTUAL,
__C5_char_P1__libraryName,
"return the name of the object's library. ",
"Must be defined by derived classes. The OpenSceneGraph convention is that the namespace of a library is the same as the library name. ");
I_Method0(const char *, className,
Properties::VIRTUAL,
__C5_char_P1__className,
"return the name of the object's class type. ",
"Must be defined by derived classes. ");
I_Method1(void, computeFrom, IN, const osg::Drawable *, drawable,
Properties::NON_VIRTUAL,
__void__computeFrom__C5_osg_Drawable_P1,
"Computes the control point, normal, and deviation from the given drawable contents. ",
"");
I_Method1(void, transform, IN, const osg::Matrixd &, matrix,
Properties::NON_VIRTUAL,
__void__transform__C5_osg_Matrixd_R1,
"Transform the ClusterCullingCallback's positional members to a new coordinate frame. ",
"");
I_Method4(void, set, IN, const osg::Vec3 &, controlPoint, IN, const osg::Vec3 &, normal, IN, float, deviation, IN, float, radius,
Properties::NON_VIRTUAL,
__void__set__C5_osg_Vec3_R1__C5_osg_Vec3_R1__float__float,
"",
"");
I_Method1(void, setControlPoint, IN, const osg::Vec3 &, controlPoint,
Properties::NON_VIRTUAL,
__void__setControlPoint__C5_osg_Vec3_R1,
"",
"");
I_Method0(const osg::Vec3 &, getControlPoint,
Properties::NON_VIRTUAL,
__C5_osg_Vec3_R1__getControlPoint,
"",
"");
I_Method1(void, setNormal, IN, const osg::Vec3 &, normal,
Properties::NON_VIRTUAL,
__void__setNormal__C5_osg_Vec3_R1,
"",
"");
I_Method0(const osg::Vec3 &, getNormal,
Properties::NON_VIRTUAL,
__C5_osg_Vec3_R1__getNormal,
"",
"");
I_Method1(void, setRadius, IN, float, radius,
Properties::NON_VIRTUAL,
__void__setRadius__float,
"",
"");
I_Method0(float, getRadius,
Properties::NON_VIRTUAL,
__float__getRadius,
"",
"");
I_Method1(void, setDeviation, IN, float, deviation,
Properties::NON_VIRTUAL,
__void__setDeviation__float,
"",
"");
I_Method0(float, getDeviation,
Properties::NON_VIRTUAL,
__float__getDeviation,
"",
"");
I_Method3(bool, cull, IN, osg::NodeVisitor *, x, IN, osg::Drawable *, x, IN, osg::State *, x,
Properties::VIRTUAL,
__bool__cull__osg_NodeVisitor_P1__osg_Drawable_P1__osg_State_P1,
"deprecated. ",
"");
I_SimpleProperty(const osg::Vec3 &, ControlPoint,
__C5_osg_Vec3_R1__getControlPoint,
__void__setControlPoint__C5_osg_Vec3_R1);
I_SimpleProperty(float, Deviation,
__float__getDeviation,
__void__setDeviation__float);
I_SimpleProperty(const osg::Vec3 &, Normal,
__C5_osg_Vec3_R1__getNormal,
__void__setNormal__C5_osg_Vec3_R1);
I_SimpleProperty(float, Radius,
__float__getRadius,
__void__setRadius__float);
END_REFLECTOR

View File

@ -1,183 +0,0 @@
// ***************************************************************************
//
// Generated automatically by genwrapper.
// Please DO NOT EDIT this file!
//
// ***************************************************************************
#include <osgIntrospection/ReflectionMacros>
#include <osgIntrospection/TypedMethodInfo>
#include <osgIntrospection/StaticMethodInfo>
#include <osgIntrospection/Attributes>
#include <osg/CollectOccludersVisitor>
#include <osg/LOD>
#include <osg/Node>
#include <osg/OccluderNode>
#include <osg/Projection>
#include <osg/Switch>
#include <osg/Transform>
#include <osg/Vec3>
// Must undefine IN and OUT macros defined in Windows headers
#ifdef IN
#undef IN
#endif
#ifdef OUT
#undef OUT
#endif
#include <osg/observer_ptr>
TYPE_NAME_ALIAS(std::set< osg::ShadowVolumeOccluder >, osg::CollectOccludersVisitor::ShadowVolumeOccluderSet)
BEGIN_OBJECT_REFLECTOR(osg::CollectOccludersVisitor)
I_DeclaringFile("osg/CollectOccludersVisitor");
I_BaseType(osg::NodeVisitor);
I_BaseType(osg::CullStack);
I_Constructor0(____CollectOccludersVisitor,
"",
"");
I_Method0(const char *, libraryName,
Properties::VIRTUAL,
__C5_char_P1__libraryName,
"return the library name/namespapce of the visitor's. ",
"Should be defined by derived classes. ");
I_Method0(const char *, className,
Properties::VIRTUAL,
__C5_char_P1__className,
"return the name of the visitor's class type. ",
"Should be defined by derived classes. ");
I_Method0(osg::CollectOccludersVisitor *, cloneType,
Properties::VIRTUAL,
__CollectOccludersVisitor_P1__cloneType,
"",
"");
I_Method0(void, reset,
Properties::VIRTUAL,
__void__reset,
"",
"");
I_Method2(float, getDistanceToEyePoint, IN, const osg::Vec3 &, x, IN, bool, x,
Properties::VIRTUAL,
__float__getDistanceToEyePoint__C5_Vec3_R1__bool,
"Get the distance from a point to the eye point, distance value in local coordinate system. ",
"Note, not all NodeVisitor implement this method, it is mainly cull visitors which will implement. If the getDistanceFromEyePoint(pos) is not implemented then a default value of 0.0 is returned. ");
I_Method2(float, getDistanceToViewPoint, IN, const osg::Vec3 &, x, IN, bool, x,
Properties::VIRTUAL,
__float__getDistanceToViewPoint__C5_Vec3_R1__bool,
"Get the distance from a point to the view point, distance value in local coordinate system. ",
"Note, not all NodeVisitor implement this method, it is mainly cull visitors which will implement. If the getDistanceToViewPoint(pos) is not implemented then a default value of 0.0 is returned. ");
I_Method2(float, getDistanceFromEyePoint, IN, const osg::Vec3 &, x, IN, bool, x,
Properties::VIRTUAL,
__float__getDistanceFromEyePoint__C5_Vec3_R1__bool,
"Get the distance of a point from the eye point, distance value in the eye coordinate system. ",
"Note, not all NodeVisitor implement this method, it is mainly cull visitors which will implement. If the getDistanceFromEyePoint(pos) is not implemented than a default value of 0.0 is returned. ");
I_Method1(void, apply, IN, osg::Node &, x,
Properties::VIRTUAL,
__void__apply__osg_Node_R1,
"",
"");
I_Method1(void, apply, IN, osg::Transform &, node,
Properties::VIRTUAL,
__void__apply__osg_Transform_R1,
"",
"");
I_Method1(void, apply, IN, osg::Projection &, node,
Properties::VIRTUAL,
__void__apply__osg_Projection_R1,
"",
"");
I_Method1(void, apply, IN, osg::Switch &, node,
Properties::VIRTUAL,
__void__apply__osg_Switch_R1,
"",
"");
I_Method1(void, apply, IN, osg::LOD &, node,
Properties::VIRTUAL,
__void__apply__osg_LOD_R1,
"",
"");
I_Method1(void, apply, IN, osg::OccluderNode &, node,
Properties::VIRTUAL,
__void__apply__osg_OccluderNode_R1,
"",
"");
I_Method1(void, setMinimumShadowOccluderVolume, IN, float, vol,
Properties::NON_VIRTUAL,
__void__setMinimumShadowOccluderVolume__float,
"Sets the minimum shadow occluder volume that an active occluder must have. ",
"vol is units relative the clip space volume where 1.0 is the whole clip space. ");
I_Method0(float, getMinimumShadowOccluderVolume,
Properties::NON_VIRTUAL,
__float__getMinimumShadowOccluderVolume,
"",
"");
I_Method1(void, setMaximumNumberOfActiveOccluders, IN, unsigned int, num,
Properties::NON_VIRTUAL,
__void__setMaximumNumberOfActiveOccluders__unsigned_int,
"Sets the maximum number of occluders to have active for culling purposes. ",
"");
I_Method0(unsigned int, getMaximumNumberOfActiveOccluders,
Properties::NON_VIRTUAL,
__unsigned_int__getMaximumNumberOfActiveOccluders,
"",
"");
I_Method1(void, setCreateDrawablesOnOccludeNodes, IN, bool, flag,
Properties::NON_VIRTUAL,
__void__setCreateDrawablesOnOccludeNodes__bool,
"",
"");
I_Method0(bool, getCreateDrawablesOnOccludeNodes,
Properties::NON_VIRTUAL,
__bool__getCreateDrawablesOnOccludeNodes,
"",
"");
I_Method1(void, setCollectedOccluderSet, IN, const osg::CollectOccludersVisitor::ShadowVolumeOccluderSet &, svol,
Properties::NON_VIRTUAL,
__void__setCollectedOccluderSet__C5_ShadowVolumeOccluderSet_R1,
"",
"");
I_Method0(osg::CollectOccludersVisitor::ShadowVolumeOccluderSet &, getCollectedOccluderSet,
Properties::NON_VIRTUAL,
__ShadowVolumeOccluderSet_R1__getCollectedOccluderSet,
"",
"");
I_Method0(const osg::CollectOccludersVisitor::ShadowVolumeOccluderSet &, getCollectedOccluderSet,
Properties::NON_VIRTUAL,
__C5_ShadowVolumeOccluderSet_R1__getCollectedOccluderSet,
"",
"");
I_Method0(void, removeOccludedOccluders,
Properties::NON_VIRTUAL,
__void__removeOccludedOccluders,
"Removes occluded occluders for the collected occluders list, then discards all but MaximumNumberOfActiveOccluders of occluders, discarding the occluders with the lowest shadow occluder volume. ",
"");
I_ProtectedMethod1(void, handle_cull_callbacks_and_traverse, IN, osg::Node &, node,
Properties::NON_VIRTUAL,
Properties::NON_CONST,
__void__handle_cull_callbacks_and_traverse__osg_Node_R1,
"",
"");
I_ProtectedMethod2(void, handle_cull_callbacks_and_accept, IN, osg::Node &, node, IN, osg::Node *, acceptNode,
Properties::NON_VIRTUAL,
Properties::NON_CONST,
__void__handle_cull_callbacks_and_accept__osg_Node_R1__osg_Node_P1,
"",
"");
I_SimpleProperty(const osg::CollectOccludersVisitor::ShadowVolumeOccluderSet &, CollectedOccluderSet,
__C5_ShadowVolumeOccluderSet_R1__getCollectedOccluderSet,
__void__setCollectedOccluderSet__C5_ShadowVolumeOccluderSet_R1);
I_SimpleProperty(bool, CreateDrawablesOnOccludeNodes,
__bool__getCreateDrawablesOnOccludeNodes,
__void__setCreateDrawablesOnOccludeNodes__bool);
I_SimpleProperty(unsigned int, MaximumNumberOfActiveOccluders,
__unsigned_int__getMaximumNumberOfActiveOccluders,
__void__setMaximumNumberOfActiveOccluders__unsigned_int);
I_SimpleProperty(float, MinimumShadowOccluderVolume,
__float__getMinimumShadowOccluderVolume,
__void__setMinimumShadowOccluderVolume__float);
END_REFLECTOR
STD_SET_REFLECTOR(std::set< osg::ShadowVolumeOccluder >)

View File

@ -1,144 +0,0 @@
// ***************************************************************************
//
// Generated automatically by genwrapper.
// Please DO NOT EDIT this file!
//
// ***************************************************************************
#include <osgIntrospection/ReflectionMacros>
#include <osgIntrospection/TypedMethodInfo>
#include <osgIntrospection/StaticMethodInfo>
#include <osgIntrospection/Attributes>
#include <osg/ColorMask>
#include <osg/CopyOp>
#include <osg/Object>
#include <osg/State>
#include <osg/StateAttribute>
// Must undefine IN and OUT macros defined in Windows headers
#ifdef IN
#undef IN
#endif
#ifdef OUT
#undef OUT
#endif
#include <osg/observer_ptr>
BEGIN_OBJECT_REFLECTOR(osg::ColorMask)
I_DeclaringFile("osg/ColorMask");
I_BaseType(osg::StateAttribute);
I_Constructor0(____ColorMask,
"",
"");
I_Constructor4(IN, bool, red, IN, bool, green, IN, bool, blue, IN, bool, alpha,
____ColorMask__bool__bool__bool__bool,
"",
"");
I_ConstructorWithDefaults2(IN, const osg::ColorMask &, cm, , IN, const osg::CopyOp &, copyop, osg::CopyOp::SHALLOW_COPY,
____ColorMask__C5_ColorMask_R1__C5_CopyOp_R1,
"Copy constructor using CopyOp to manage deep vs shallow copy. ",
"");
I_Method0(osg::Object *, cloneType,
Properties::VIRTUAL,
__osg_Object_P1__cloneType,
"Clone the type of an attribute, with Object* return type. ",
"Must be defined by derived classes. ");
I_Method1(osg::Object *, clone, IN, const osg::CopyOp &, x,
Properties::VIRTUAL,
__osg_Object_P1__clone__C5_osg_CopyOp_R1,
"Clone an attribute, with Object* return type. ",
"Must be defined by derived classes. ");
I_Method1(bool, isSameKindAs, IN, const osg::Object *, obj,
Properties::VIRTUAL,
__bool__isSameKindAs__C5_osg_Object_P1,
"Return true if this and obj are of the same kind of object. ",
"");
I_Method0(const char *, libraryName,
Properties::VIRTUAL,
__C5_char_P1__libraryName,
"Return the name of the attribute's library. ",
"");
I_Method0(const char *, className,
Properties::VIRTUAL,
__C5_char_P1__className,
"Return the name of the attribute's class type. ",
"");
I_Method0(osg::StateAttribute::Type, getType,
Properties::VIRTUAL,
__Type__getType,
"Return the Type identifier of the attribute's class type. ",
"");
I_Method1(int, compare, IN, const osg::StateAttribute &, sa,
Properties::VIRTUAL,
__int__compare__C5_StateAttribute_R1,
"Return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs. ",
"");
I_Method4(void, setMask, IN, bool, red, IN, bool, green, IN, bool, blue, IN, bool, alpha,
Properties::NON_VIRTUAL,
__void__setMask__bool__bool__bool__bool,
"",
"");
I_Method1(void, setRedMask, IN, bool, mask,
Properties::NON_VIRTUAL,
__void__setRedMask__bool,
"",
"");
I_Method0(bool, getRedMask,
Properties::NON_VIRTUAL,
__bool__getRedMask,
"",
"");
I_Method1(void, setGreenMask, IN, bool, mask,
Properties::NON_VIRTUAL,
__void__setGreenMask__bool,
"",
"");
I_Method0(bool, getGreenMask,
Properties::NON_VIRTUAL,
__bool__getGreenMask,
"",
"");
I_Method1(void, setBlueMask, IN, bool, mask,
Properties::NON_VIRTUAL,
__void__setBlueMask__bool,
"",
"");
I_Method0(bool, getBlueMask,
Properties::NON_VIRTUAL,
__bool__getBlueMask,
"",
"");
I_Method1(void, setAlphaMask, IN, bool, mask,
Properties::NON_VIRTUAL,
__void__setAlphaMask__bool,
"",
"");
I_Method0(bool, getAlphaMask,
Properties::NON_VIRTUAL,
__bool__getAlphaMask,
"",
"");
I_Method1(void, apply, IN, osg::State &, x,
Properties::VIRTUAL,
__void__apply__State_R1,
"apply the OpenGL state attributes. ",
"The render info for the current OpenGL context is passed in to allow the StateAttribute to obtain details on the the current context and state. ");
I_SimpleProperty(bool, AlphaMask,
__bool__getAlphaMask,
__void__setAlphaMask__bool);
I_SimpleProperty(bool, BlueMask,
__bool__getBlueMask,
__void__setBlueMask__bool);
I_SimpleProperty(bool, GreenMask,
__bool__getGreenMask,
__void__setGreenMask__bool);
I_SimpleProperty(bool, RedMask,
__bool__getRedMask,
__void__setRedMask__bool);
I_SimpleProperty(osg::StateAttribute::Type, Type,
__Type__getType,
0);
END_REFLECTOR

View File

@ -1,102 +0,0 @@
// ***************************************************************************
//
// Generated automatically by genwrapper.
// Please DO NOT EDIT this file!
//
// ***************************************************************************
#include <osgIntrospection/ReflectionMacros>
#include <osgIntrospection/TypedMethodInfo>
#include <osgIntrospection/StaticMethodInfo>
#include <osgIntrospection/Attributes>
#include <osg/ColorMatrix>
#include <osg/CopyOp>
#include <osg/Matrix>
#include <osg/Object>
#include <osg/State>
#include <osg/StateAttribute>
// Must undefine IN and OUT macros defined in Windows headers
#ifdef IN
#undef IN
#endif
#ifdef OUT
#undef OUT
#endif
#include <osg/observer_ptr>
BEGIN_OBJECT_REFLECTOR(osg::ColorMatrix)
I_DeclaringFile("osg/ColorMatrix");
I_BaseType(osg::StateAttribute);
I_Constructor0(____ColorMatrix,
"",
"");
I_ConstructorWithDefaults2(IN, const osg::ColorMatrix &, cm, , IN, const osg::CopyOp &, copyop, osg::CopyOp::SHALLOW_COPY,
____ColorMatrix__C5_ColorMatrix_R1__C5_CopyOp_R1,
"Copy constructor using CopyOp to manage deep vs shallow copy. ",
"");
I_Method0(osg::Object *, cloneType,
Properties::VIRTUAL,
__osg_Object_P1__cloneType,
"Clone the type of an attribute, with Object* return type. ",
"Must be defined by derived classes. ");
I_Method1(osg::Object *, clone, IN, const osg::CopyOp &, x,
Properties::VIRTUAL,
__osg_Object_P1__clone__C5_osg_CopyOp_R1,
"Clone an attribute, with Object* return type. ",
"Must be defined by derived classes. ");
I_Method1(bool, isSameKindAs, IN, const osg::Object *, obj,
Properties::VIRTUAL,
__bool__isSameKindAs__C5_osg_Object_P1,
"Return true if this and obj are of the same kind of object. ",
"");
I_Method0(const char *, libraryName,
Properties::VIRTUAL,
__C5_char_P1__libraryName,
"Return the name of the attribute's library. ",
"");
I_Method0(const char *, className,
Properties::VIRTUAL,
__C5_char_P1__className,
"Return the name of the attribute's class type. ",
"");
I_Method0(osg::StateAttribute::Type, getType,
Properties::VIRTUAL,
__Type__getType,
"Return the Type identifier of the attribute's class type. ",
"");
I_Method1(int, compare, IN, const osg::StateAttribute &, sa,
Properties::VIRTUAL,
__int__compare__C5_StateAttribute_R1,
"Return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs. ",
"");
I_Method1(void, setMatrix, IN, const osg::Matrix &, matrix,
Properties::NON_VIRTUAL,
__void__setMatrix__C5_Matrix_R1,
"Sets the color matrix. ",
"");
I_Method0(osg::Matrix &, getMatrix,
Properties::NON_VIRTUAL,
__Matrix_R1__getMatrix,
"Gets the color matrix. ",
"");
I_Method0(const osg::Matrix &, getMatrix,
Properties::NON_VIRTUAL,
__C5_Matrix_R1__getMatrix,
"Gets the const color matrix. ",
"");
I_Method1(void, apply, IN, osg::State &, state,
Properties::VIRTUAL,
__void__apply__State_R1,
"Applies as OpenGL texture matrix. ",
"");
I_SimpleProperty(const osg::Matrix &, Matrix,
__C5_Matrix_R1__getMatrix,
__void__setMatrix__C5_Matrix_R1);
I_SimpleProperty(osg::StateAttribute::Type, Type,
__Type__getType,
0);
END_REFLECTOR

View File

@ -1,105 +0,0 @@
// ***************************************************************************
//
// Generated automatically by genwrapper.
// Please DO NOT EDIT this file!
//
// ***************************************************************************
#include <osgIntrospection/ReflectionMacros>
#include <osgIntrospection/TypedMethodInfo>
#include <osgIntrospection/StaticMethodInfo>
#include <osgIntrospection/Attributes>
#include <osg/BoundingBox>
#include <osg/ComputeBoundsVisitor>
#include <osg/Drawable>
#include <osg/Geode>
#include <osg/Matrix>
#include <osg/Node>
#include <osg/NodeVisitor>
#include <osg/Polytope>
#include <osg/Transform>
// Must undefine IN and OUT macros defined in Windows headers
#ifdef IN
#undef IN
#endif
#ifdef OUT
#undef OUT
#endif
#include <osg/observer_ptr>
BEGIN_OBJECT_REFLECTOR(osg::ComputeBoundsVisitor)
I_DeclaringFile("osg/ComputeBoundsVisitor");
I_BaseType(osg::NodeVisitor);
I_ConstructorWithDefaults1(IN, osg::NodeVisitor::TraversalMode, traversalMode, osg::NodeVisitor::TRAVERSE_ALL_CHILDREN,
Properties::NON_EXPLICIT,
____ComputeBoundsVisitor__TraversalMode,
"",
"");
I_Method0(const char *, libraryName,
Properties::VIRTUAL,
__C5_char_P1__libraryName,
"return the library name/namespapce of the visitor's. ",
"Should be defined by derived classes. ");
I_Method0(const char *, className,
Properties::VIRTUAL,
__C5_char_P1__className,
"return the name of the visitor's class type. ",
"Should be defined by derived classes. ");
I_Method0(void, reset,
Properties::VIRTUAL,
__void__reset,
"Method to call to reset visitor. ",
"Useful if your visitor accumulates state during a traversal, and you plan to reuse the visitor. To flush that state for the next traversal: call reset() prior to each traversal. ");
I_Method0(osg::BoundingBox &, getBoundingBox,
Properties::NON_VIRTUAL,
__osg_BoundingBox_R1__getBoundingBox,
"",
"");
I_MethodWithDefaults2(void, getPolytope, IN, osg::Polytope &, polytope, , IN, float, margin, 0.1,
Properties::NON_VIRTUAL,
__void__getPolytope__osg_Polytope_R1__float,
"",
"");
I_MethodWithDefaults2(void, getBase, IN, osg::Polytope &, polytope, , IN, float, margin, 0.1,
Properties::NON_VIRTUAL,
__void__getBase__osg_Polytope_R1__float,
"",
"");
I_Method1(void, apply, IN, osg::Node &, node,
Properties::VIRTUAL,
__void__apply__osg_Node_R1,
"",
"");
I_Method1(void, apply, IN, osg::Transform &, transform,
Properties::VIRTUAL,
__void__apply__osg_Transform_R1,
"",
"");
I_Method1(void, apply, IN, osg::Geode &, geode,
Properties::VIRTUAL,
__void__apply__osg_Geode_R1,
"",
"");
I_Method1(void, pushMatrix, IN, osg::Matrix &, matrix,
Properties::NON_VIRTUAL,
__void__pushMatrix__osg_Matrix_R1,
"",
"");
I_Method0(void, popMatrix,
Properties::NON_VIRTUAL,
__void__popMatrix,
"",
"");
I_Method1(void, applyDrawable, IN, osg::Drawable *, drawable,
Properties::NON_VIRTUAL,
__void__applyDrawable__osg_Drawable_P1,
"",
"");
I_SimpleProperty(osg::BoundingBox &, BoundingBox,
__osg_BoundingBox_R1__getBoundingBox,
0);
END_REFLECTOR

View File

@ -1,109 +0,0 @@
// ***************************************************************************
//
// Generated automatically by genwrapper.
// Please DO NOT EDIT this file!
//
// ***************************************************************************
#include <osgIntrospection/ReflectionMacros>
#include <osgIntrospection/TypedMethodInfo>
#include <osgIntrospection/StaticMethodInfo>
#include <osgIntrospection/Attributes>
#include <osg/ConvexPlanarOccluder>
#include <osg/ConvexPlanarPolygon>
#include <osg/CopyOp>
#include <osg/Object>
// Must undefine IN and OUT macros defined in Windows headers
#ifdef IN
#undef IN
#endif
#ifdef OUT
#undef OUT
#endif
#include <osg/observer_ptr>
TYPE_NAME_ALIAS(std::vector< osg::ConvexPlanarPolygon >, osg::ConvexPlanarOccluder::HoleList)
BEGIN_OBJECT_REFLECTOR(osg::ConvexPlanarOccluder)
I_DeclaringFile("osg/ConvexPlanarOccluder");
I_BaseType(osg::Object);
I_Constructor0(____ConvexPlanarOccluder,
"",
"");
I_ConstructorWithDefaults2(IN, const osg::ConvexPlanarOccluder &, cpo, , IN, const osg::CopyOp &, copyop, osg::CopyOp::SHALLOW_COPY,
____ConvexPlanarOccluder__C5_ConvexPlanarOccluder_R1__C5_CopyOp_R1,
"",
"");
I_Method0(osg::Object *, cloneType,
Properties::VIRTUAL,
__osg_Object_P1__cloneType,
"Clone the type of an object, with Object* return type. ",
"Must be defined by derived classes. ");
I_Method1(osg::Object *, clone, IN, const osg::CopyOp &, x,
Properties::VIRTUAL,
__osg_Object_P1__clone__C5_osg_CopyOp_R1,
"Clone an object, with Object* return type. ",
"Must be defined by derived classes. ");
I_Method1(bool, isSameKindAs, IN, const osg::Object *, obj,
Properties::VIRTUAL,
__bool__isSameKindAs__C5_osg_Object_P1,
"",
"");
I_Method0(const char *, libraryName,
Properties::VIRTUAL,
__C5_char_P1__libraryName,
"return the name of the object's library. ",
"Must be defined by derived classes. The OpenSceneGraph convention is that the namespace of a library is the same as the library name. ");
I_Method0(const char *, className,
Properties::VIRTUAL,
__C5_char_P1__className,
"return the name of the object's class type. ",
"Must be defined by derived classes. ");
I_Method1(void, setOccluder, IN, const osg::ConvexPlanarPolygon &, cpp,
Properties::NON_VIRTUAL,
__void__setOccluder__C5_ConvexPlanarPolygon_R1,
"",
"");
I_Method0(osg::ConvexPlanarPolygon &, getOccluder,
Properties::NON_VIRTUAL,
__ConvexPlanarPolygon_R1__getOccluder,
"",
"");
I_Method0(const osg::ConvexPlanarPolygon &, getOccluder,
Properties::NON_VIRTUAL,
__C5_ConvexPlanarPolygon_R1__getOccluder,
"",
"");
I_Method1(void, addHole, IN, const osg::ConvexPlanarPolygon &, cpp,
Properties::NON_VIRTUAL,
__void__addHole__C5_ConvexPlanarPolygon_R1,
"",
"");
I_Method1(void, setHoleList, IN, const osg::ConvexPlanarOccluder::HoleList &, holeList,
Properties::NON_VIRTUAL,
__void__setHoleList__C5_HoleList_R1,
"",
"");
I_Method0(osg::ConvexPlanarOccluder::HoleList &, getHoleList,
Properties::NON_VIRTUAL,
__HoleList_R1__getHoleList,
"",
"");
I_Method0(const osg::ConvexPlanarOccluder::HoleList &, getHoleList,
Properties::NON_VIRTUAL,
__C5_HoleList_R1__getHoleList,
"",
"");
I_SimpleProperty(const osg::ConvexPlanarOccluder::HoleList &, HoleList,
__C5_HoleList_R1__getHoleList,
__void__setHoleList__C5_HoleList_R1);
I_SimpleProperty(const osg::ConvexPlanarPolygon &, Occluder,
__C5_ConvexPlanarPolygon_R1__getOccluder,
__void__setOccluder__C5_ConvexPlanarPolygon_R1);
END_REFLECTOR
STD_VECTOR_REFLECTOR(std::vector< osg::ConvexPlanarPolygon >)

View File

@ -1,57 +0,0 @@
// ***************************************************************************
//
// Generated automatically by genwrapper.
// Please DO NOT EDIT this file!
//
// ***************************************************************************
#include <osgIntrospection/ReflectionMacros>
#include <osgIntrospection/TypedMethodInfo>
#include <osgIntrospection/StaticMethodInfo>
#include <osgIntrospection/Attributes>
#include <osg/ConvexPlanarPolygon>
#include <osg/Vec3>
// Must undefine IN and OUT macros defined in Windows headers
#ifdef IN
#undef IN
#endif
#ifdef OUT
#undef OUT
#endif
#include <osg/observer_ptr>
TYPE_NAME_ALIAS(std::vector< osg::Vec3 >, osg::ConvexPlanarPolygon::VertexList)
BEGIN_VALUE_REFLECTOR(osg::ConvexPlanarPolygon)
I_DeclaringFile("osg/ConvexPlanarPolygon");
I_Constructor0(____ConvexPlanarPolygon,
"",
"");
I_Method1(void, add, IN, const osg::Vec3 &, v,
Properties::NON_VIRTUAL,
__void__add__C5_Vec3_R1,
"",
"");
I_Method1(void, setVertexList, IN, const osg::ConvexPlanarPolygon::VertexList &, vertexList,
Properties::NON_VIRTUAL,
__void__setVertexList__C5_VertexList_R1,
"",
"");
I_Method0(osg::ConvexPlanarPolygon::VertexList &, getVertexList,
Properties::NON_VIRTUAL,
__VertexList_R1__getVertexList,
"",
"");
I_Method0(const osg::ConvexPlanarPolygon::VertexList &, getVertexList,
Properties::NON_VIRTUAL,
__C5_VertexList_R1__getVertexList,
"",
"");
I_SimpleProperty(const osg::ConvexPlanarPolygon::VertexList &, VertexList,
__C5_VertexList_R1__getVertexList,
__void__setVertexList__C5_VertexList_R1);
END_REFLECTOR

View File

@ -1,241 +0,0 @@
// ***************************************************************************
//
// Generated automatically by genwrapper.
// Please DO NOT EDIT this file!
//
// ***************************************************************************
#include <osgIntrospection/ReflectionMacros>
#include <osgIntrospection/TypedMethodInfo>
#include <osgIntrospection/StaticMethodInfo>
#include <osgIntrospection/Attributes>
#include <osg/CoordinateSystemNode>
#include <osg/CopyOp>
#include <osg/Matrixd>
#include <osg/NodeVisitor>
#include <osg/Object>
#include <osg/Vec3d>
// Must undefine IN and OUT macros defined in Windows headers
#ifdef IN
#undef IN
#endif
#ifdef OUT
#undef OUT
#endif
#include <osg/observer_ptr>
BEGIN_OBJECT_REFLECTOR(osg::CoordinateSystemNode)
I_DeclaringFile("osg/CoordinateSystemNode");
I_BaseType(osg::Group);
I_Constructor0(____CoordinateSystemNode,
"",
"");
I_Constructor2(IN, const std::string &, format, IN, const std::string &, cs,
____CoordinateSystemNode__C5_std_string_R1__C5_std_string_R1,
"",
"");
I_ConstructorWithDefaults2(IN, const osg::CoordinateSystemNode &, x, , IN, const osg::CopyOp &, copyop, osg::CopyOp::SHALLOW_COPY,
____CoordinateSystemNode__C5_CoordinateSystemNode_R1__C5_osg_CopyOp_R1,
"Copy constructor using CopyOp to manage deep vs shallow copy. ",
"");
I_Method0(osg::Object *, cloneType,
Properties::VIRTUAL,
__osg_Object_P1__cloneType,
"clone an object of the same type as the node. ",
"");
I_Method1(osg::Object *, clone, IN, const osg::CopyOp &, copyop,
Properties::VIRTUAL,
__osg_Object_P1__clone__C5_osg_CopyOp_R1,
"return a clone of a node, with Object* return type. ",
"");
I_Method1(bool, isSameKindAs, IN, const osg::Object *, obj,
Properties::VIRTUAL,
__bool__isSameKindAs__C5_osg_Object_P1,
"return true if this and obj are of the same kind of object. ",
"");
I_Method0(const char *, className,
Properties::VIRTUAL,
__C5_char_P1__className,
"return the name of the node's class type. ",
"");
I_Method0(const char *, libraryName,
Properties::VIRTUAL,
__C5_char_P1__libraryName,
"return the name of the node's library. ",
"");
I_Method1(void, accept, IN, osg::NodeVisitor &, nv,
Properties::VIRTUAL,
__void__accept__osg_NodeVisitor_R1,
"Visitor Pattern : calls the apply method of a NodeVisitor with this node's type. ",
"");
I_Method1(void, set, IN, const osg::CoordinateSystemNode &, csn,
Properties::NON_VIRTUAL,
__void__set__C5_CoordinateSystemNode_R1,
"Set the coordinate system node up by copying the format, coordinate system string, and ellipsoid model of another coordinate system node. ",
"");
I_Method1(void, setFormat, IN, const std::string &, format,
Properties::NON_VIRTUAL,
__void__setFormat__C5_std_string_R1,
"Set the coordinate system format string. ",
"Typical values would be WKT, PROJ4, USGS etc. ");
I_Method0(const std::string &, getFormat,
Properties::NON_VIRTUAL,
__C5_std_string_R1__getFormat,
"Get the coordinate system format string. ",
"");
I_Method1(void, setCoordinateSystem, IN, const std::string &, cs,
Properties::NON_VIRTUAL,
__void__setCoordinateSystem__C5_std_string_R1,
"Set the CoordinateSystem reference string, should be stored in a form consistent with the Format. ",
"");
I_Method0(const std::string &, getCoordinateSystem,
Properties::NON_VIRTUAL,
__C5_std_string_R1__getCoordinateSystem,
"Get the CoordinateSystem reference string. ",
"");
I_Method1(void, setEllipsoidModel, IN, osg::EllipsoidModel *, ellipsode,
Properties::NON_VIRTUAL,
__void__setEllipsoidModel__EllipsoidModel_P1,
"Set EllipsoidModel to describe the model used to map lat, long and height into geocentric XYZ and back. ",
"");
I_Method0(osg::EllipsoidModel *, getEllipsoidModel,
Properties::NON_VIRTUAL,
__EllipsoidModel_P1__getEllipsoidModel,
"Get the EllipsoidModel. ",
"");
I_Method0(const osg::EllipsoidModel *, getEllipsoidModel,
Properties::NON_VIRTUAL,
__C5_EllipsoidModel_P1__getEllipsoidModel,
"Get the const EllipsoidModel. ",
"");
I_Method1(osg::CoordinateFrame, computeLocalCoordinateFrame, IN, const osg::Vec3d &, position,
Properties::NON_VIRTUAL,
__CoordinateFrame__computeLocalCoordinateFrame__C5_Vec3d_R1,
"Compute the local coordinate frame for specified point. ",
"");
I_Method1(osg::Vec3d, computeLocalUpVector, IN, const osg::Vec3d &, position,
Properties::NON_VIRTUAL,
__osg_Vec3d__computeLocalUpVector__C5_Vec3d_R1,
"Compute the local up-vector for specified point. ",
"");
I_SimpleProperty(const std::string &, CoordinateSystem,
__C5_std_string_R1__getCoordinateSystem,
__void__setCoordinateSystem__C5_std_string_R1);
I_SimpleProperty(osg::EllipsoidModel *, EllipsoidModel,
__EllipsoidModel_P1__getEllipsoidModel,
__void__setEllipsoidModel__EllipsoidModel_P1);
I_SimpleProperty(const std::string &, Format,
__C5_std_string_R1__getFormat,
__void__setFormat__C5_std_string_R1);
END_REFLECTOR
BEGIN_OBJECT_REFLECTOR(osg::EllipsoidModel)
I_DeclaringFile("osg/CoordinateSystemNode");
I_BaseType(osg::Object);
I_ConstructorWithDefaults2(IN, double, radiusEquator, osg::WGS_84_RADIUS_EQUATOR, IN, double, radiusPolar, osg::WGS_84_RADIUS_POLAR,
____EllipsoidModel__double__double,
"WGS_84 is a common representation of the earth's spheroid. ",
"");
I_ConstructorWithDefaults2(IN, const osg::EllipsoidModel &, et, , IN, const osg::CopyOp &, copyop, osg::CopyOp::SHALLOW_COPY,
____EllipsoidModel__C5_EllipsoidModel_R1__C5_CopyOp_R1,
"",
"");
I_Method0(osg::Object *, cloneType,
Properties::VIRTUAL,
__osg_Object_P1__cloneType,
"Clone the type of an object, with Object* return type. ",
"Must be defined by derived classes. ");
I_Method1(osg::Object *, clone, IN, const osg::CopyOp &, x,
Properties::VIRTUAL,
__osg_Object_P1__clone__C5_osg_CopyOp_R1,
"Clone an object, with Object* return type. ",
"Must be defined by derived classes. ");
I_Method1(bool, isSameKindAs, IN, const osg::Object *, obj,
Properties::VIRTUAL,
__bool__isSameKindAs__C5_osg_Object_P1,
"",
"");
I_Method0(const char *, libraryName,
Properties::VIRTUAL,
__C5_char_P1__libraryName,
"return the name of the object's library. ",
"Must be defined by derived classes. The OpenSceneGraph convention is that the namespace of a library is the same as the library name. ");
I_Method0(const char *, className,
Properties::VIRTUAL,
__C5_char_P1__className,
"return the name of the object's class type. ",
"Must be defined by derived classes. ");
I_Method1(void, setRadiusEquator, IN, double, radius,
Properties::NON_VIRTUAL,
__void__setRadiusEquator__double,
"",
"");
I_Method0(double, getRadiusEquator,
Properties::NON_VIRTUAL,
__double__getRadiusEquator,
"",
"");
I_Method1(void, setRadiusPolar, IN, double, radius,
Properties::NON_VIRTUAL,
__void__setRadiusPolar__double,
"",
"");
I_Method0(double, getRadiusPolar,
Properties::NON_VIRTUAL,
__double__getRadiusPolar,
"",
"");
I_Method6(void, convertLatLongHeightToXYZ, IN, double, latitude, IN, double, longitude, IN, double, height, IN, double &, X, IN, double &, Y, IN, double &, Z,
Properties::NON_VIRTUAL,
__void__convertLatLongHeightToXYZ__double__double__double__double_R1__double_R1__double_R1,
"",
"");
I_Method6(void, convertXYZToLatLongHeight, IN, double, X, IN, double, Y, IN, double, Z, IN, double &, latitude, IN, double &, longitude, IN, double &, height,
Properties::NON_VIRTUAL,
__void__convertXYZToLatLongHeight__double__double__double__double_R1__double_R1__double_R1,
"",
"");
I_Method4(void, computeLocalToWorldTransformFromLatLongHeight, IN, double, latitude, IN, double, longitude, IN, double, height, IN, osg::Matrixd &, localToWorld,
Properties::NON_VIRTUAL,
__void__computeLocalToWorldTransformFromLatLongHeight__double__double__double__osg_Matrixd_R1,
"",
"");
I_Method4(void, computeLocalToWorldTransformFromXYZ, IN, double, X, IN, double, Y, IN, double, Z, IN, osg::Matrixd &, localToWorld,
Properties::NON_VIRTUAL,
__void__computeLocalToWorldTransformFromXYZ__double__double__double__osg_Matrixd_R1,
"",
"");
I_Method3(void, computeCoordinateFrame, IN, double, latitude, IN, double, longitude, IN, osg::Matrixd &, localToWorld,
Properties::NON_VIRTUAL,
__void__computeCoordinateFrame__double__double__osg_Matrixd_R1,
"",
"");
I_Method3(osg::Vec3d, computeLocalUpVector, IN, double, X, IN, double, Y, IN, double, Z,
Properties::NON_VIRTUAL,
__osg_Vec3d__computeLocalUpVector__double__double__double,
"",
"");
I_Method0(bool, isWGS84,
Properties::NON_VIRTUAL,
__bool__isWGS84,
"",
"");
I_ProtectedMethod0(void, computeCoefficients,
Properties::NON_VIRTUAL,
Properties::NON_CONST,
__void__computeCoefficients,
"",
"");
I_SimpleProperty(double, RadiusEquator,
__double__getRadiusEquator,
__void__setRadiusEquator__double);
I_SimpleProperty(double, RadiusPolar,
__double__getRadiusPolar,
__void__setRadiusPolar__double);
END_REFLECTOR
TYPE_NAME_ALIAS(osg::Matrixd, osg::CoordinateFrame)

View File

@ -1,67 +0,0 @@
// ***************************************************************************
//
// Generated automatically by genwrapper.
// Please DO NOT EDIT this file!
//
// ***************************************************************************
#include <osgIntrospection/ReflectionMacros>
#include <osgIntrospection/TypedMethodInfo>
#include <osgIntrospection/StaticMethodInfo>
#include <osgIntrospection/Attributes>
#include <osg/Array>
#include <osg/CopyOp>
#include <osg/Drawable>
#include <osg/Image>
#include <osg/Node>
#include <osg/NodeCallback>
#include <osg/Object>
#include <osg/PrimitiveSet>
#include <osg/Referenced>
#include <osg/Shape>
#include <osg/StateAttribute>
#include <osg/StateAttributeCallback>
#include <osg/StateSet>
#include <osg/Texture>
#include <osg/Uniform>
// Must undefine IN and OUT macros defined in Windows headers
#ifdef IN
#undef IN
#endif
#ifdef OUT
#undef OUT
#endif
#include <osg/observer_ptr>
BEGIN_ENUM_REFLECTOR(osg::CopyOp::Options)
I_DeclaringFile("osg/CopyOp");
I_EnumLabel(osg::CopyOp::SHALLOW_COPY);
I_EnumLabel(osg::CopyOp::DEEP_COPY_OBJECTS);
I_EnumLabel(osg::CopyOp::DEEP_COPY_NODES);
I_EnumLabel(osg::CopyOp::DEEP_COPY_DRAWABLES);
I_EnumLabel(osg::CopyOp::DEEP_COPY_STATESETS);
I_EnumLabel(osg::CopyOp::DEEP_COPY_STATEATTRIBUTES);
I_EnumLabel(osg::CopyOp::DEEP_COPY_TEXTURES);
I_EnumLabel(osg::CopyOp::DEEP_COPY_IMAGES);
I_EnumLabel(osg::CopyOp::DEEP_COPY_ARRAYS);
I_EnumLabel(osg::CopyOp::DEEP_COPY_PRIMITIVES);
I_EnumLabel(osg::CopyOp::DEEP_COPY_SHAPES);
I_EnumLabel(osg::CopyOp::DEEP_COPY_UNIFORMS);
I_EnumLabel(osg::CopyOp::DEEP_COPY_CALLBACKS);
I_EnumLabel(osg::CopyOp::DEEP_COPY_ALL);
END_REFLECTOR
TYPE_NAME_ALIAS(unsigned int, osg::CopyOp::CopyFlags)
BEGIN_VALUE_REFLECTOR(osg::CopyOp)
I_DeclaringFile("osg/CopyOp");
I_ConstructorWithDefaults1(IN, osg::CopyOp::CopyFlags, flags, osg::CopyOp::SHALLOW_COPY,
Properties::NON_EXPLICIT,
____CopyOp__CopyFlags,
"",
"");
END_REFLECTOR

View File

@ -1,110 +0,0 @@
// ***************************************************************************
//
// Generated automatically by genwrapper.
// Please DO NOT EDIT this file!
//
// ***************************************************************************
#include <osgIntrospection/ReflectionMacros>
#include <osgIntrospection/TypedMethodInfo>
#include <osgIntrospection/StaticMethodInfo>
#include <osgIntrospection/Attributes>
#include <osg/CopyOp>
#include <osg/CullFace>
#include <osg/Object>
#include <osg/State>
#include <osg/StateAttribute>
// Must undefine IN and OUT macros defined in Windows headers
#ifdef IN
#undef IN
#endif
#ifdef OUT
#undef OUT
#endif
#include <osg/observer_ptr>
BEGIN_ENUM_REFLECTOR(osg::CullFace::Mode)
I_DeclaringFile("osg/CullFace");
I_EnumLabel(osg::CullFace::FRONT);
I_EnumLabel(osg::CullFace::BACK);
I_EnumLabel(osg::CullFace::FRONT_AND_BACK);
END_REFLECTOR
BEGIN_OBJECT_REFLECTOR(osg::CullFace)
I_DeclaringFile("osg/CullFace");
I_BaseType(osg::StateAttribute);
I_ConstructorWithDefaults1(IN, osg::CullFace::Mode, mode, osg::CullFace::BACK,
Properties::NON_EXPLICIT,
____CullFace__Mode,
"",
"");
I_ConstructorWithDefaults2(IN, const osg::CullFace &, cf, , IN, const osg::CopyOp &, copyop, osg::CopyOp::SHALLOW_COPY,
____CullFace__C5_CullFace_R1__C5_CopyOp_R1,
"Copy constructor using CopyOp to manage deep vs shallow copy. ",
"");
I_Method0(osg::Object *, cloneType,
Properties::VIRTUAL,
__osg_Object_P1__cloneType,
"Clone the type of an attribute, with Object* return type. ",
"Must be defined by derived classes. ");
I_Method1(osg::Object *, clone, IN, const osg::CopyOp &, x,
Properties::VIRTUAL,
__osg_Object_P1__clone__C5_osg_CopyOp_R1,
"Clone an attribute, with Object* return type. ",
"Must be defined by derived classes. ");
I_Method1(bool, isSameKindAs, IN, const osg::Object *, obj,
Properties::VIRTUAL,
__bool__isSameKindAs__C5_osg_Object_P1,
"Return true if this and obj are of the same kind of object. ",
"");
I_Method0(const char *, libraryName,
Properties::VIRTUAL,
__C5_char_P1__libraryName,
"Return the name of the attribute's library. ",
"");
I_Method0(const char *, className,
Properties::VIRTUAL,
__C5_char_P1__className,
"Return the name of the attribute's class type. ",
"");
I_Method0(osg::StateAttribute::Type, getType,
Properties::VIRTUAL,
__Type__getType,
"Return the Type identifier of the attribute's class type. ",
"");
I_Method1(int, compare, IN, const osg::StateAttribute &, sa,
Properties::VIRTUAL,
__int__compare__C5_StateAttribute_R1,
"return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs. ",
"");
I_Method1(bool, getModeUsage, IN, osg::StateAttribute::ModeUsage &, x,
Properties::VIRTUAL,
__bool__getModeUsage__StateAttribute_ModeUsage_R1,
"Return the modes associated with this StateAttribute. ",
"");
I_Method1(void, setMode, IN, osg::CullFace::Mode, mode,
Properties::NON_VIRTUAL,
__void__setMode__Mode,
"",
"");
I_Method0(osg::CullFace::Mode, getMode,
Properties::NON_VIRTUAL,
__Mode__getMode,
"",
"");
I_Method1(void, apply, IN, osg::State &, x,
Properties::VIRTUAL,
__void__apply__State_R1,
"apply the OpenGL state attributes. ",
"The render info for the current OpenGL context is passed in to allow the StateAttribute to obtain details on the the current context and state. ");
I_SimpleProperty(osg::CullFace::Mode, Mode,
__Mode__getMode,
__void__setMode__Mode);
I_SimpleProperty(osg::StateAttribute::Type, Type,
__Type__getType,
0);
END_REFLECTOR

View File

@ -1,362 +0,0 @@
// ***************************************************************************
//
// Generated automatically by genwrapper.
// Please DO NOT EDIT this file!
//
// ***************************************************************************
#include <osgIntrospection/ReflectionMacros>
#include <osgIntrospection/TypedMethodInfo>
#include <osgIntrospection/StaticMethodInfo>
#include <osgIntrospection/Attributes>
#include <osg/ArgumentParser>
#include <osg/CullSettings>
#include <osg/Matrixd>
#include <osg/Matrixf>
#include <osg/Node>
// Must undefine IN and OUT macros defined in Windows headers
#ifdef IN
#undef IN
#endif
#ifdef OUT
#undef OUT
#endif
#include <osg/observer_ptr>
BEGIN_ENUM_REFLECTOR(osg::CullSettings::VariablesMask)
I_DeclaringFile("osg/CullSettings");
I_EnumLabel(osg::CullSettings::COMPUTE_NEAR_FAR_MODE);
I_EnumLabel(osg::CullSettings::CULLING_MODE);
I_EnumLabel(osg::CullSettings::LOD_SCALE);
I_EnumLabel(osg::CullSettings::SMALL_FEATURE_CULLING_PIXEL_SIZE);
I_EnumLabel(osg::CullSettings::CLAMP_PROJECTION_MATRIX_CALLBACK);
I_EnumLabel(osg::CullSettings::NEAR_FAR_RATIO);
I_EnumLabel(osg::CullSettings::IMPOSTOR_ACTIVE);
I_EnumLabel(osg::CullSettings::DEPTH_SORT_IMPOSTOR_SPRITES);
I_EnumLabel(osg::CullSettings::IMPOSTOR_PIXEL_ERROR_THRESHOLD);
I_EnumLabel(osg::CullSettings::NUM_FRAMES_TO_KEEP_IMPOSTORS_SPRITES);
I_EnumLabel(osg::CullSettings::CULL_MASK);
I_EnumLabel(osg::CullSettings::CULL_MASK_LEFT);
I_EnumLabel(osg::CullSettings::CULL_MASK_RIGHT);
I_EnumLabel(osg::CullSettings::CLEAR_COLOR);
I_EnumLabel(osg::CullSettings::CLEAR_MASK);
I_EnumLabel(osg::CullSettings::LIGHTING_MODE);
I_EnumLabel(osg::CullSettings::LIGHT);
I_EnumLabel(osg::CullSettings::DRAW_BUFFER);
I_EnumLabel(osg::CullSettings::READ_BUFFER);
I_EnumLabel(osg::CullSettings::NO_VARIABLES);
I_EnumLabel(osg::CullSettings::ALL_VARIABLES);
END_REFLECTOR
BEGIN_ENUM_REFLECTOR(osg::CullSettings::InheritanceMaskActionOnAttributeSetting)
I_DeclaringFile("osg/CullSettings");
I_EnumLabel(osg::CullSettings::DISABLE_ASSOCIATED_INHERITANCE_MASK_BIT);
I_EnumLabel(osg::CullSettings::DO_NOT_MODIFY_INHERITANCE_MASK);
END_REFLECTOR
BEGIN_ENUM_REFLECTOR(osg::CullSettings::ComputeNearFarMode)
I_DeclaringFile("osg/CullSettings");
I_EnumLabel(osg::CullSettings::DO_NOT_COMPUTE_NEAR_FAR);
I_EnumLabel(osg::CullSettings::COMPUTE_NEAR_FAR_USING_BOUNDING_VOLUMES);
I_EnumLabel(osg::CullSettings::COMPUTE_NEAR_FAR_USING_PRIMITIVES);
END_REFLECTOR
BEGIN_ENUM_REFLECTOR(osg::CullSettings::CullingModeValues)
I_DeclaringFile("osg/CullSettings");
I_EnumLabel(osg::CullSettings::NO_CULLING);
I_EnumLabel(osg::CullSettings::VIEW_FRUSTUM_SIDES_CULLING);
I_EnumLabel(osg::CullSettings::NEAR_PLANE_CULLING);
I_EnumLabel(osg::CullSettings::FAR_PLANE_CULLING);
I_EnumLabel(osg::CullSettings::VIEW_FRUSTUM_CULLING);
I_EnumLabel(osg::CullSettings::SMALL_FEATURE_CULLING);
I_EnumLabel(osg::CullSettings::SHADOW_OCCLUSION_CULLING);
I_EnumLabel(osg::CullSettings::CLUSTER_CULLING);
I_EnumLabel(osg::CullSettings::DEFAULT_CULLING);
I_EnumLabel(osg::CullSettings::ENABLE_ALL_CULLING);
END_REFLECTOR
TYPE_NAME_ALIAS(int, osg::CullSettings::InheritanceMask)
TYPE_NAME_ALIAS(int, osg::CullSettings::CullingMode)
BEGIN_VALUE_REFLECTOR(osg::CullSettings)
I_DeclaringFile("osg/CullSettings");
I_Constructor0(____CullSettings,
"",
"");
I_Constructor1(IN, osg::ArgumentParser &, arguments,
Properties::NON_EXPLICIT,
____CullSettings__ArgumentParser_R1,
"",
"");
I_Constructor1(IN, const osg::CullSettings &, cs,
Properties::NON_EXPLICIT,
____CullSettings__C5_CullSettings_R1,
"",
"");
I_Method0(void, setDefaults,
Properties::VIRTUAL,
__void__setDefaults,
"",
"");
I_Method1(void, setInheritanceMask, IN, osg::CullSettings::InheritanceMask, mask,
Properties::NON_VIRTUAL,
__void__setInheritanceMask__InheritanceMask,
"Set the inheritance mask used in inheritCullSettings to control which variables get overwritten by the passed in CullSettings object. ",
"");
I_Method0(osg::CullSettings::InheritanceMask, getInheritanceMask,
Properties::NON_VIRTUAL,
__InheritanceMask__getInheritanceMask,
"Get the inheritance mask used in inheritCullSettings to control which variables get overwritten by the passed in CullSettings object. ",
"");
I_Method1(void, setCullSettings, IN, const osg::CullSettings &, settings,
Properties::NON_VIRTUAL,
__void__setCullSettings__C5_CullSettings_R1,
"Set the local cull settings values from specified CullSettings object. ",
"");
I_Method1(void, inheritCullSettings, IN, const osg::CullSettings &, settings,
Properties::VIRTUAL,
__void__inheritCullSettings__C5_CullSettings_R1,
"Inherit the local cull settings variable from specified CullSettings object, according to the inheritance mask. ",
"");
I_Method2(void, inheritCullSettings, IN, const osg::CullSettings &, settings, IN, unsigned int, inheritanceMask,
Properties::VIRTUAL,
__void__inheritCullSettings__C5_CullSettings_R1__unsigned_int,
"Inherit the local cull settings variable from specified CullSettings object, according to the inheritance mask. ",
"");
I_Method0(void, readEnvironmentalVariables,
Properties::NON_VIRTUAL,
__void__readEnvironmentalVariables,
"read the environmental variables. ",
"");
I_Method1(void, readCommandLine, IN, osg::ArgumentParser &, arguments,
Properties::NON_VIRTUAL,
__void__readCommandLine__ArgumentParser_R1,
"read the commandline arguments. ",
"");
I_Method1(void, setInheritanceMaskActionOnAttributeSetting, IN, osg::CullSettings::InheritanceMaskActionOnAttributeSetting, action,
Properties::NON_VIRTUAL,
__void__setInheritanceMaskActionOnAttributeSetting__InheritanceMaskActionOnAttributeSetting,
"",
"");
I_Method0(osg::CullSettings::InheritanceMaskActionOnAttributeSetting, getInheritanceMaskActionOnAttributeSetting,
Properties::NON_VIRTUAL,
__InheritanceMaskActionOnAttributeSetting__getInheritanceMaskActionOnAttributeSetting,
"",
"");
I_Method1(void, applyMaskAction, IN, unsigned int, maskBit,
Properties::NON_VIRTUAL,
__void__applyMaskAction__unsigned_int,
"Apply the action, specified by the InheritanceMaskActionOnAttributeSetting, to apply to the inheritance bit mask. ",
"This method is called by CullSettings::set*() parameter methods to ensure that CullSettings inheritance mechanisms doesn't overwrite the local parameter settings. ");
I_Method1(void, setImpostorsActive, IN, bool, active,
Properties::NON_VIRTUAL,
__void__setImpostorsActive__bool,
"Switch the creation of Impostors on or off. ",
"Setting active to false forces the CullVisitor to use the Impostor LOD children for rendering. Setting active to true forces the CullVisitor to create the appropriate pre-rendering stages which render to the ImpostorSprite's texture. ");
I_Method0(bool, getImpostorsActive,
Properties::NON_VIRTUAL,
__bool__getImpostorsActive,
"Get whether impostors are active or not. ",
"");
I_Method1(void, setImpostorPixelErrorThreshold, IN, float, numPixels,
Properties::NON_VIRTUAL,
__void__setImpostorPixelErrorThreshold__float,
"Set the impostor error threshold. ",
"Used in calculation of whether impostors remain valid. ");
I_Method0(float, getImpostorPixelErrorThreshold,
Properties::NON_VIRTUAL,
__float__getImpostorPixelErrorThreshold,
"Get the impostor error threshold. ",
"");
I_Method1(void, setDepthSortImpostorSprites, IN, bool, doDepthSort,
Properties::NON_VIRTUAL,
__void__setDepthSortImpostorSprites__bool,
"Set whether ImpostorSprite's should be placed in a depth sorted bin for rendering. ",
"");
I_Method0(bool, getDepthSortImpostorSprites,
Properties::NON_VIRTUAL,
__bool__getDepthSortImpostorSprites,
"Get whether ImpostorSprite's are depth sorted bin for rendering. ",
"");
I_Method1(void, setNumberOfFrameToKeepImpostorSprites, IN, int, numFrames,
Properties::NON_VIRTUAL,
__void__setNumberOfFrameToKeepImpostorSprites__int,
"Set the number of frames that an ImpostorSprite is kept whilst not being beyond, before being recycled. ",
"");
I_Method0(int, getNumberOfFrameToKeepImpostorSprites,
Properties::NON_VIRTUAL,
__int__getNumberOfFrameToKeepImpostorSprites,
"Get the number of frames that an ImpostorSprite is kept whilst not being beyond, before being recycled. ",
"");
I_Method1(void, setComputeNearFarMode, IN, osg::CullSettings::ComputeNearFarMode, cnfm,
Properties::NON_VIRTUAL,
__void__setComputeNearFarMode__ComputeNearFarMode,
"",
"");
I_Method0(osg::CullSettings::ComputeNearFarMode, getComputeNearFarMode,
Properties::NON_VIRTUAL,
__ComputeNearFarMode__getComputeNearFarMode,
"",
"");
I_Method1(void, setNearFarRatio, IN, double, ratio,
Properties::NON_VIRTUAL,
__void__setNearFarRatio__double,
"",
"");
I_Method0(double, getNearFarRatio,
Properties::NON_VIRTUAL,
__double__getNearFarRatio,
"",
"");
I_Method1(void, setCullingMode, IN, osg::CullSettings::CullingMode, mode,
Properties::NON_VIRTUAL,
__void__setCullingMode__CullingMode,
"Set the culling mode for the CullVisitor to use. ",
"");
I_Method0(osg::CullSettings::CullingMode, getCullingMode,
Properties::NON_VIRTUAL,
__CullingMode__getCullingMode,
"Returns the current CullingMode. ",
"");
I_Method1(void, setCullMask, IN, osg::Node::NodeMask, nm,
Properties::NON_VIRTUAL,
__void__setCullMask__osg_Node_NodeMask,
"",
"");
I_Method0(osg::Node::NodeMask, getCullMask,
Properties::NON_VIRTUAL,
__osg_Node_NodeMask__getCullMask,
"",
"");
I_Method1(void, setCullMaskLeft, IN, osg::Node::NodeMask, nm,
Properties::NON_VIRTUAL,
__void__setCullMaskLeft__osg_Node_NodeMask,
"",
"");
I_Method0(osg::Node::NodeMask, getCullMaskLeft,
Properties::NON_VIRTUAL,
__osg_Node_NodeMask__getCullMaskLeft,
"",
"");
I_Method1(void, setCullMaskRight, IN, osg::Node::NodeMask, nm,
Properties::NON_VIRTUAL,
__void__setCullMaskRight__osg_Node_NodeMask,
"",
"");
I_Method0(osg::Node::NodeMask, getCullMaskRight,
Properties::NON_VIRTUAL,
__osg_Node_NodeMask__getCullMaskRight,
"",
"");
I_Method1(void, setLODScale, IN, float, scale,
Properties::NON_VIRTUAL,
__void__setLODScale__float,
"Set the LOD bias for the CullVisitor to use. ",
"");
I_Method0(float, getLODScale,
Properties::NON_VIRTUAL,
__float__getLODScale,
"Get the LOD bias. ",
"");
I_Method1(void, setSmallFeatureCullingPixelSize, IN, float, value,
Properties::NON_VIRTUAL,
__void__setSmallFeatureCullingPixelSize__float,
"Set the Small Feature Culling Pixel Size. ",
"");
I_Method0(float, getSmallFeatureCullingPixelSize,
Properties::NON_VIRTUAL,
__float__getSmallFeatureCullingPixelSize,
"Get the Small Feature Culling Pixel Size. ",
"");
I_Method1(void, setClampProjectionMatrixCallback, IN, osg::CullSettings::ClampProjectionMatrixCallback *, cpmc,
Properties::NON_VIRTUAL,
__void__setClampProjectionMatrixCallback__ClampProjectionMatrixCallback_P1,
"set the ClampProjectionMatrixCallback. ",
"");
I_Method0(osg::CullSettings::ClampProjectionMatrixCallback *, getClampProjectionMatrixCallback,
Properties::NON_VIRTUAL,
__ClampProjectionMatrixCallback_P1__getClampProjectionMatrixCallback,
"get the non const ClampProjectionMatrixCallback. ",
"");
I_Method0(const osg::CullSettings::ClampProjectionMatrixCallback *, getClampProjectionMatrixCallback,
Properties::NON_VIRTUAL,
__C5_ClampProjectionMatrixCallback_P1__getClampProjectionMatrixCallback,
"get the const ClampProjectionMatrixCallback. ",
"");
I_Method1(void, write, IN, std::ostream &, out,
Properties::NON_VIRTUAL,
__void__write__std_ostream_R1,
"Write out internal settings of CullSettings. ",
"");
I_SimpleProperty(osg::CullSettings::ClampProjectionMatrixCallback *, ClampProjectionMatrixCallback,
__ClampProjectionMatrixCallback_P1__getClampProjectionMatrixCallback,
__void__setClampProjectionMatrixCallback__ClampProjectionMatrixCallback_P1);
I_SimpleProperty(osg::CullSettings::ComputeNearFarMode, ComputeNearFarMode,
__ComputeNearFarMode__getComputeNearFarMode,
__void__setComputeNearFarMode__ComputeNearFarMode);
I_SimpleProperty(osg::Node::NodeMask, CullMask,
__osg_Node_NodeMask__getCullMask,
__void__setCullMask__osg_Node_NodeMask);
I_SimpleProperty(osg::Node::NodeMask, CullMaskLeft,
__osg_Node_NodeMask__getCullMaskLeft,
__void__setCullMaskLeft__osg_Node_NodeMask);
I_SimpleProperty(osg::Node::NodeMask, CullMaskRight,
__osg_Node_NodeMask__getCullMaskRight,
__void__setCullMaskRight__osg_Node_NodeMask);
I_SimpleProperty(const osg::CullSettings &, CullSettings,
0,
__void__setCullSettings__C5_CullSettings_R1);
I_SimpleProperty(osg::CullSettings::CullingMode, CullingMode,
__CullingMode__getCullingMode,
__void__setCullingMode__CullingMode);
I_SimpleProperty(bool, DepthSortImpostorSprites,
__bool__getDepthSortImpostorSprites,
__void__setDepthSortImpostorSprites__bool);
I_SimpleProperty(float, ImpostorPixelErrorThreshold,
__float__getImpostorPixelErrorThreshold,
__void__setImpostorPixelErrorThreshold__float);
I_SimpleProperty(bool, ImpostorsActive,
__bool__getImpostorsActive,
__void__setImpostorsActive__bool);
I_SimpleProperty(osg::CullSettings::InheritanceMask, InheritanceMask,
__InheritanceMask__getInheritanceMask,
__void__setInheritanceMask__InheritanceMask);
I_SimpleProperty(osg::CullSettings::InheritanceMaskActionOnAttributeSetting, InheritanceMaskActionOnAttributeSetting,
__InheritanceMaskActionOnAttributeSetting__getInheritanceMaskActionOnAttributeSetting,
__void__setInheritanceMaskActionOnAttributeSetting__InheritanceMaskActionOnAttributeSetting);
I_SimpleProperty(float, LODScale,
__float__getLODScale,
__void__setLODScale__float);
I_SimpleProperty(double, NearFarRatio,
__double__getNearFarRatio,
__void__setNearFarRatio__double);
I_SimpleProperty(int, NumberOfFrameToKeepImpostorSprites,
__int__getNumberOfFrameToKeepImpostorSprites,
__void__setNumberOfFrameToKeepImpostorSprites__int);
I_SimpleProperty(float, SmallFeatureCullingPixelSize,
__float__getSmallFeatureCullingPixelSize,
__void__setSmallFeatureCullingPixelSize__float);
END_REFLECTOR
BEGIN_ABSTRACT_OBJECT_REFLECTOR(osg::CullSettings::ClampProjectionMatrixCallback)
I_DeclaringFile("osg/CullSettings");
I_BaseType(osg::Referenced);
I_Constructor0(____ClampProjectionMatrixCallback,
"",
"");
I_Method3(bool, clampProjectionMatrixImplementation, IN, osg::Matrixf &, projection, IN, double &, znear, IN, double &, zfar,
Properties::PURE_VIRTUAL,
__bool__clampProjectionMatrixImplementation__osg_Matrixf_R1__double_R1__double_R1,
"",
"");
I_Method3(bool, clampProjectionMatrixImplementation, IN, osg::Matrixd &, projection, IN, double &, znear, IN, double &, zfar,
Properties::PURE_VIRTUAL,
__bool__clampProjectionMatrixImplementation__osg_Matrixd_R1__double_R1__double_R1,
"",
"");
END_REFLECTOR

View File

@ -1,324 +0,0 @@
// ***************************************************************************
//
// Generated automatically by genwrapper.
// Please DO NOT EDIT this file!
//
// ***************************************************************************
#include <osgIntrospection/ReflectionMacros>
#include <osgIntrospection/TypedMethodInfo>
#include <osgIntrospection/StaticMethodInfo>
#include <osgIntrospection/Attributes>
#include <osg/BoundingBox>
#include <osg/BoundingSphere>
#include <osg/CullStack>
#include <osg/CullingSet>
#include <osg/Matrix>
#include <osg/Node>
#include <osg/ShadowVolumeOccluder>
#include <osg/Transform>
#include <osg/Vec3>
#include <osg/Viewport>
// Must undefine IN and OUT macros defined in Windows headers
#ifdef IN
#undef IN
#endif
#ifdef OUT
#undef OUT
#endif
#include <osg/observer_ptr>
TYPE_NAME_ALIAS(std::vector< osg::ShadowVolumeOccluder >, osg::CullStack::OccluderList)
TYPE_NAME_ALIAS(std::vector< osg::CullingSet >, osg::CullStack::CullingStack)
BEGIN_OBJECT_REFLECTOR(osg::CullStack)
I_DeclaringFile("osg/CullStack");
I_BaseType(osg::CullSettings);
I_Constructor0(____CullStack,
"",
"");
I_Constructor1(IN, const osg::CullStack &, cs,
Properties::NON_EXPLICIT,
____CullStack__C5_CullStack_R1,
"",
"");
I_Method0(void, reset,
Properties::NON_VIRTUAL,
__void__reset,
"",
"");
I_Method0(void, pushCullingSet,
Properties::NON_VIRTUAL,
__void__pushCullingSet,
"",
"");
I_Method0(void, popCullingSet,
Properties::NON_VIRTUAL,
__void__popCullingSet,
"",
"");
I_Method1(void, setOccluderList, IN, const osg::ShadowVolumeOccluderList &, svol,
Properties::NON_VIRTUAL,
__void__setOccluderList__C5_ShadowVolumeOccluderList_R1,
"",
"");
I_Method0(osg::ShadowVolumeOccluderList &, getOccluderList,
Properties::NON_VIRTUAL,
__ShadowVolumeOccluderList_R1__getOccluderList,
"",
"");
I_Method0(const osg::ShadowVolumeOccluderList &, getOccluderList,
Properties::NON_VIRTUAL,
__C5_ShadowVolumeOccluderList_R1__getOccluderList,
"",
"");
I_Method1(void, pushViewport, IN, osg::Viewport *, viewport,
Properties::NON_VIRTUAL,
__void__pushViewport__osg_Viewport_P1,
"",
"");
I_Method0(void, popViewport,
Properties::NON_VIRTUAL,
__void__popViewport,
"",
"");
I_Method1(void, pushProjectionMatrix, IN, osg::RefMatrix *, matrix,
Properties::NON_VIRTUAL,
__void__pushProjectionMatrix__osg_RefMatrix_P1,
"",
"");
I_Method0(void, popProjectionMatrix,
Properties::NON_VIRTUAL,
__void__popProjectionMatrix,
"",
"");
I_Method2(void, pushModelViewMatrix, IN, osg::RefMatrix *, matrix, IN, osg::Transform::ReferenceFrame, referenceFrame,
Properties::NON_VIRTUAL,
__void__pushModelViewMatrix__osg_RefMatrix_P1__Transform_ReferenceFrame,
"",
"");
I_Method0(void, popModelViewMatrix,
Properties::NON_VIRTUAL,
__void__popModelViewMatrix,
"",
"");
I_Method0(float, getFrustumVolume,
Properties::NON_VIRTUAL,
__float__getFrustumVolume,
"",
"");
I_Method2(float, pixelSize, IN, const osg::Vec3 &, v, IN, float, radius,
Properties::NON_VIRTUAL,
__float__pixelSize__C5_Vec3_R1__float,
"Compute the pixel size of an object at position v, with specified radius. ",
"");
I_Method1(float, pixelSize, IN, const osg::BoundingSphere &, bs,
Properties::NON_VIRTUAL,
__float__pixelSize__C5_BoundingSphere_R1,
"Compute the pixel size of the bounding sphere. ",
"");
I_Method2(float, clampedPixelSize, IN, const osg::Vec3 &, v, IN, float, radius,
Properties::NON_VIRTUAL,
__float__clampedPixelSize__C5_Vec3_R1__float,
"Compute the pixel size of an object at position v, with specified radius. ",
"fabs()ed to always be positive. ");
I_Method1(float, clampedPixelSize, IN, const osg::BoundingSphere &, bs,
Properties::NON_VIRTUAL,
__float__clampedPixelSize__C5_BoundingSphere_R1,
"Compute the pixel size of the bounding sphere. ",
"fabs()ed to always be positive. ");
I_Method1(void, disableAndPushOccludersCurrentMask, IN, osg::NodePath &, nodePath,
Properties::NON_VIRTUAL,
__void__disableAndPushOccludersCurrentMask__NodePath_R1,
"",
"");
I_Method1(void, popOccludersCurrentMask, IN, osg::NodePath &, nodePath,
Properties::NON_VIRTUAL,
__void__popOccludersCurrentMask__NodePath_R1,
"",
"");
I_Method1(bool, isCulled, IN, const std::vector< osg::Vec3 > &, vertices,
Properties::NON_VIRTUAL,
__bool__isCulled__C5_std_vectorT1_Vec3__R1,
"",
"");
I_Method1(bool, isCulled, IN, const osg::BoundingBox &, bb,
Properties::NON_VIRTUAL,
__bool__isCulled__C5_BoundingBox_R1,
"",
"");
I_Method1(bool, isCulled, IN, const osg::BoundingSphere &, bs,
Properties::NON_VIRTUAL,
__bool__isCulled__C5_BoundingSphere_R1,
"",
"");
I_Method1(bool, isCulled, IN, const osg::Node &, node,
Properties::NON_VIRTUAL,
__bool__isCulled__C5_osg_Node_R1,
"",
"");
I_Method0(void, pushCurrentMask,
Properties::NON_VIRTUAL,
__void__pushCurrentMask,
"",
"");
I_Method0(void, popCurrentMask,
Properties::NON_VIRTUAL,
__void__popCurrentMask,
"",
"");
I_Method0(osg::CullStack::CullingStack &, getClipSpaceCullingStack,
Properties::NON_VIRTUAL,
__CullingStack_R1__getClipSpaceCullingStack,
"",
"");
I_Method0(osg::CullStack::CullingStack &, getProjectionCullingStack,
Properties::NON_VIRTUAL,
__CullingStack_R1__getProjectionCullingStack,
"",
"");
I_Method0(osg::CullStack::CullingStack &, getModelViewCullingStack,
Properties::NON_VIRTUAL,
__CullingStack_R1__getModelViewCullingStack,
"",
"");
I_Method0(osg::CullingSet &, getCurrentCullingSet,
Properties::NON_VIRTUAL,
__CullingSet_R1__getCurrentCullingSet,
"",
"");
I_Method0(const osg::CullingSet &, getCurrentCullingSet,
Properties::NON_VIRTUAL,
__C5_CullingSet_R1__getCurrentCullingSet,
"",
"");
I_Method0(osg::Viewport *, getViewport,
Properties::NON_VIRTUAL,
__osg_Viewport_P1__getViewport,
"",
"");
I_Method0(osg::RefMatrix *, getModelViewMatrix,
Properties::NON_VIRTUAL,
__osg_RefMatrix_P1__getModelViewMatrix,
"",
"");
I_Method0(osg::RefMatrix *, getProjectionMatrix,
Properties::NON_VIRTUAL,
__osg_RefMatrix_P1__getProjectionMatrix,
"",
"");
I_Method0(osg::Matrix, getWindowMatrix,
Properties::NON_VIRTUAL,
__osg_Matrix__getWindowMatrix,
"",
"");
I_Method0(const osg::RefMatrix *, getMVPW,
Properties::NON_VIRTUAL,
__C5_osg_RefMatrix_P1__getMVPW,
"",
"");
I_Method0(const osg::Vec3 &, getReferenceViewPoint,
Properties::NON_VIRTUAL,
__C5_osg_Vec3_R1__getReferenceViewPoint,
"",
"");
I_Method1(void, pushReferenceViewPoint, IN, const osg::Vec3 &, viewPoint,
Properties::NON_VIRTUAL,
__void__pushReferenceViewPoint__C5_osg_Vec3_R1,
"",
"");
I_Method0(void, popReferenceViewPoint,
Properties::NON_VIRTUAL,
__void__popReferenceViewPoint,
"",
"");
I_Method0(const osg::Vec3 &, getEyeLocal,
Properties::NON_VIRTUAL,
__C5_osg_Vec3_R1__getEyeLocal,
"",
"");
I_Method0(const osg::Vec3 &, getViewPointLocal,
Properties::NON_VIRTUAL,
__C5_osg_Vec3_R1__getViewPointLocal,
"",
"");
I_Method0(const osg::Vec3, getUpLocal,
Properties::NON_VIRTUAL,
__C5_osg_Vec3__getUpLocal,
"",
"");
I_Method0(const osg::Vec3, getLookVectorLocal,
Properties::NON_VIRTUAL,
__C5_osg_Vec3__getLookVectorLocal,
"",
"");
I_ProtectedMethod0(void, computeFrustumVolume,
Properties::NON_VIRTUAL,
Properties::NON_CONST,
__void__computeFrustumVolume,
"",
"");
I_ProtectedMethod1(osg::RefMatrix *, createOrReuseMatrix, IN, const osg::Matrix &, value,
Properties::NON_VIRTUAL,
Properties::NON_CONST,
__osg_RefMatrix_P1__createOrReuseMatrix__C5_osg_Matrix_R1,
"",
"");
I_SimpleProperty(osg::CullStack::CullingStack &, ClipSpaceCullingStack,
__CullingStack_R1__getClipSpaceCullingStack,
0);
I_SimpleProperty(osg::CullingSet &, CurrentCullingSet,
__CullingSet_R1__getCurrentCullingSet,
0);
I_SimpleProperty(const osg::Vec3 &, EyeLocal,
__C5_osg_Vec3_R1__getEyeLocal,
0);
I_SimpleProperty(float, FrustumVolume,
__float__getFrustumVolume,
0);
I_SimpleProperty(const osg::Vec3, LookVectorLocal,
__C5_osg_Vec3__getLookVectorLocal,
0);
I_SimpleProperty(const osg::RefMatrix *, MVPW,
__C5_osg_RefMatrix_P1__getMVPW,
0);
I_SimpleProperty(osg::CullStack::CullingStack &, ModelViewCullingStack,
__CullingStack_R1__getModelViewCullingStack,
0);
I_SimpleProperty(osg::RefMatrix *, ModelViewMatrix,
__osg_RefMatrix_P1__getModelViewMatrix,
0);
I_SimpleProperty(const osg::ShadowVolumeOccluderList &, OccluderList,
__C5_ShadowVolumeOccluderList_R1__getOccluderList,
__void__setOccluderList__C5_ShadowVolumeOccluderList_R1);
I_SimpleProperty(osg::CullStack::CullingStack &, ProjectionCullingStack,
__CullingStack_R1__getProjectionCullingStack,
0);
I_SimpleProperty(osg::RefMatrix *, ProjectionMatrix,
__osg_RefMatrix_P1__getProjectionMatrix,
0);
I_SimpleProperty(const osg::Vec3 &, ReferenceViewPoint,
__C5_osg_Vec3_R1__getReferenceViewPoint,
0);
I_SimpleProperty(const osg::Vec3, UpLocal,
__C5_osg_Vec3__getUpLocal,
0);
I_SimpleProperty(const osg::Vec3 &, ViewPointLocal,
__C5_osg_Vec3_R1__getViewPointLocal,
0);
I_SimpleProperty(osg::Viewport *, Viewport,
__osg_Viewport_P1__getViewport,
0);
I_SimpleProperty(osg::Matrix, WindowMatrix,
__osg_Matrix__getWindowMatrix,
0);
END_REFLECTOR
STD_VECTOR_REFLECTOR(std::vector< osg::CullingSet >)
STD_VECTOR_REFLECTOR(std::vector< osg::ShadowVolumeOccluder >)

View File

@ -1,280 +0,0 @@
// ***************************************************************************
//
// Generated automatically by genwrapper.
// Please DO NOT EDIT this file!
//
// ***************************************************************************
#include <osgIntrospection/ReflectionMacros>
#include <osgIntrospection/TypedMethodInfo>
#include <osgIntrospection/StaticMethodInfo>
#include <osgIntrospection/Attributes>
#include <osg/BoundingBox>
#include <osg/BoundingSphere>
#include <osg/CullingSet>
#include <osg/Matrix>
#include <osg/Node>
#include <osg/Polytope>
#include <osg/ShadowVolumeOccluder>
#include <osg/StateSet>
#include <osg/Vec3>
#include <osg/Vec4>
#include <osg/Viewport>
// Must undefine IN and OUT macros defined in Windows headers
#ifdef IN
#undef IN
#endif
#ifdef OUT
#undef OUT
#endif
#include <osg/observer_ptr>
BEGIN_ENUM_REFLECTOR(osg::CullingSet::MaskValues)
I_DeclaringFile("osg/CullingSet");
I_EnumLabel(osg::CullingSet::NO_CULLING);
I_EnumLabel(osg::CullingSet::VIEW_FRUSTUM_SIDES_CULLING);
I_EnumLabel(osg::CullingSet::NEAR_PLANE_CULLING);
I_EnumLabel(osg::CullingSet::FAR_PLANE_CULLING);
I_EnumLabel(osg::CullingSet::VIEW_FRUSTUM_CULLING);
I_EnumLabel(osg::CullingSet::SMALL_FEATURE_CULLING);
I_EnumLabel(osg::CullingSet::SHADOW_OCCLUSION_CULLING);
I_EnumLabel(osg::CullingSet::DEFAULT_CULLING);
I_EnumLabel(osg::CullingSet::ENABLE_ALL_CULLING);
END_REFLECTOR
TYPE_NAME_ALIAS(std::pair< osg::ref_ptr< osg::StateSet > COMMA osg::Polytope >, osg::CullingSet::StateFrustumPair)
TYPE_NAME_ALIAS(std::vector< osg::CullingSet::StateFrustumPair >, osg::CullingSet::StateFrustumList)
TYPE_NAME_ALIAS(std::vector< osg::ShadowVolumeOccluder >, osg::CullingSet::OccluderList)
TYPE_NAME_ALIAS(int, osg::CullingSet::Mask)
BEGIN_OBJECT_REFLECTOR(osg::CullingSet)
I_DeclaringFile("osg/CullingSet");
I_BaseType(osg::Referenced);
I_Constructor0(____CullingSet,
"",
"");
I_Constructor1(IN, const osg::CullingSet &, cs,
Properties::NON_EXPLICIT,
____CullingSet__C5_CullingSet_R1,
"",
"");
I_Constructor3(IN, const osg::CullingSet &, cs, IN, const osg::Matrix &, matrix, IN, const osg::Vec4 &, pixelSizeVector,
____CullingSet__C5_CullingSet_R1__C5_Matrix_R1__C5_Vec4_R1,
"",
"");
I_Method1(void, set, IN, const osg::CullingSet &, cs,
Properties::NON_VIRTUAL,
__void__set__C5_CullingSet_R1,
"",
"");
I_Method3(void, set, IN, const osg::CullingSet &, cs, IN, const osg::Matrix &, matrix, IN, const osg::Vec4 &, pixelSizeVector,
Properties::NON_VIRTUAL,
__void__set__C5_CullingSet_R1__C5_Matrix_R1__C5_Vec4_R1,
"",
"");
I_Method1(void, setCullingMask, IN, osg::CullingSet::Mask, mask,
Properties::NON_VIRTUAL,
__void__setCullingMask__Mask,
"",
"");
I_Method0(osg::CullingSet::Mask, getCullingMask,
Properties::NON_VIRTUAL,
__Mask__getCullingMask,
"",
"");
I_Method1(void, setFrustum, IN, osg::Polytope &, cv,
Properties::NON_VIRTUAL,
__void__setFrustum__Polytope_R1,
"",
"");
I_Method0(osg::Polytope &, getFrustum,
Properties::NON_VIRTUAL,
__Polytope_R1__getFrustum,
"",
"");
I_Method0(const osg::Polytope &, getFrustum,
Properties::NON_VIRTUAL,
__C5_Polytope_R1__getFrustum,
"",
"");
I_Method2(void, addStateFrustum, IN, osg::StateSet *, stateset, IN, osg::Polytope &, polytope,
Properties::NON_VIRTUAL,
__void__addStateFrustum__StateSet_P1__Polytope_R1,
"",
"");
I_Method1(void, getStateFrustumList, IN, osg::CullingSet::StateFrustumList &, sfl,
Properties::NON_VIRTUAL,
__void__getStateFrustumList__StateFrustumList_R1,
"",
"");
I_Method0(osg::CullingSet::StateFrustumList &, getStateFrustumList,
Properties::NON_VIRTUAL,
__StateFrustumList_R1__getStateFrustumList,
"",
"");
I_Method1(void, addOccluder, IN, osg::ShadowVolumeOccluder &, cv,
Properties::NON_VIRTUAL,
__void__addOccluder__ShadowVolumeOccluder_R1,
"",
"");
I_Method1(void, setPixelSizeVector, IN, const osg::Vec4 &, v,
Properties::NON_VIRTUAL,
__void__setPixelSizeVector__C5_Vec4_R1,
"",
"");
I_Method0(osg::Vec4 &, getPixelSizeVector,
Properties::NON_VIRTUAL,
__Vec4_R1__getPixelSizeVector,
"",
"");
I_Method0(const osg::Vec4 &, getPixelSizeVector,
Properties::NON_VIRTUAL,
__C5_Vec4_R1__getPixelSizeVector,
"",
"");
I_Method1(void, setSmallFeatureCullingPixelSize, IN, float, value,
Properties::NON_VIRTUAL,
__void__setSmallFeatureCullingPixelSize__float,
"",
"");
I_Method0(float &, getSmallFeatureCullingPixelSize,
Properties::NON_VIRTUAL,
__float_R1__getSmallFeatureCullingPixelSize,
"",
"");
I_Method0(float, getSmallFeatureCullingPixelSize,
Properties::NON_VIRTUAL,
__float__getSmallFeatureCullingPixelSize,
"",
"");
I_Method2(float, pixelSize, IN, const osg::Vec3 &, v, IN, float, radius,
Properties::NON_VIRTUAL,
__float__pixelSize__C5_Vec3_R1__float,
"Compute the pixel of an object at position v, with specified radius. ",
"");
I_Method1(float, pixelSize, IN, const osg::BoundingSphere &, bs,
Properties::NON_VIRTUAL,
__float__pixelSize__C5_BoundingSphere_R1,
"Compute the pixel of a bounding sphere. ",
"");
I_Method2(float, clampedPixelSize, IN, const osg::Vec3 &, v, IN, float, radius,
Properties::NON_VIRTUAL,
__float__clampedPixelSize__C5_Vec3_R1__float,
"Compute the pixel of an object at position v, with specified radius. ",
"fabs()ed to always be positive. ");
I_Method1(float, clampedPixelSize, IN, const osg::BoundingSphere &, bs,
Properties::NON_VIRTUAL,
__float__clampedPixelSize__C5_BoundingSphere_R1,
"Compute the pixel of a bounding sphere. ",
"fabs()ed to always be positive. ");
I_Method1(bool, isCulled, IN, const std::vector< osg::Vec3 > &, vertices,
Properties::NON_VIRTUAL,
__bool__isCulled__C5_std_vectorT1_Vec3__R1,
"",
"");
I_Method1(bool, isCulled, IN, const osg::BoundingBox &, bb,
Properties::NON_VIRTUAL,
__bool__isCulled__C5_BoundingBox_R1,
"",
"");
I_Method1(bool, isCulled, IN, const osg::BoundingSphere &, bs,
Properties::NON_VIRTUAL,
__bool__isCulled__C5_BoundingSphere_R1,
"",
"");
I_Method0(void, pushCurrentMask,
Properties::NON_VIRTUAL,
__void__pushCurrentMask,
"",
"");
I_Method0(void, popCurrentMask,
Properties::NON_VIRTUAL,
__void__popCurrentMask,
"",
"");
I_Method1(void, disableAndPushOccludersCurrentMask, IN, osg::NodePath &, nodePath,
Properties::NON_VIRTUAL,
__void__disableAndPushOccludersCurrentMask__NodePath_R1,
"",
"");
I_Method1(void, popOccludersCurrentMask, IN, osg::NodePath &, nodePath,
Properties::NON_VIRTUAL,
__void__popOccludersCurrentMask__NodePath_R1,
"",
"");
I_StaticMethod3(osg::Vec4, computePixelSizeVector, IN, const osg::Viewport &, W, IN, const osg::Matrix &, P, IN, const osg::Matrix &, M,
__osg_Vec4__computePixelSizeVector__C5_Viewport_R1__C5_Matrix_R1__C5_Matrix_R1_S,
"",
"");
I_SimpleProperty(osg::CullingSet::Mask, CullingMask,
__Mask__getCullingMask,
__void__setCullingMask__Mask);
I_SimpleProperty(osg::Polytope &, Frustum,
__Polytope_R1__getFrustum,
__void__setFrustum__Polytope_R1);
I_SimpleProperty(const osg::Vec4 &, PixelSizeVector,
__C5_Vec4_R1__getPixelSizeVector,
__void__setPixelSizeVector__C5_Vec4_R1);
I_SimpleProperty(float, SmallFeatureCullingPixelSize,
__float__getSmallFeatureCullingPixelSize,
__void__setSmallFeatureCullingPixelSize__float);
I_SimpleProperty(osg::CullingSet::StateFrustumList &, StateFrustumList,
__StateFrustumList_R1__getStateFrustumList,
0);
END_REFLECTOR
BEGIN_VALUE_REFLECTOR(osg::ref_ptr< osg::StateSet >)
I_DeclaringFile("osg/ref_ptr");
I_Constructor0(____ref_ptr,
"",
"");
I_Constructor1(IN, osg::StateSet *, ptr,
Properties::NON_EXPLICIT,
____ref_ptr__T_P1,
"",
"");
I_Constructor1(IN, const osg::ref_ptr< osg::StateSet > &, rp,
Properties::NON_EXPLICIT,
____ref_ptr__C5_ref_ptr_R1,
"",
"");
I_Constructor1(IN, osg::observer_ptr< osg::StateSet > &, optr,
Properties::NON_EXPLICIT,
____ref_ptr__observer_ptrT1_T__R1,
"",
"");
I_Method0(osg::StateSet *, get,
Properties::NON_VIRTUAL,
__T_P1__get,
"",
"");
I_Method0(bool, valid,
Properties::NON_VIRTUAL,
__bool__valid,
"",
"");
I_Method0(osg::StateSet *, release,
Properties::NON_VIRTUAL,
__T_P1__release,
"",
"");
I_Method1(void, swap, IN, osg::ref_ptr< osg::StateSet > &, rp,
Properties::NON_VIRTUAL,
__void__swap__ref_ptr_R1,
"",
"");
I_SimpleProperty(osg::StateSet *, ,
__T_P1__get,
0);
END_REFLECTOR
STD_PAIR_REFLECTOR(std::pair< osg::ref_ptr< osg::StateSet > COMMA osg::Polytope >)
STD_VECTOR_REFLECTOR(std::vector< osg::CullingSet::StateFrustumPair >)

View File

@ -1,93 +0,0 @@
// ***************************************************************************
//
// Generated automatically by genwrapper.
// Please DO NOT EDIT this file!
//
// ***************************************************************************
#include <osgIntrospection/ReflectionMacros>
#include <osgIntrospection/TypedMethodInfo>
#include <osgIntrospection/StaticMethodInfo>
#include <osgIntrospection/Attributes>
#include <osg/DeleteHandler>
#include <osg/Referenced>
// Must undefine IN and OUT macros defined in Windows headers
#ifdef IN
#undef IN
#endif
#ifdef OUT
#undef OUT
#endif
#include <osg/observer_ptr>
TYPE_NAME_ALIAS(std::pair< int COMMA const osg::Referenced * >, osg::DeleteHandler::FrameNumberObjectPair)
TYPE_NAME_ALIAS(std::list< osg::DeleteHandler::FrameNumberObjectPair >, osg::DeleteHandler::ObjectsToDeleteList)
BEGIN_OBJECT_REFLECTOR(osg::DeleteHandler)
I_DeclaringFile("osg/DeleteHandler");
I_ConstructorWithDefaults1(IN, int, numberOfFramesToRetainObjects, 0,
Properties::NON_EXPLICIT,
____DeleteHandler__int,
"",
"");
I_Method1(void, setNumFramesToRetainObjects, IN, int, numberOfFramesToRetainObjects,
Properties::NON_VIRTUAL,
__void__setNumFramesToRetainObjects__int,
"Set the number of frames to retain objects that are have been requested for deletion. ",
"When set to zero objects are deleted immediately, by set to 1 there are kept around for an extra frame etc. The ability to retain objects for several frames is useful to prevent premature deletion when objects are still be used the graphics threads that are using double buffering of rendering data structures with non ref_ptr<> pointers to scene graph elements. ");
I_Method0(int, getNumFramesToRetainObjects,
Properties::NON_VIRTUAL,
__int__getNumFramesToRetainObjects,
"",
"");
I_Method1(void, setFrameNumber, IN, int, frameNumber,
Properties::NON_VIRTUAL,
__void__setFrameNumber__int,
"Set the current frame number so that subsequent deletes get tagged as associated with this frame. ",
"");
I_Method0(int, getFrameNumber,
Properties::NON_VIRTUAL,
__int__getFrameNumber,
"Get the current frame number. ",
"");
I_Method1(void, doDelete, IN, const osg::Referenced *, object,
Properties::NON_VIRTUAL,
__void__doDelete__C5_Referenced_P1,
"",
"");
I_Method0(void, flush,
Properties::VIRTUAL,
__void__flush,
"Flush objects that ready to be fully deleted. ",
"");
I_Method0(void, flushAll,
Properties::VIRTUAL,
__void__flushAll,
"Flush all objects that the DeleteHandler holds. ",
"Note, this should only be called if there are no threads running with non ref_ptr<> pointers, such as graphics threads. ");
I_Method1(void, requestDelete, IN, const osg::Referenced *, object,
Properties::VIRTUAL,
__void__requestDelete__C5_osg_Referenced_P1,
"Request the deletion of an object. ",
"Depending on users implementation of DeleteHandler, the delete of the object may occur straight away or be delayed until doDelete is called. The default implementation does a delete straight away. ");
I_ProtectedConstructor1(IN, const osg::DeleteHandler &, x,
Properties::NON_EXPLICIT,
____DeleteHandler__C5_DeleteHandler_R1,
"",
"");
I_SimpleProperty(int, FrameNumber,
__int__getFrameNumber,
__void__setFrameNumber__int);
I_SimpleProperty(int, NumFramesToRetainObjects,
0,
__void__setNumFramesToRetainObjects__int);
END_REFLECTOR
STD_LIST_REFLECTOR(std::list< osg::DeleteHandler::FrameNumberObjectPair >)
STD_PAIR_REFLECTOR(std::pair< int COMMA const osg::Referenced * >)

View File

@ -1,158 +0,0 @@
// ***************************************************************************
//
// Generated automatically by genwrapper.
// Please DO NOT EDIT this file!
//
// ***************************************************************************
#include <osgIntrospection/ReflectionMacros>
#include <osgIntrospection/TypedMethodInfo>
#include <osgIntrospection/StaticMethodInfo>
#include <osgIntrospection/Attributes>
#include <osg/CopyOp>
#include <osg/Depth>
#include <osg/Object>
#include <osg/State>
#include <osg/StateAttribute>
// Must undefine IN and OUT macros defined in Windows headers
#ifdef IN
#undef IN
#endif
#ifdef OUT
#undef OUT
#endif
#include <osg/observer_ptr>
BEGIN_ENUM_REFLECTOR(osg::Depth::Function)
I_DeclaringFile("osg/Depth");
I_EnumLabel(osg::Depth::NEVER);
I_EnumLabel(osg::Depth::LESS);
I_EnumLabel(osg::Depth::EQUAL);
I_EnumLabel(osg::Depth::LEQUAL);
I_EnumLabel(osg::Depth::GREATER);
I_EnumLabel(osg::Depth::NOTEQUAL);
I_EnumLabel(osg::Depth::GEQUAL);
I_EnumLabel(osg::Depth::ALWAYS);
END_REFLECTOR
BEGIN_OBJECT_REFLECTOR(osg::Depth)
I_DeclaringFile("osg/Depth");
I_BaseType(osg::StateAttribute);
I_ConstructorWithDefaults4(IN, osg::Depth::Function, func, osg::Depth::LESS, IN, double, zNear, 0.0, IN, double, zFar, 1.0, IN, bool, writeMask, true,
____Depth__Function__double__double__bool,
"",
"");
I_ConstructorWithDefaults2(IN, const osg::Depth &, dp, , IN, const osg::CopyOp &, copyop, osg::CopyOp::SHALLOW_COPY,
____Depth__C5_Depth_R1__C5_CopyOp_R1,
"Copy constructor using CopyOp to manage deep vs shallow copy. ",
"");
I_Method0(osg::Object *, cloneType,
Properties::VIRTUAL,
__osg_Object_P1__cloneType,
"Clone the type of an attribute, with Object* return type. ",
"Must be defined by derived classes. ");
I_Method1(osg::Object *, clone, IN, const osg::CopyOp &, x,
Properties::VIRTUAL,
__osg_Object_P1__clone__C5_osg_CopyOp_R1,
"Clone an attribute, with Object* return type. ",
"Must be defined by derived classes. ");
I_Method1(bool, isSameKindAs, IN, const osg::Object *, obj,
Properties::VIRTUAL,
__bool__isSameKindAs__C5_osg_Object_P1,
"Return true if this and obj are of the same kind of object. ",
"");
I_Method0(const char *, libraryName,
Properties::VIRTUAL,
__C5_char_P1__libraryName,
"Return the name of the attribute's library. ",
"");
I_Method0(const char *, className,
Properties::VIRTUAL,
__C5_char_P1__className,
"Return the name of the attribute's class type. ",
"");
I_Method0(osg::StateAttribute::Type, getType,
Properties::VIRTUAL,
__Type__getType,
"Return the Type identifier of the attribute's class type. ",
"");
I_Method1(int, compare, IN, const osg::StateAttribute &, sa,
Properties::VIRTUAL,
__int__compare__C5_StateAttribute_R1,
"return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs. ",
"");
I_Method1(bool, getModeUsage, IN, osg::StateAttribute::ModeUsage &, x,
Properties::VIRTUAL,
__bool__getModeUsage__StateAttribute_ModeUsage_R1,
"Return the modes associated with this StateAttribute. ",
"");
I_Method1(void, setFunction, IN, osg::Depth::Function, func,
Properties::NON_VIRTUAL,
__void__setFunction__Function,
"",
"");
I_Method0(osg::Depth::Function, getFunction,
Properties::NON_VIRTUAL,
__Function__getFunction,
"",
"");
I_Method2(void, setRange, IN, double, zNear, IN, double, zFar,
Properties::NON_VIRTUAL,
__void__setRange__double__double,
"",
"");
I_Method1(void, setZNear, IN, double, zNear,
Properties::NON_VIRTUAL,
__void__setZNear__double,
"",
"");
I_Method0(double, getZNear,
Properties::NON_VIRTUAL,
__double__getZNear,
"",
"");
I_Method1(void, setZFar, IN, double, zFar,
Properties::NON_VIRTUAL,
__void__setZFar__double,
"",
"");
I_Method0(double, getZFar,
Properties::NON_VIRTUAL,
__double__getZFar,
"",
"");
I_Method1(void, setWriteMask, IN, bool, mask,
Properties::NON_VIRTUAL,
__void__setWriteMask__bool,
"",
"");
I_Method0(bool, getWriteMask,
Properties::NON_VIRTUAL,
__bool__getWriteMask,
"",
"");
I_Method1(void, apply, IN, osg::State &, x,
Properties::VIRTUAL,
__void__apply__State_R1,
"apply the OpenGL state attributes. ",
"The render info for the current OpenGL context is passed in to allow the StateAttribute to obtain details on the the current context and state. ");
I_SimpleProperty(osg::Depth::Function, Function,
__Function__getFunction,
__void__setFunction__Function);
I_SimpleProperty(osg::StateAttribute::Type, Type,
__Type__getType,
0);
I_SimpleProperty(bool, WriteMask,
__bool__getWriteMask,
__void__setWriteMask__bool);
I_SimpleProperty(double, ZFar,
__double__getZFar,
__void__setZFar__double);
I_SimpleProperty(double, ZNear,
__double__getZNear,
__void__setZNear__double);
END_REFLECTOR

View File

@ -1,640 +0,0 @@
// ***************************************************************************
//
// Generated automatically by genwrapper.
// Please DO NOT EDIT this file!
//
// ***************************************************************************
#include <osgIntrospection/ReflectionMacros>
#include <osgIntrospection/TypedMethodInfo>
#include <osgIntrospection/StaticMethodInfo>
#include <osgIntrospection/Attributes>
#include <osg/ArgumentParser>
#include <osg/DisplaySettings>
// Must undefine IN and OUT macros defined in Windows headers
#ifdef IN
#undef IN
#endif
#ifdef OUT
#undef OUT
#endif
#include <osg/observer_ptr>
BEGIN_ENUM_REFLECTOR(osg::DisplaySettings::DisplayType)
I_DeclaringFile("osg/DisplaySettings");
I_EnumLabel(osg::DisplaySettings::MONITOR);
I_EnumLabel(osg::DisplaySettings::POWERWALL);
I_EnumLabel(osg::DisplaySettings::REALITY_CENTER);
I_EnumLabel(osg::DisplaySettings::HEAD_MOUNTED_DISPLAY);
END_REFLECTOR
BEGIN_ENUM_REFLECTOR(osg::DisplaySettings::StereoMode)
I_DeclaringFile("osg/DisplaySettings");
I_EnumLabel(osg::DisplaySettings::QUAD_BUFFER);
I_EnumLabel(osg::DisplaySettings::ANAGLYPHIC);
I_EnumLabel(osg::DisplaySettings::HORIZONTAL_SPLIT);
I_EnumLabel(osg::DisplaySettings::VERTICAL_SPLIT);
I_EnumLabel(osg::DisplaySettings::LEFT_EYE);
I_EnumLabel(osg::DisplaySettings::RIGHT_EYE);
I_EnumLabel(osg::DisplaySettings::HORIZONTAL_INTERLACE);
I_EnumLabel(osg::DisplaySettings::VERTICAL_INTERLACE);
I_EnumLabel(osg::DisplaySettings::CHECKERBOARD);
END_REFLECTOR
BEGIN_ENUM_REFLECTOR(osg::DisplaySettings::SplitStereoHorizontalEyeMapping)
I_DeclaringFile("osg/DisplaySettings");
I_EnumLabel(osg::DisplaySettings::LEFT_EYE_LEFT_VIEWPORT);
I_EnumLabel(osg::DisplaySettings::LEFT_EYE_RIGHT_VIEWPORT);
END_REFLECTOR
BEGIN_ENUM_REFLECTOR(osg::DisplaySettings::SplitStereoVerticalEyeMapping)
I_DeclaringFile("osg/DisplaySettings");
I_EnumLabel(osg::DisplaySettings::LEFT_EYE_TOP_VIEWPORT);
I_EnumLabel(osg::DisplaySettings::LEFT_EYE_BOTTOM_VIEWPORT);
END_REFLECTOR
BEGIN_ENUM_REFLECTOR(osg::DisplaySettings::ImplicitBufferAttachment)
I_DeclaringFile("osg/DisplaySettings");
I_EnumLabel(osg::DisplaySettings::IMPLICIT_DEPTH_BUFFER_ATTACHMENT);
I_EnumLabel(osg::DisplaySettings::IMPLICIT_STENCIL_BUFFER_ATTACHMENT);
I_EnumLabel(osg::DisplaySettings::IMPLICIT_COLOR_BUFFER_ATTACHMENT);
I_EnumLabel(osg::DisplaySettings::DEFAULT_IMPLICIT_BUFFER_ATTACHMENT);
END_REFLECTOR
TYPE_NAME_ALIAS(int, osg::DisplaySettings::ImplicitBufferAttachmentMask)
BEGIN_OBJECT_REFLECTOR(osg::DisplaySettings)
I_DeclaringFile("osg/DisplaySettings");
I_BaseType(osg::Referenced);
I_StaticMethod0(osg::ref_ptr< osg::DisplaySettings > &, instance,
__ref_ptrT1_DisplaySettings__R1__instance_S,
"Maintain a DisplaySettings singleton for objects to query at runtime. ",
"");
I_Constructor0(____DisplaySettings,
"",
"");
I_Constructor1(IN, osg::ArgumentParser &, arguments,
Properties::NON_EXPLICIT,
____DisplaySettings__ArgumentParser_R1,
"",
"");
I_Constructor1(IN, const osg::DisplaySettings &, vs,
Properties::NON_EXPLICIT,
____DisplaySettings__C5_DisplaySettings_R1,
"",
"");
I_Method1(void, setDisplaySettings, IN, const osg::DisplaySettings &, vs,
Properties::NON_VIRTUAL,
__void__setDisplaySettings__C5_DisplaySettings_R1,
"",
"");
I_Method1(void, merge, IN, const osg::DisplaySettings &, vs,
Properties::NON_VIRTUAL,
__void__merge__C5_DisplaySettings_R1,
"",
"");
I_Method0(void, setDefaults,
Properties::NON_VIRTUAL,
__void__setDefaults,
"",
"");
I_Method0(void, readEnvironmentalVariables,
Properties::NON_VIRTUAL,
__void__readEnvironmentalVariables,
"read the environmental variables. ",
"");
I_Method1(void, readCommandLine, IN, osg::ArgumentParser &, arguments,
Properties::NON_VIRTUAL,
__void__readCommandLine__ArgumentParser_R1,
"read the commandline arguments. ",
"");
I_Method1(void, setDisplayType, IN, osg::DisplaySettings::DisplayType, type,
Properties::NON_VIRTUAL,
__void__setDisplayType__DisplayType,
"",
"");
I_Method0(osg::DisplaySettings::DisplayType, getDisplayType,
Properties::NON_VIRTUAL,
__DisplayType__getDisplayType,
"",
"");
I_Method1(void, setStereo, IN, bool, on,
Properties::NON_VIRTUAL,
__void__setStereo__bool,
"",
"");
I_Method0(bool, getStereo,
Properties::NON_VIRTUAL,
__bool__getStereo,
"",
"");
I_Method1(void, setStereoMode, IN, osg::DisplaySettings::StereoMode, mode,
Properties::NON_VIRTUAL,
__void__setStereoMode__StereoMode,
"",
"");
I_Method0(osg::DisplaySettings::StereoMode, getStereoMode,
Properties::NON_VIRTUAL,
__StereoMode__getStereoMode,
"",
"");
I_Method1(void, setEyeSeparation, IN, float, eyeSeparation,
Properties::NON_VIRTUAL,
__void__setEyeSeparation__float,
"",
"");
I_Method0(float, getEyeSeparation,
Properties::NON_VIRTUAL,
__float__getEyeSeparation,
"",
"");
I_Method1(void, setSplitStereoHorizontalEyeMapping, IN, osg::DisplaySettings::SplitStereoHorizontalEyeMapping, m,
Properties::NON_VIRTUAL,
__void__setSplitStereoHorizontalEyeMapping__SplitStereoHorizontalEyeMapping,
"",
"");
I_Method0(osg::DisplaySettings::SplitStereoHorizontalEyeMapping, getSplitStereoHorizontalEyeMapping,
Properties::NON_VIRTUAL,
__SplitStereoHorizontalEyeMapping__getSplitStereoHorizontalEyeMapping,
"",
"");
I_Method1(void, setSplitStereoHorizontalSeparation, IN, int, s,
Properties::NON_VIRTUAL,
__void__setSplitStereoHorizontalSeparation__int,
"",
"");
I_Method0(int, getSplitStereoHorizontalSeparation,
Properties::NON_VIRTUAL,
__int__getSplitStereoHorizontalSeparation,
"",
"");
I_Method1(void, setSplitStereoVerticalEyeMapping, IN, osg::DisplaySettings::SplitStereoVerticalEyeMapping, m,
Properties::NON_VIRTUAL,
__void__setSplitStereoVerticalEyeMapping__SplitStereoVerticalEyeMapping,
"",
"");
I_Method0(osg::DisplaySettings::SplitStereoVerticalEyeMapping, getSplitStereoVerticalEyeMapping,
Properties::NON_VIRTUAL,
__SplitStereoVerticalEyeMapping__getSplitStereoVerticalEyeMapping,
"",
"");
I_Method1(void, setSplitStereoVerticalSeparation, IN, int, s,
Properties::NON_VIRTUAL,
__void__setSplitStereoVerticalSeparation__int,
"",
"");
I_Method0(int, getSplitStereoVerticalSeparation,
Properties::NON_VIRTUAL,
__int__getSplitStereoVerticalSeparation,
"",
"");
I_Method1(void, setSplitStereoAutoAdjustAspectRatio, IN, bool, flag,
Properties::NON_VIRTUAL,
__void__setSplitStereoAutoAdjustAspectRatio__bool,
"",
"");
I_Method0(bool, getSplitStereoAutoAdjustAspectRatio,
Properties::NON_VIRTUAL,
__bool__getSplitStereoAutoAdjustAspectRatio,
"",
"");
I_Method1(void, setScreenWidth, IN, float, width,
Properties::NON_VIRTUAL,
__void__setScreenWidth__float,
"",
"");
I_Method0(float, getScreenWidth,
Properties::NON_VIRTUAL,
__float__getScreenWidth,
"",
"");
I_Method1(void, setScreenHeight, IN, float, height,
Properties::NON_VIRTUAL,
__void__setScreenHeight__float,
"",
"");
I_Method0(float, getScreenHeight,
Properties::NON_VIRTUAL,
__float__getScreenHeight,
"",
"");
I_Method1(void, setScreenDistance, IN, float, distance,
Properties::NON_VIRTUAL,
__void__setScreenDistance__float,
"",
"");
I_Method0(float, getScreenDistance,
Properties::NON_VIRTUAL,
__float__getScreenDistance,
"",
"");
I_Method1(void, setDoubleBuffer, IN, bool, flag,
Properties::NON_VIRTUAL,
__void__setDoubleBuffer__bool,
"",
"");
I_Method0(bool, getDoubleBuffer,
Properties::NON_VIRTUAL,
__bool__getDoubleBuffer,
"",
"");
I_Method1(void, setRGB, IN, bool, flag,
Properties::NON_VIRTUAL,
__void__setRGB__bool,
"",
"");
I_Method0(bool, getRGB,
Properties::NON_VIRTUAL,
__bool__getRGB,
"",
"");
I_Method1(void, setDepthBuffer, IN, bool, flag,
Properties::NON_VIRTUAL,
__void__setDepthBuffer__bool,
"",
"");
I_Method0(bool, getDepthBuffer,
Properties::NON_VIRTUAL,
__bool__getDepthBuffer,
"",
"");
I_Method1(void, setMinimumNumAlphaBits, IN, unsigned int, bits,
Properties::NON_VIRTUAL,
__void__setMinimumNumAlphaBits__unsigned_int,
"",
"");
I_Method0(unsigned int, getMinimumNumAlphaBits,
Properties::NON_VIRTUAL,
__unsigned_int__getMinimumNumAlphaBits,
"",
"");
I_Method0(bool, getAlphaBuffer,
Properties::NON_VIRTUAL,
__bool__getAlphaBuffer,
"",
"");
I_Method1(void, setMinimumNumStencilBits, IN, unsigned int, bits,
Properties::NON_VIRTUAL,
__void__setMinimumNumStencilBits__unsigned_int,
"",
"");
I_Method0(unsigned int, getMinimumNumStencilBits,
Properties::NON_VIRTUAL,
__unsigned_int__getMinimumNumStencilBits,
"",
"");
I_Method0(bool, getStencilBuffer,
Properties::NON_VIRTUAL,
__bool__getStencilBuffer,
"",
"");
I_Method4(void, setMinimumNumAccumBits, IN, unsigned int, red, IN, unsigned int, green, IN, unsigned int, blue, IN, unsigned int, alpha,
Properties::NON_VIRTUAL,
__void__setMinimumNumAccumBits__unsigned_int__unsigned_int__unsigned_int__unsigned_int,
"",
"");
I_Method0(unsigned int, getMinimumNumAccumRedBits,
Properties::NON_VIRTUAL,
__unsigned_int__getMinimumNumAccumRedBits,
"",
"");
I_Method0(unsigned int, getMinimumNumAccumGreenBits,
Properties::NON_VIRTUAL,
__unsigned_int__getMinimumNumAccumGreenBits,
"",
"");
I_Method0(unsigned int, getMinimumNumAccumBlueBits,
Properties::NON_VIRTUAL,
__unsigned_int__getMinimumNumAccumBlueBits,
"",
"");
I_Method0(unsigned int, getMinimumNumAccumAlphaBits,
Properties::NON_VIRTUAL,
__unsigned_int__getMinimumNumAccumAlphaBits,
"",
"");
I_Method0(bool, getAccumBuffer,
Properties::NON_VIRTUAL,
__bool__getAccumBuffer,
"",
"");
I_Method1(void, setMaxNumberOfGraphicsContexts, IN, unsigned int, num,
Properties::NON_VIRTUAL,
__void__setMaxNumberOfGraphicsContexts__unsigned_int,
"",
"");
I_Method0(unsigned int, getMaxNumberOfGraphicsContexts,
Properties::NON_VIRTUAL,
__unsigned_int__getMaxNumberOfGraphicsContexts,
"",
"");
I_Method1(void, setNumMultiSamples, IN, unsigned int, samples,
Properties::NON_VIRTUAL,
__void__setNumMultiSamples__unsigned_int,
"",
"");
I_Method0(unsigned int, getNumMultiSamples,
Properties::NON_VIRTUAL,
__unsigned_int__getNumMultiSamples,
"",
"");
I_Method0(bool, getMultiSamples,
Properties::NON_VIRTUAL,
__bool__getMultiSamples,
"",
"");
I_Method1(void, setCompileContextsHint, IN, bool, useCompileContexts,
Properties::NON_VIRTUAL,
__void__setCompileContextsHint__bool,
"",
"");
I_Method0(bool, getCompileContextsHint,
Properties::NON_VIRTUAL,
__bool__getCompileContextsHint,
"",
"");
I_Method1(void, setSerializeDrawDispatch, IN, bool, serializeDrawDispatch,
Properties::NON_VIRTUAL,
__void__setSerializeDrawDispatch__bool,
"",
"");
I_Method0(bool, getSerializeDrawDispatch,
Properties::NON_VIRTUAL,
__bool__getSerializeDrawDispatch,
"",
"");
I_Method1(void, setNumOfDatabaseThreadsHint, IN, unsigned int, numThreads,
Properties::NON_VIRTUAL,
__void__setNumOfDatabaseThreadsHint__unsigned_int,
"Set the hint for the total number of threads in the DatbasePager set up, inclusive of the number of http dedicated threads. ",
"");
I_Method0(unsigned int, getNumOfDatabaseThreadsHint,
Properties::NON_VIRTUAL,
__unsigned_int__getNumOfDatabaseThreadsHint,
"Get the hint for total number of threads in the DatbasePager set up, inclusive of the number of http dedicated threads. ",
"");
I_Method1(void, setNumOfHttpDatabaseThreadsHint, IN, unsigned int, numThreads,
Properties::NON_VIRTUAL,
__void__setNumOfHttpDatabaseThreadsHint__unsigned_int,
"Set the hint for number of threads in the DatbasePager to dedicate to reading http requests. ",
"");
I_Method0(unsigned int, getNumOfHttpDatabaseThreadsHint,
Properties::NON_VIRTUAL,
__unsigned_int__getNumOfHttpDatabaseThreadsHint,
"Get the hint for number of threads in the DatbasePager dedicated to reading http requests. ",
"");
I_Method1(void, setApplication, IN, const std::string &, application,
Properties::NON_VIRTUAL,
__void__setApplication__C5_std_string_R1,
"",
"");
I_Method0(const std::string &, getApplication,
Properties::NON_VIRTUAL,
__C5_std_string_R1__getApplication,
"",
"");
I_Method1(void, setMaxTexturePoolSize, IN, unsigned int, size,
Properties::NON_VIRTUAL,
__void__setMaxTexturePoolSize__unsigned_int,
"",
"");
I_Method0(unsigned int, getMaxTexturePoolSize,
Properties::NON_VIRTUAL,
__unsigned_int__getMaxTexturePoolSize,
"",
"");
I_Method1(void, setMaxBufferObjectPoolSize, IN, unsigned int, size,
Properties::NON_VIRTUAL,
__void__setMaxBufferObjectPoolSize__unsigned_int,
"",
"");
I_Method0(unsigned int, getMaxBufferObjectPoolSize,
Properties::NON_VIRTUAL,
__unsigned_int__getMaxBufferObjectPoolSize,
"",
"");
I_MethodWithDefaults2(void, setImplicitBufferAttachmentMask, IN, osg::DisplaySettings::ImplicitBufferAttachmentMask, renderMask, osg::DisplaySettings::DEFAULT_IMPLICIT_BUFFER_ATTACHMENT, IN, osg::DisplaySettings::ImplicitBufferAttachmentMask, resolveMask, osg::DisplaySettings::DEFAULT_IMPLICIT_BUFFER_ATTACHMENT,
Properties::NON_VIRTUAL,
__void__setImplicitBufferAttachmentMask__ImplicitBufferAttachmentMask__ImplicitBufferAttachmentMask,
"",
"");
I_Method1(void, setImplicitBufferAttachmentRenderMask, IN, osg::DisplaySettings::ImplicitBufferAttachmentMask, implicitBufferAttachmentRenderMask,
Properties::NON_VIRTUAL,
__void__setImplicitBufferAttachmentRenderMask__ImplicitBufferAttachmentMask,
"",
"");
I_Method1(void, setImplicitBufferAttachmentResolveMask, IN, osg::DisplaySettings::ImplicitBufferAttachmentMask, implicitBufferAttachmentResolveMask,
Properties::NON_VIRTUAL,
__void__setImplicitBufferAttachmentResolveMask__ImplicitBufferAttachmentMask,
"",
"");
I_Method0(osg::DisplaySettings::ImplicitBufferAttachmentMask, getImplicitBufferAttachmentRenderMask,
Properties::NON_VIRTUAL,
__ImplicitBufferAttachmentMask__getImplicitBufferAttachmentRenderMask,
"Get mask selecting default implict buffer attachments for Cameras primary FBOs. ",
"");
I_Method0(osg::DisplaySettings::ImplicitBufferAttachmentMask, getImplicitBufferAttachmentResolveMask,
Properties::NON_VIRTUAL,
__ImplicitBufferAttachmentMask__getImplicitBufferAttachmentResolveMask,
"Get mask selecting default implict buffer attachments for Cameras secondary MULTISAMPLE FBOs. ",
"");
I_Method1(void, setGLContextVersion, IN, const std::string &, version,
Properties::NON_VIRTUAL,
__void__setGLContextVersion__C5_std_string_R1,
"Set the hint of which OpenGL version to attempt to create a graphics context for. ",
"");
I_Method0(const std::string, getGLContextVersion,
Properties::NON_VIRTUAL,
__C5_std_string__getGLContextVersion,
"Get the hint of which OpenGL version to attempt to create a graphics context for. ",
"");
I_Method1(void, setGLContextFlags, IN, unsigned int, flags,
Properties::NON_VIRTUAL,
__void__setGLContextFlags__unsigned_int,
"Set the hint of the flags to use in when creating graphic contexts. ",
"");
I_Method0(unsigned int, getGLContextFlags,
Properties::NON_VIRTUAL,
__unsigned_int__getGLContextFlags,
"Get the hint of the flags to use in when creating graphic contexts. ",
"");
I_Method1(void, setGLContextProfileMask, IN, unsigned int, mask,
Properties::NON_VIRTUAL,
__void__setGLContextProfileMask__unsigned_int,
"Set the hint of the profile mask to use in when creating graphic contexts. ",
"");
I_Method0(unsigned int, getGLContextProfileMask,
Properties::NON_VIRTUAL,
__unsigned_int__getGLContextProfileMask,
"Get the hint of the profile mask to use in when creating graphic contexts. ",
"");
I_SimpleProperty(bool, AccumBuffer,
__bool__getAccumBuffer,
0);
I_SimpleProperty(bool, AlphaBuffer,
__bool__getAlphaBuffer,
0);
I_SimpleProperty(const std::string &, Application,
__C5_std_string_R1__getApplication,
__void__setApplication__C5_std_string_R1);
I_SimpleProperty(bool, CompileContextsHint,
__bool__getCompileContextsHint,
__void__setCompileContextsHint__bool);
I_SimpleProperty(bool, DepthBuffer,
__bool__getDepthBuffer,
__void__setDepthBuffer__bool);
I_SimpleProperty(const osg::DisplaySettings &, DisplaySettings,
0,
__void__setDisplaySettings__C5_DisplaySettings_R1);
I_SimpleProperty(osg::DisplaySettings::DisplayType, DisplayType,
__DisplayType__getDisplayType,
__void__setDisplayType__DisplayType);
I_SimpleProperty(bool, DoubleBuffer,
__bool__getDoubleBuffer,
__void__setDoubleBuffer__bool);
I_SimpleProperty(float, EyeSeparation,
__float__getEyeSeparation,
__void__setEyeSeparation__float);
I_SimpleProperty(unsigned int, GLContextFlags,
__unsigned_int__getGLContextFlags,
__void__setGLContextFlags__unsigned_int);
I_SimpleProperty(unsigned int, GLContextProfileMask,
__unsigned_int__getGLContextProfileMask,
__void__setGLContextProfileMask__unsigned_int);
I_SimpleProperty(const std::string &, GLContextVersion,
0,
__void__setGLContextVersion__C5_std_string_R1);
I_SimpleProperty(osg::DisplaySettings::ImplicitBufferAttachmentMask, ImplicitBufferAttachmentRenderMask,
__ImplicitBufferAttachmentMask__getImplicitBufferAttachmentRenderMask,
__void__setImplicitBufferAttachmentRenderMask__ImplicitBufferAttachmentMask);
I_SimpleProperty(osg::DisplaySettings::ImplicitBufferAttachmentMask, ImplicitBufferAttachmentResolveMask,
__ImplicitBufferAttachmentMask__getImplicitBufferAttachmentResolveMask,
__void__setImplicitBufferAttachmentResolveMask__ImplicitBufferAttachmentMask);
I_SimpleProperty(unsigned int, MaxBufferObjectPoolSize,
__unsigned_int__getMaxBufferObjectPoolSize,
__void__setMaxBufferObjectPoolSize__unsigned_int);
I_SimpleProperty(unsigned int, MaxNumberOfGraphicsContexts,
__unsigned_int__getMaxNumberOfGraphicsContexts,
__void__setMaxNumberOfGraphicsContexts__unsigned_int);
I_SimpleProperty(unsigned int, MaxTexturePoolSize,
__unsigned_int__getMaxTexturePoolSize,
__void__setMaxTexturePoolSize__unsigned_int);
I_SimpleProperty(unsigned int, MinimumNumAccumAlphaBits,
__unsigned_int__getMinimumNumAccumAlphaBits,
0);
I_SimpleProperty(unsigned int, MinimumNumAccumBlueBits,
__unsigned_int__getMinimumNumAccumBlueBits,
0);
I_SimpleProperty(unsigned int, MinimumNumAccumGreenBits,
__unsigned_int__getMinimumNumAccumGreenBits,
0);
I_SimpleProperty(unsigned int, MinimumNumAccumRedBits,
__unsigned_int__getMinimumNumAccumRedBits,
0);
I_SimpleProperty(unsigned int, MinimumNumAlphaBits,
__unsigned_int__getMinimumNumAlphaBits,
__void__setMinimumNumAlphaBits__unsigned_int);
I_SimpleProperty(unsigned int, MinimumNumStencilBits,
__unsigned_int__getMinimumNumStencilBits,
__void__setMinimumNumStencilBits__unsigned_int);
I_SimpleProperty(bool, MultiSamples,
__bool__getMultiSamples,
0);
I_SimpleProperty(unsigned int, NumMultiSamples,
0,
__void__setNumMultiSamples__unsigned_int);
I_SimpleProperty(unsigned int, NumOfDatabaseThreadsHint,
0,
__void__setNumOfDatabaseThreadsHint__unsigned_int);
I_SimpleProperty(unsigned int, NumOfHttpDatabaseThreadsHint,
0,
__void__setNumOfHttpDatabaseThreadsHint__unsigned_int);
I_SimpleProperty(bool, RGB,
__bool__getRGB,
__void__setRGB__bool);
I_SimpleProperty(float, ScreenDistance,
__float__getScreenDistance,
__void__setScreenDistance__float);
I_SimpleProperty(float, ScreenHeight,
__float__getScreenHeight,
__void__setScreenHeight__float);
I_SimpleProperty(float, ScreenWidth,
__float__getScreenWidth,
__void__setScreenWidth__float);
I_SimpleProperty(bool, SerializeDrawDispatch,
__bool__getSerializeDrawDispatch,
__void__setSerializeDrawDispatch__bool);
I_SimpleProperty(bool, SplitStereoAutoAdjustAspectRatio,
__bool__getSplitStereoAutoAdjustAspectRatio,
__void__setSplitStereoAutoAdjustAspectRatio__bool);
I_SimpleProperty(osg::DisplaySettings::SplitStereoHorizontalEyeMapping, SplitStereoHorizontalEyeMapping,
__SplitStereoHorizontalEyeMapping__getSplitStereoHorizontalEyeMapping,
__void__setSplitStereoHorizontalEyeMapping__SplitStereoHorizontalEyeMapping);
I_SimpleProperty(int, SplitStereoHorizontalSeparation,
__int__getSplitStereoHorizontalSeparation,
__void__setSplitStereoHorizontalSeparation__int);
I_SimpleProperty(osg::DisplaySettings::SplitStereoVerticalEyeMapping, SplitStereoVerticalEyeMapping,
__SplitStereoVerticalEyeMapping__getSplitStereoVerticalEyeMapping,
__void__setSplitStereoVerticalEyeMapping__SplitStereoVerticalEyeMapping);
I_SimpleProperty(int, SplitStereoVerticalSeparation,
__int__getSplitStereoVerticalSeparation,
__void__setSplitStereoVerticalSeparation__int);
I_SimpleProperty(bool, StencilBuffer,
__bool__getStencilBuffer,
0);
I_SimpleProperty(bool, Stereo,
__bool__getStereo,
__void__setStereo__bool);
I_SimpleProperty(osg::DisplaySettings::StereoMode, StereoMode,
__StereoMode__getStereoMode,
__void__setStereoMode__StereoMode);
END_REFLECTOR
BEGIN_VALUE_REFLECTOR(osg::ref_ptr< osg::DisplaySettings >)
I_DeclaringFile("osg/ref_ptr");
I_Constructor0(____ref_ptr,
"",
"");
I_Constructor1(IN, osg::DisplaySettings *, ptr,
Properties::NON_EXPLICIT,
____ref_ptr__T_P1,
"",
"");
I_Constructor1(IN, const osg::ref_ptr< osg::DisplaySettings > &, rp,
Properties::NON_EXPLICIT,
____ref_ptr__C5_ref_ptr_R1,
"",
"");
I_Constructor1(IN, osg::observer_ptr< osg::DisplaySettings > &, optr,
Properties::NON_EXPLICIT,
____ref_ptr__observer_ptrT1_T__R1,
"",
"");
I_Method0(osg::DisplaySettings *, get,
Properties::NON_VIRTUAL,
__T_P1__get,
"",
"");
I_Method0(bool, valid,
Properties::NON_VIRTUAL,
__bool__valid,
"",
"");
I_Method0(osg::DisplaySettings *, release,
Properties::NON_VIRTUAL,
__T_P1__release,
"",
"");
I_Method1(void, swap, IN, osg::ref_ptr< osg::DisplaySettings > &, rp,
Properties::NON_VIRTUAL,
__void__swap__ref_ptr_R1,
"",
"");
I_SimpleProperty(osg::DisplaySettings *, ,
__T_P1__get,
0);
END_REFLECTOR

View File

@ -1,136 +0,0 @@
// ***************************************************************************
//
// Generated automatically by genwrapper.
// Please DO NOT EDIT this file!
//
// ***************************************************************************
#include <osgIntrospection/ReflectionMacros>
#include <osgIntrospection/TypedMethodInfo>
#include <osgIntrospection/StaticMethodInfo>
#include <osgIntrospection/Attributes>
#include <osg/BoundingBox>
#include <osg/CopyOp>
#include <osg/DrawPixels>
#include <osg/Image>
#include <osg/Object>
#include <osg/RenderInfo>
#include <osg/Vec3>
// Must undefine IN and OUT macros defined in Windows headers
#ifdef IN
#undef IN
#endif
#ifdef OUT
#undef OUT
#endif
#include <osg/observer_ptr>
BEGIN_OBJECT_REFLECTOR(osg::DrawPixels)
I_DeclaringFile("osg/DrawPixels");
I_BaseType(osg::Drawable);
I_Constructor0(____DrawPixels,
"",
"");
I_ConstructorWithDefaults2(IN, const osg::DrawPixels &, drawimage, , IN, const osg::CopyOp &, copyop, osg::CopyOp::SHALLOW_COPY,
____DrawPixels__C5_DrawPixels_R1__C5_CopyOp_R1,
"Copy constructor using CopyOp to manage deep vs shallow copy. ",
"");
I_Method0(osg::Object *, cloneType,
Properties::VIRTUAL,
__Object_P1__cloneType,
"Clone the type of an object, with Object* return type. ",
"Must be defined by derived classes. ");
I_Method1(osg::Object *, clone, IN, const osg::CopyOp &, x,
Properties::VIRTUAL,
__Object_P1__clone__C5_CopyOp_R1,
"Clone an object, with Object* return type. ",
"Must be defined by derived classes. ");
I_Method1(bool, isSameKindAs, IN, const osg::Object *, obj,
Properties::VIRTUAL,
__bool__isSameKindAs__C5_Object_P1,
"",
"");
I_Method0(const char *, libraryName,
Properties::VIRTUAL,
__C5_char_P1__libraryName,
"return the name of the object's library. ",
"Must be defined by derived classes. The OpenSceneGraph convention is that the namespace of a library is the same as the library name. ");
I_Method0(const char *, className,
Properties::VIRTUAL,
__C5_char_P1__className,
"return the name of the object's class type. ",
"Must be defined by derived classes. ");
I_Method1(void, setPosition, IN, const osg::Vec3 &, position,
Properties::NON_VIRTUAL,
__void__setPosition__C5_osg_Vec3_R1,
"",
"");
I_Method0(osg::Vec3 &, getPosition,
Properties::NON_VIRTUAL,
__osg_Vec3_R1__getPosition,
"",
"");
I_Method0(const osg::Vec3 &, getPosition,
Properties::NON_VIRTUAL,
__C5_osg_Vec3_R1__getPosition,
"",
"");
I_Method1(void, setImage, IN, osg::Image *, image,
Properties::NON_VIRTUAL,
__void__setImage__osg_Image_P1,
"",
"");
I_Method0(osg::Image *, getImage,
Properties::NON_VIRTUAL,
__osg_Image_P1__getImage,
"",
"");
I_Method0(const osg::Image *, getImage,
Properties::NON_VIRTUAL,
__C5_osg_Image_P1__getImage,
"",
"");
I_Method1(void, setUseSubImage, IN, bool, useSubImage,
Properties::NON_VIRTUAL,
__void__setUseSubImage__bool,
"",
"");
I_Method0(bool, getUseSubImage,
Properties::NON_VIRTUAL,
__bool__getUseSubImage,
"",
"");
I_Method4(void, setSubImageDimensions, IN, unsigned int, offsetX, IN, unsigned int, offsetY, IN, unsigned int, width, IN, unsigned int, height,
Properties::NON_VIRTUAL,
__void__setSubImageDimensions__unsigned_int__unsigned_int__unsigned_int__unsigned_int,
"",
"");
I_Method4(void, getSubImageDimensions, IN, unsigned int &, offsetX, IN, unsigned int &, offsetY, IN, unsigned int &, width, IN, unsigned int &, height,
Properties::NON_VIRTUAL,
__void__getSubImageDimensions__unsigned_int_R1__unsigned_int_R1__unsigned_int_R1__unsigned_int_R1,
"",
"");
I_Method1(void, drawImplementation, IN, osg::RenderInfo &, renderInfo,
Properties::VIRTUAL,
__void__drawImplementation__RenderInfo_R1,
"drawImplementation(RenderInfo&) is a pure virtual method for the actual implementation of OpenGL drawing calls, such as vertex arrays and primitives, that must be implemented in concrete subclasses of the Drawable base class, examples include osg::Geometry and osg::ShapeDrawable. ",
" param renderInfo The osg::RenderInfo object that encapsulates the current rendering information including the osg::State OpenGL state for the current graphics context. ");
I_Method0(osg::BoundingBox, computeBound,
Properties::VIRTUAL,
__BoundingBox__computeBound,
"Compute the bounding box around Drawables's geometry. ",
"");
I_SimpleProperty(osg::Image *, Image,
__osg_Image_P1__getImage,
__void__setImage__osg_Image_P1);
I_SimpleProperty(const osg::Vec3 &, Position,
__C5_osg_Vec3_R1__getPosition,
__void__setPosition__C5_osg_Vec3_R1);
I_SimpleProperty(bool, UseSubImage,
__bool__getUseSubImage,
__void__setUseSubImage__bool);
END_REFLECTOR

View File

@ -1,910 +0,0 @@
// ***************************************************************************
//
// Generated automatically by genwrapper.
// Please DO NOT EDIT this file!
//
// ***************************************************************************
#include <osgIntrospection/ReflectionMacros>
#include <osgIntrospection/TypedMethodInfo>
#include <osgIntrospection/StaticMethodInfo>
#include <osgIntrospection/Attributes>
#include <osg/BoundingBox>
#include <osg/CopyOp>
#include <osg/Drawable>
#include <osg/Geometry>
#include <osg/Node>
#include <osg/NodeVisitor>
#include <osg/Object>
#include <osg/PrimitiveSet>
#include <osg/RenderInfo>
#include <osg/Shape>
#include <osg/State>
#include <osg/StateSet>
#include <osg/Vec2>
#include <osg/Vec2d>
#include <osg/Vec3>
#include <osg/Vec3d>
#include <osg/Vec4>
#include <osg/Vec4d>
#include <osg/Vec4ub>
// Must undefine IN and OUT macros defined in Windows headers
#ifdef IN
#undef IN
#endif
#ifdef OUT
#undef OUT
#endif
#include <osg/observer_ptr>
BEGIN_ENUM_REFLECTOR(osg::Drawable::AttributeTypes)
I_DeclaringFile("osg/Drawable");
I_EnumLabel(osg::Drawable::VERTICES);
I_EnumLabel(osg::Drawable::WEIGHTS);
I_EnumLabel(osg::Drawable::NORMALS);
I_EnumLabel(osg::Drawable::COLORS);
I_EnumLabel(osg::Drawable::SECONDARY_COLORS);
I_EnumLabel(osg::Drawable::FOG_COORDS);
I_EnumLabel(osg::Drawable::ATTRIBUTE_6);
I_EnumLabel(osg::Drawable::ATTRIBUTE_7);
I_EnumLabel(osg::Drawable::TEXTURE_COORDS);
I_EnumLabel(osg::Drawable::TEXTURE_COORDS_0);
I_EnumLabel(osg::Drawable::TEXTURE_COORDS_1);
I_EnumLabel(osg::Drawable::TEXTURE_COORDS_2);
I_EnumLabel(osg::Drawable::TEXTURE_COORDS_3);
I_EnumLabel(osg::Drawable::TEXTURE_COORDS_4);
I_EnumLabel(osg::Drawable::TEXTURE_COORDS_5);
I_EnumLabel(osg::Drawable::TEXTURE_COORDS_6);
I_EnumLabel(osg::Drawable::TEXTURE_COORDS_7);
END_REFLECTOR
TYPE_NAME_ALIAS(std::vector< osg::Node * >, osg::Drawable::ParentList)
TYPE_NAME_ALIAS(unsigned int, osg::Drawable::AttributeType)
BEGIN_ABSTRACT_OBJECT_REFLECTOR(osg::Drawable)
I_DeclaringFile("osg/Drawable");
I_BaseType(osg::Object);
I_Constructor0(____Drawable,
"",
"");
I_ConstructorWithDefaults2(IN, const osg::Drawable &, drawable, , IN, const osg::CopyOp &, copyop, osg::CopyOp::SHALLOW_COPY,
____Drawable__C5_Drawable_R1__C5_CopyOp_R1,
"Copy constructor using CopyOp to manage deep vs shallow copy. ",
"");
I_Method1(bool, isSameKindAs, IN, const osg::Object *, obj,
Properties::VIRTUAL,
__bool__isSameKindAs__C5_Object_P1,
"",
"");
I_Method0(const char *, libraryName,
Properties::VIRTUAL,
__C5_char_P1__libraryName,
"return the name of the object's library. ",
"Must be defined by derived classes. The OpenSceneGraph convention is that the namespace of a library is the same as the library name. ");
I_Method0(const char *, className,
Properties::VIRTUAL,
__C5_char_P1__className,
"return the name of the object's class type. ",
"Must be defined by derived classes. ");
I_Method0(osg::Geometry *, asGeometry,
Properties::VIRTUAL,
__Geometry_P1__asGeometry,
"Convert 'this' into a Geometry pointer if Drawable is a Geometry, otherwise return 0. ",
"Equivalent to dynamic_cast<Geometry*>(this). ");
I_Method0(const osg::Geometry *, asGeometry,
Properties::VIRTUAL,
__C5_Geometry_P1__asGeometry,
"Convert 'const this' into a const Geometry pointer if Drawable is a Geometry, otherwise return 0. ",
"Equivalent to dynamic_cast<const Geometry*>(this). ");
I_Method0(void, computeDataVariance,
Properties::VIRTUAL,
__void__computeDataVariance,
"Compute the DataVariance based on an assessment of callback etc. ",
"");
I_Method0(const osg::Drawable::ParentList &, getParents,
Properties::NON_VIRTUAL,
__C5_ParentList_R1__getParents,
"Get the parent list of drawable. ",
"");
I_Method0(osg::Drawable::ParentList, getParents,
Properties::NON_VIRTUAL,
__ParentList__getParents,
"Get the a copy of parent list of node. ",
"A copy is returned to prevent modification of the parent list. ");
I_Method1(osg::Node *, getParent, IN, unsigned int, i,
Properties::NON_VIRTUAL,
__Node_P1__getParent__unsigned_int,
"Get a single parent of Drawable. ",
" param i index of the parent to get. return the parent i. ");
I_Method1(const osg::Node *, getParent, IN, unsigned int, i,
Properties::NON_VIRTUAL,
__C5_Node_P1__getParent__unsigned_int,
"Get a single const parent of Drawable. ",
" param i index of the parent to get. return the parent i. ");
I_Method0(unsigned int, getNumParents,
Properties::NON_VIRTUAL,
__unsigned_int__getNumParents,
"Get the number of parents of node. ",
"the number of parents of this node. ");
I_MethodWithDefaults1(osg::MatrixList, getWorldMatrices, IN, const osg::Node *, haltTraversalAtNode, 0,
Properties::NON_VIRTUAL,
__MatrixList__getWorldMatrices__C5_osg_Node_P1,
"Get the list of matrices that transform this node from local coordinates to world coordinates. ",
"The optional Node* haltTraversalAtNode allows the user to prevent traversal beyond a specifed node. ");
I_Method1(void, setStateSet, IN, osg::StateSet *, stateset,
Properties::NON_VIRTUAL,
__void__setStateSet__StateSet_P1,
"Set the StateSet attached to the Drawable. ",
"Previously attached StateSet are automatically unreferenced on assignment of a new drawstate. ");
I_Method0(osg::StateSet *, getStateSet,
Properties::NON_VIRTUAL,
__StateSet_P1__getStateSet,
"Get the attached StateSet. ",
"");
I_Method0(const osg::StateSet *, getStateSet,
Properties::NON_VIRTUAL,
__C5_StateSet_P1__getStateSet,
"Get the attached const StateSet. ",
"");
I_Method0(osg::StateSet *, getOrCreateStateSet,
Properties::NON_VIRTUAL,
__StateSet_P1__getOrCreateStateSet,
"Get the attached const StateSet, if one is not already attached create one, attach it to the drawable and return a pointer to it. ",
"");
I_Method1(void, setInitialBound, IN, const osg::BoundingBox &, bbox,
Properties::NON_VIRTUAL,
__void__setInitialBound__C5_osg_BoundingBox_R1,
"Set the initial bounding volume to use when computing the overall bounding volume. ",
"");
I_Method0(const osg::BoundingBox &, getInitialBound,
Properties::NON_VIRTUAL,
__C5_BoundingBox_R1__getInitialBound,
"Set the initial bounding volume to use when computing the overall bounding volume. ",
"");
I_Method0(void, dirtyBound,
Properties::NON_VIRTUAL,
__void__dirtyBound,
"Dirty the bounding box, forcing a computeBound() on the next call to getBound(). ",
"Should be called in the internal geometry of the Drawable is modified. ");
I_Method0(const osg::BoundingBox &, getBound,
Properties::NON_VIRTUAL,
__C5_BoundingBox_R1__getBound,
"Get BoundingBox of Drawable. ",
"If the BoundingBox is not up to date then its updated via an internal call to computeBond(). ");
I_Method0(osg::BoundingBox, computeBound,
Properties::VIRTUAL,
__BoundingBox__computeBound,
"Compute the bounding box around Drawables's geometry. ",
"");
I_Method1(void, setComputeBoundingBoxCallback, IN, osg::Drawable::ComputeBoundingBoxCallback *, callback,
Properties::NON_VIRTUAL,
__void__setComputeBoundingBoxCallback__ComputeBoundingBoxCallback_P1,
"Set the compute bound callback to override the default computeBound. ",
"");
I_Method0(osg::Drawable::ComputeBoundingBoxCallback *, getComputeBoundingBoxCallback,
Properties::NON_VIRTUAL,
__ComputeBoundingBoxCallback_P1__getComputeBoundingBoxCallback,
"Get the compute bound callback. ",
"");
I_Method0(const osg::Drawable::ComputeBoundingBoxCallback *, getComputeBoundingBoxCallback,
Properties::NON_VIRTUAL,
__C5_ComputeBoundingBoxCallback_P1__getComputeBoundingBoxCallback,
"Get the const compute bound callback. ",
"");
I_Method1(void, setShape, IN, osg::Shape *, shape,
Properties::NON_VIRTUAL,
__void__setShape__Shape_P1,
"Set the Shape of the Drawable. ",
"The shape can be used to speed up collision detection or as a guide for procedural geometry generation. osg::Shape. ");
I_Method0(osg::Shape *, getShape,
Properties::NON_VIRTUAL,
__Shape_P1__getShape,
"Get the Shape of the Drawable. ",
"");
I_Method0(const osg::Shape *, getShape,
Properties::NON_VIRTUAL,
__C5_Shape_P1__getShape,
"Get the const Shape of the const Drawable. ",
"");
I_Method1(void, setSupportsDisplayList, IN, bool, flag,
Properties::NON_VIRTUAL,
__void__setSupportsDisplayList__bool,
"Set the drawable so that it can or cannot be used in conjunction with OpenGL display lists. ",
"When set to true, calls to Drawable::setUseDisplayList, whereas when set to false, no display lists can be created and calls to setUseDisplayList are ignored, and a warning is produced. The latter is typically used to guard against the switching on of display lists on objects with dynamic internal data such as continuous Level of Detail algorithms. ");
I_Method0(bool, getSupportsDisplayList,
Properties::NON_VIRTUAL,
__bool__getSupportsDisplayList,
"Get whether display lists are supported for this drawable instance. ",
"");
I_Method1(void, setUseDisplayList, IN, bool, flag,
Properties::NON_VIRTUAL,
__void__setUseDisplayList__bool,
"When set to true, force the draw method to use OpenGL Display List for rendering. ",
"If false, rendering directly. If the display list has not been compiled already, the next call to draw will automatically create the display list. ");
I_Method0(bool, getUseDisplayList,
Properties::NON_VIRTUAL,
__bool__getUseDisplayList,
"Return whether OpenGL display lists are being used for rendering. ",
"");
I_Method1(GLuint &, getDisplayList, IN, unsigned int, contextID,
Properties::NON_VIRTUAL,
__GLuint_R1__getDisplayList__unsigned_int,
"Return OpenGL display list for specified contextID. ",
"");
I_Method1(void, setUseVertexBufferObjects, IN, bool, flag,
Properties::VIRTUAL,
__void__setUseVertexBufferObjects__bool,
"When set to true, ignore the setUseDisplayList() settings, and hints to the drawImplementation method to use OpenGL vertex buffer objects for rendering. ",
"");
I_Method0(bool, getUseVertexBufferObjects,
Properties::NON_VIRTUAL,
__bool__getUseVertexBufferObjects,
"Return whether OpenGL vertex buffer objects should be used when supported by OpenGL driver. ",
"");
I_Method0(void, dirtyDisplayList,
Properties::VIRTUAL,
__void__dirtyDisplayList,
"Force a recompile on next draw() of any OpenGL display list associated with this geoset. ",
"");
I_Method0(unsigned int, getGLObjectSizeHint,
Properties::VIRTUAL,
__unsigned_int__getGLObjectSizeHint,
"Return the estimated size of GLObjects (display lists/vertex buffer objects) that are associated with this drawable. ",
"This size is used a hint for reuse of deleted display lists/vertex buffer objects. ");
I_Method1(void, draw, IN, osg::RenderInfo &, renderInfo,
Properties::NON_VIRTUAL,
__void__draw__RenderInfo_R1,
"Draw OpenGL primitives. ",
"If the Drawable has _useDisplayList set to true, then use an OpenGL display list, automatically compiling one if required. Otherwise, call drawImplementation(). This method should not be overridden in subclasses, as it manages the optional display list (notice this is not even virtual). Subclasses should override drawImplementation() instead. ");
I_Method1(void, compileGLObjects, IN, osg::RenderInfo &, renderInfo,
Properties::VIRTUAL,
__void__compileGLObjects__RenderInfo_R1,
"Immediately compile this Drawable into an OpenGL Display List/VertexBufferObjects. ",
"Operation is ignored if _useDisplayList is false or VertexBufferObjects are not used. ");
I_Method1(void, setThreadSafeRefUnref, IN, bool, threadSafe,
Properties::VIRTUAL,
__void__setThreadSafeRefUnref__bool,
"Set whether to use a mutex to ensure ref() and unref() are thread safe. ",
"");
I_Method1(void, resizeGLObjectBuffers, IN, unsigned int, maxSize,
Properties::VIRTUAL,
__void__resizeGLObjectBuffers__unsigned_int,
"Resize any per context GLObject buffers to specified size. ",
"");
I_MethodWithDefaults1(void, releaseGLObjects, IN, osg::State *, state, 0,
Properties::VIRTUAL,
__void__releaseGLObjects__State_P1,
"If State is non-zero, this function releases OpenGL objects for the specified graphics context. ",
"Otherwise, releases OpenGL objects for all graphics contexts. ");
I_Method1(void, setUpdateCallback, IN, osg::Drawable::UpdateCallback *, ac,
Properties::VIRTUAL,
__void__setUpdateCallback__UpdateCallback_P1,
"Set the UpdateCallback which allows users to attach customize the updating of an object during the update traversal. ",
"");
I_Method0(osg::Drawable::UpdateCallback *, getUpdateCallback,
Properties::NON_VIRTUAL,
__UpdateCallback_P1__getUpdateCallback,
"Get the non const UpdateCallback. ",
"");
I_Method0(const osg::Drawable::UpdateCallback *, getUpdateCallback,
Properties::NON_VIRTUAL,
__C5_UpdateCallback_P1__getUpdateCallback,
"Get the const UpdateCallback. ",
"");
I_Method0(bool, requiresUpdateTraversal,
Properties::NON_VIRTUAL,
__bool__requiresUpdateTraversal,
"Return whether this Drawable has update callbacks associated with it, and therefore must be traversed. ",
"");
I_Method1(void, setEventCallback, IN, osg::Drawable::EventCallback *, ac,
Properties::VIRTUAL,
__void__setEventCallback__EventCallback_P1,
"Set the EventCallback which allows users to attach customize the updating of an object during the Event traversal. ",
"");
I_Method0(osg::Drawable::EventCallback *, getEventCallback,
Properties::NON_VIRTUAL,
__EventCallback_P1__getEventCallback,
"Get the non const EventCallback. ",
"");
I_Method0(const osg::Drawable::EventCallback *, getEventCallback,
Properties::NON_VIRTUAL,
__C5_EventCallback_P1__getEventCallback,
"Get the const EventCallback. ",
"");
I_Method0(bool, requiresEventTraversal,
Properties::NON_VIRTUAL,
__bool__requiresEventTraversal,
"Return whether this Drawable has event callbacks associated with it, and therefore must be traversed. ",
"");
I_Method1(void, setCullCallback, IN, osg::Drawable::CullCallback *, cc,
Properties::VIRTUAL,
__void__setCullCallback__CullCallback_P1,
"Set the CullCallback which allows users to customize the culling of Drawable during the cull traversal. ",
"");
I_Method0(osg::Drawable::CullCallback *, getCullCallback,
Properties::NON_VIRTUAL,
__CullCallback_P1__getCullCallback,
"Get the non const CullCallback. ",
"");
I_Method0(const osg::Drawable::CullCallback *, getCullCallback,
Properties::NON_VIRTUAL,
__C5_CullCallback_P1__getCullCallback,
"Get the const CullCallback. ",
"");
I_Method1(void, setDrawCallback, IN, osg::Drawable::DrawCallback *, dc,
Properties::VIRTUAL,
__void__setDrawCallback__DrawCallback_P1,
"Set the DrawCallback which allows users to attach customize the drawing of existing Drawable object. ",
"");
I_Method0(osg::Drawable::DrawCallback *, getDrawCallback,
Properties::NON_VIRTUAL,
__DrawCallback_P1__getDrawCallback,
"Get the non const DrawCallback. ",
"");
I_Method0(const osg::Drawable::DrawCallback *, getDrawCallback,
Properties::NON_VIRTUAL,
__C5_DrawCallback_P1__getDrawCallback,
"Get the const DrawCallback. ",
"");
I_Method1(void, drawImplementation, IN, osg::RenderInfo &, renderInfo,
Properties::PURE_VIRTUAL,
__void__drawImplementation__RenderInfo_R1,
"drawImplementation(RenderInfo&) is a pure virtual method for the actual implementation of OpenGL drawing calls, such as vertex arrays and primitives, that must be implemented in concrete subclasses of the Drawable base class, examples include osg::Geometry and osg::ShapeDrawable. ",
" param renderInfo The osg::RenderInfo object that encapsulates the current rendering information including the osg::State OpenGL state for the current graphics context. ");
I_Method1(bool, supports, IN, const osg::Drawable::AttributeFunctor &, x,
Properties::VIRTUAL,
__bool__supports__C5_AttributeFunctor_R1,
"Return true if the Drawable subclass supports accept(AttributeFunctor&). ",
"");
I_Method1(void, accept, IN, osg::Drawable::AttributeFunctor &, x,
Properties::VIRTUAL,
__void__accept__AttributeFunctor_R1,
"accept an AttributeFunctor and call its methods to tell it about the internal attributes that this Drawable has. ",
"return true if functor handled by drawable, return false on failure of drawable to generate functor calls. ");
I_Method1(bool, supports, IN, const osg::Drawable::ConstAttributeFunctor &, x,
Properties::VIRTUAL,
__bool__supports__C5_ConstAttributeFunctor_R1,
"Return true if the Drawable subclass supports accept(ConstAttributeFunctor&). ",
"");
I_Method1(void, accept, IN, osg::Drawable::ConstAttributeFunctor &, x,
Properties::VIRTUAL,
__void__accept__ConstAttributeFunctor_R1,
"Accept an AttributeFunctor and call its methods to tell it about the internal attributes that this Drawable has. ",
"return true if functor handled by drawable, return false on failure of drawable to generate functor calls. ");
I_Method1(bool, supports, IN, const osg::PrimitiveFunctor &, x,
Properties::VIRTUAL,
__bool__supports__C5_PrimitiveFunctor_R1,
"Return true if the Drawable subclass supports accept(PrimitiveFunctor&). ",
"");
I_Method1(void, accept, IN, osg::PrimitiveFunctor &, x,
Properties::VIRTUAL,
__void__accept__PrimitiveFunctor_R1,
"Accept a PrimitiveFunctor and call its methods to tell it about the internal primitives that this Drawable has. ",
"return true if functor handled by drawable, return false on failure of drawable to generate functor calls. Note, PrimtiveFunctor only provides const access of the primitives, as primitives may be procedurally generated so one cannot modify it. ");
I_Method1(bool, supports, IN, const osg::PrimitiveIndexFunctor &, x,
Properties::VIRTUAL,
__bool__supports__C5_PrimitiveIndexFunctor_R1,
"Return true if the Drawable subclass supports accept(PrimitiveIndexFunctor&). ",
"");
I_Method1(void, accept, IN, osg::PrimitiveIndexFunctor &, x,
Properties::VIRTUAL,
__void__accept__PrimitiveIndexFunctor_R1,
"Accept a PrimitiveIndexFunctor and call its methods to tell it about the internal primitives that this Drawable has. ",
"return true if functor handled by drawable, return false on failure of drawable to generate functor calls. Note, PrimtiveIndexFunctor only provide const access of the primitives, as primitives may be procedurally generated so one cannot modify it. ");
I_StaticMethodWithDefaults2(GLuint, generateDisplayList, IN, unsigned int, contextID, , IN, unsigned int, sizeHint, 0,
__GLuint__generateDisplayList__unsigned_int__unsigned_int_S,
"Return a OpenGL display list handle a newly generated or reused from display list cache. ",
"");
I_StaticMethod1(void, setMinimumNumberOfDisplayListsToRetainInCache, IN, unsigned int, minimum,
__void__setMinimumNumberOfDisplayListsToRetainInCache__unsigned_int_S,
"Set the minimum number of display lists to retain in the deleted display list cache. ",
"");
I_StaticMethod0(unsigned int, getMinimumNumberOfDisplayListsToRetainInCache,
__unsigned_int__getMinimumNumberOfDisplayListsToRetainInCache_S,
"Get the minimum number of display lists to retain in the deleted display list cache. ",
"");
I_StaticMethodWithDefaults3(void, deleteDisplayList, IN, unsigned int, contextID, , IN, GLuint, globj, , IN, unsigned int, sizeHint, 0,
__void__deleteDisplayList__unsigned_int__GLuint__unsigned_int_S,
"Use deleteDisplayList instead of glDeleteList to allow OpenGL display list to be cached until they can be deleted by the OpenGL context in which they were created, specified by contextID. ",
"");
I_StaticMethod1(void, flushAllDeletedDisplayLists, IN, unsigned int, contextID,
__void__flushAllDeletedDisplayLists__unsigned_int_S,
"Flush all the cached display list which need to be deleted in the OpenGL context related to contextID. ",
"");
I_StaticMethod1(void, discardAllDeletedDisplayLists, IN, unsigned int, contextID,
__void__discardAllDeletedDisplayLists__unsigned_int_S,
"Flush all the cached display list which need to be deleted in the OpenGL context related to contextID. ",
"Note, unlike flush no OpenGL calls are made, instead the handles are all removed. this call is useful for when an OpenGL context has been destroyed. ");
I_StaticMethod2(void, flushDeletedDisplayLists, IN, unsigned int, contextID, IN, double &, availableTime,
__void__flushDeletedDisplayLists__unsigned_int__double_R1_S,
"Flush the cached display list which need to be deleted in the OpenGL context related to contextID. ",
"");
I_StaticMethod2(osg::Drawable::Extensions *, getExtensions, IN, unsigned int, contextID, IN, bool, createIfNotInitalized,
__Extensions_P1__getExtensions__unsigned_int__bool_S,
"Function to call to get the extension of a specified context. ",
"If the Extension object for that context has not yet been created and the 'createIfNotInitalized' flag been set to false then returns NULL. If 'createIfNotInitalized' is true then the Extensions object is automatically created. However, in this case the extension object is only created with the graphics context associated with ContextID.. ");
I_StaticMethod2(void, setExtensions, IN, unsigned int, contextID, IN, osg::Drawable::Extensions *, extensions,
__void__setExtensions__unsigned_int__Extensions_P1_S,
"setExtensions allows users to override the extensions across graphics contexts. ",
"typically used when you have different extensions supported across graphics pipes but need to ensure that they all use the same low common denominator extensions. ");
I_ProtectedMethod1(void, setBound, IN, const osg::BoundingBox &, bb,
Properties::NON_VIRTUAL,
Properties::CONST,
__void__setBound__C5_BoundingBox_R1,
"set the bounding box . ",
"");
I_ProtectedMethod1(void, addParent, IN, osg::Node *, node,
Properties::NON_VIRTUAL,
Properties::NON_CONST,
__void__addParent__osg_Node_P1,
"",
"");
I_ProtectedMethod1(void, removeParent, IN, osg::Node *, node,
Properties::NON_VIRTUAL,
Properties::NON_CONST,
__void__removeParent__osg_Node_P1,
"",
"");
I_ProtectedMethod1(void, setNumChildrenRequiringUpdateTraversal, IN, unsigned int, num,
Properties::NON_VIRTUAL,
Properties::NON_CONST,
__void__setNumChildrenRequiringUpdateTraversal__unsigned_int,
"",
"");
I_ProtectedMethod0(unsigned int, getNumChildrenRequiringUpdateTraversal,
Properties::NON_VIRTUAL,
Properties::CONST,
__unsigned_int__getNumChildrenRequiringUpdateTraversal,
"",
"");
I_ProtectedMethod1(void, setNumChildrenRequiringEventTraversal, IN, unsigned int, num,
Properties::NON_VIRTUAL,
Properties::NON_CONST,
__void__setNumChildrenRequiringEventTraversal__unsigned_int,
"",
"");
I_ProtectedMethod0(unsigned int, getNumChildrenRequiringEventTraversal,
Properties::NON_VIRTUAL,
Properties::CONST,
__unsigned_int__getNumChildrenRequiringEventTraversal,
"",
"");
I_SimpleProperty(const osg::BoundingBox &, Bound,
__C5_BoundingBox_R1__getBound,
0);
I_SimpleProperty(osg::Drawable::ComputeBoundingBoxCallback *, ComputeBoundingBoxCallback,
__ComputeBoundingBoxCallback_P1__getComputeBoundingBoxCallback,
__void__setComputeBoundingBoxCallback__ComputeBoundingBoxCallback_P1);
I_SimpleProperty(osg::Drawable::CullCallback *, CullCallback,
__CullCallback_P1__getCullCallback,
__void__setCullCallback__CullCallback_P1);
I_SimpleProperty(osg::Drawable::DrawCallback *, DrawCallback,
__DrawCallback_P1__getDrawCallback,
__void__setDrawCallback__DrawCallback_P1);
I_SimpleProperty(osg::Drawable::EventCallback *, EventCallback,
__EventCallback_P1__getEventCallback,
__void__setEventCallback__EventCallback_P1);
I_SimpleProperty(unsigned int, GLObjectSizeHint,
__unsigned_int__getGLObjectSizeHint,
0);
I_SimpleProperty(const osg::BoundingBox &, InitialBound,
__C5_BoundingBox_R1__getInitialBound,
__void__setInitialBound__C5_osg_BoundingBox_R1);
I_ArrayProperty(osg::Node *, Parent,
__Node_P1__getParent__unsigned_int,
0,
__unsigned_int__getNumParents,
0,
0,
0);
I_SimpleProperty(osg::Drawable::ParentList, Parents,
__ParentList__getParents,
0);
I_SimpleProperty(osg::Shape *, Shape,
__Shape_P1__getShape,
__void__setShape__Shape_P1);
I_SimpleProperty(osg::StateSet *, StateSet,
__StateSet_P1__getStateSet,
__void__setStateSet__StateSet_P1);
I_SimpleProperty(bool, SupportsDisplayList,
__bool__getSupportsDisplayList,
__void__setSupportsDisplayList__bool);
I_SimpleProperty(bool, ThreadSafeRefUnref,
0,
__void__setThreadSafeRefUnref__bool);
I_SimpleProperty(osg::Drawable::UpdateCallback *, UpdateCallback,
__UpdateCallback_P1__getUpdateCallback,
__void__setUpdateCallback__UpdateCallback_P1);
I_SimpleProperty(bool, UseDisplayList,
__bool__getUseDisplayList,
__void__setUseDisplayList__bool);
I_SimpleProperty(bool, UseVertexBufferObjects,
__bool__getUseVertexBufferObjects,
__void__setUseVertexBufferObjects__bool);
END_REFLECTOR
BEGIN_VALUE_REFLECTOR(osg::Drawable::AttributeFunctor)
I_DeclaringFile("osg/Drawable");
I_Constructor0(____AttributeFunctor,
"",
"");
I_Method3(void, apply, IN, osg::Drawable::AttributeType, x, IN, unsigned, int, IN, GLbyte *, x,
Properties::VIRTUAL,
__void__apply__AttributeType__unsigned__GLbyte_P1,
"",
"");
I_Method3(void, apply, IN, osg::Drawable::AttributeType, x, IN, unsigned, int, IN, GLshort *, x,
Properties::VIRTUAL,
__void__apply__AttributeType__unsigned__GLshort_P1,
"",
"");
I_Method3(void, apply, IN, osg::Drawable::AttributeType, x, IN, unsigned, int, IN, GLint *, x,
Properties::VIRTUAL,
__void__apply__AttributeType__unsigned__GLint_P1,
"",
"");
I_Method3(void, apply, IN, osg::Drawable::AttributeType, x, IN, unsigned, int, IN, GLubyte *, x,
Properties::VIRTUAL,
__void__apply__AttributeType__unsigned__GLubyte_P1,
"",
"");
I_Method3(void, apply, IN, osg::Drawable::AttributeType, x, IN, unsigned, int, IN, GLushort *, x,
Properties::VIRTUAL,
__void__apply__AttributeType__unsigned__GLushort_P1,
"",
"");
I_Method3(void, apply, IN, osg::Drawable::AttributeType, x, IN, unsigned, int, IN, GLuint *, x,
Properties::VIRTUAL,
__void__apply__AttributeType__unsigned__GLuint_P1,
"",
"");
I_Method3(void, apply, IN, osg::Drawable::AttributeType, x, IN, unsigned, int, IN, float *, x,
Properties::VIRTUAL,
__void__apply__AttributeType__unsigned__float_P1,
"",
"");
I_Method3(void, apply, IN, osg::Drawable::AttributeType, x, IN, unsigned, int, IN, osg::Vec2 *, x,
Properties::VIRTUAL,
__void__apply__AttributeType__unsigned__Vec2_P1,
"",
"");
I_Method3(void, apply, IN, osg::Drawable::AttributeType, x, IN, unsigned, int, IN, osg::Vec3 *, x,
Properties::VIRTUAL,
__void__apply__AttributeType__unsigned__Vec3_P1,
"",
"");
I_Method3(void, apply, IN, osg::Drawable::AttributeType, x, IN, unsigned, int, IN, osg::Vec4 *, x,
Properties::VIRTUAL,
__void__apply__AttributeType__unsigned__Vec4_P1,
"",
"");
I_Method3(void, apply, IN, osg::Drawable::AttributeType, x, IN, unsigned, int, IN, osg::Vec4ub *, x,
Properties::VIRTUAL,
__void__apply__AttributeType__unsigned__Vec4ub_P1,
"",
"");
I_Method3(void, apply, IN, osg::Drawable::AttributeType, x, IN, unsigned, int, IN, double *, x,
Properties::VIRTUAL,
__void__apply__AttributeType__unsigned__double_P1,
"",
"");
I_Method3(void, apply, IN, osg::Drawable::AttributeType, x, IN, unsigned, int, IN, osg::Vec2d *, x,
Properties::VIRTUAL,
__void__apply__AttributeType__unsigned__Vec2d_P1,
"",
"");
I_Method3(void, apply, IN, osg::Drawable::AttributeType, x, IN, unsigned, int, IN, osg::Vec3d *, x,
Properties::VIRTUAL,
__void__apply__AttributeType__unsigned__Vec3d_P1,
"",
"");
I_Method3(void, apply, IN, osg::Drawable::AttributeType, x, IN, unsigned, int, IN, osg::Vec4d *, x,
Properties::VIRTUAL,
__void__apply__AttributeType__unsigned__Vec4d_P1,
"",
"");
END_REFLECTOR
BEGIN_OBJECT_REFLECTOR(osg::Drawable::ComputeBoundingBoxCallback)
I_DeclaringFile("osg/Drawable");
I_BaseType(osg::Object);
I_Constructor0(____ComputeBoundingBoxCallback,
"",
"");
I_Constructor2(IN, const osg::Drawable::ComputeBoundingBoxCallback &, x, IN, const osg::CopyOp &, x,
____ComputeBoundingBoxCallback__C5_ComputeBoundingBoxCallback_R1__C5_CopyOp_R1,
"",
"");
I_Method0(osg::Object *, cloneType,
Properties::VIRTUAL,
__osg_Object_P1__cloneType,
"Clone the type of an object, with Object* return type. ",
"Must be defined by derived classes. ");
I_Method1(osg::Object *, clone, IN, const osg::CopyOp &, x,
Properties::VIRTUAL,
__osg_Object_P1__clone__C5_osg_CopyOp_R1,
"Clone an object, with Object* return type. ",
"Must be defined by derived classes. ");
I_Method1(bool, isSameKindAs, IN, const osg::Object *, obj,
Properties::VIRTUAL,
__bool__isSameKindAs__C5_osg_Object_P1,
"",
"");
I_Method0(const char *, libraryName,
Properties::VIRTUAL,
__C5_char_P1__libraryName,
"return the name of the object's library. ",
"Must be defined by derived classes. The OpenSceneGraph convention is that the namespace of a library is the same as the library name. ");
I_Method0(const char *, className,
Properties::VIRTUAL,
__C5_char_P1__className,
"return the name of the object's class type. ",
"Must be defined by derived classes. ");
I_Method1(osg::BoundingBox, computeBound, IN, const osg::Drawable &, x,
Properties::VIRTUAL,
__BoundingBox__computeBound__C5_osg_Drawable_R1,
"",
"");
END_REFLECTOR
BEGIN_VALUE_REFLECTOR(osg::Drawable::ConstAttributeFunctor)
I_DeclaringFile("osg/Drawable");
I_Constructor0(____ConstAttributeFunctor,
"",
"");
I_Method3(void, apply, IN, osg::Drawable::AttributeType, x, IN, unsigned, int, IN, const GLbyte *, x,
Properties::VIRTUAL,
__void__apply__AttributeType__unsigned__C5_GLbyte_P1,
"",
"");
I_Method3(void, apply, IN, osg::Drawable::AttributeType, x, IN, unsigned, int, IN, const GLshort *, x,
Properties::VIRTUAL,
__void__apply__AttributeType__unsigned__C5_GLshort_P1,
"",
"");
I_Method3(void, apply, IN, osg::Drawable::AttributeType, x, IN, unsigned, int, IN, const GLint *, x,
Properties::VIRTUAL,
__void__apply__AttributeType__unsigned__C5_GLint_P1,
"",
"");
I_Method3(void, apply, IN, osg::Drawable::AttributeType, x, IN, unsigned, int, IN, const GLubyte *, x,
Properties::VIRTUAL,
__void__apply__AttributeType__unsigned__C5_GLubyte_P1,
"",
"");
I_Method3(void, apply, IN, osg::Drawable::AttributeType, x, IN, unsigned, int, IN, const GLushort *, x,
Properties::VIRTUAL,
__void__apply__AttributeType__unsigned__C5_GLushort_P1,
"",
"");
I_Method3(void, apply, IN, osg::Drawable::AttributeType, x, IN, unsigned, int, IN, const GLuint *, x,
Properties::VIRTUAL,
__void__apply__AttributeType__unsigned__C5_GLuint_P1,
"",
"");
I_Method3(void, apply, IN, osg::Drawable::AttributeType, x, IN, unsigned, int, IN, const float *, x,
Properties::VIRTUAL,
__void__apply__AttributeType__unsigned__C5_float_P1,
"",
"");
I_Method3(void, apply, IN, osg::Drawable::AttributeType, x, IN, unsigned, int, IN, const osg::Vec2 *, x,
Properties::VIRTUAL,
__void__apply__AttributeType__unsigned__C5_Vec2_P1,
"",
"");
I_Method3(void, apply, IN, osg::Drawable::AttributeType, x, IN, unsigned, int, IN, const osg::Vec3 *, x,
Properties::VIRTUAL,
__void__apply__AttributeType__unsigned__C5_Vec3_P1,
"",
"");
I_Method3(void, apply, IN, osg::Drawable::AttributeType, x, IN, unsigned, int, IN, const osg::Vec4 *, x,
Properties::VIRTUAL,
__void__apply__AttributeType__unsigned__C5_Vec4_P1,
"",
"");
I_Method3(void, apply, IN, osg::Drawable::AttributeType, x, IN, unsigned, int, IN, const osg::Vec4ub *, x,
Properties::VIRTUAL,
__void__apply__AttributeType__unsigned__C5_Vec4ub_P1,
"",
"");
I_Method3(void, apply, IN, osg::Drawable::AttributeType, x, IN, unsigned, int, IN, const double *, x,
Properties::VIRTUAL,
__void__apply__AttributeType__unsigned__C5_double_P1,
"",
"");
I_Method3(void, apply, IN, osg::Drawable::AttributeType, x, IN, unsigned, int, IN, const osg::Vec2d *, x,
Properties::VIRTUAL,
__void__apply__AttributeType__unsigned__C5_Vec2d_P1,
"",
"");
I_Method3(void, apply, IN, osg::Drawable::AttributeType, x, IN, unsigned, int, IN, const osg::Vec3d *, x,
Properties::VIRTUAL,
__void__apply__AttributeType__unsigned__C5_Vec3d_P1,
"",
"");
I_Method3(void, apply, IN, osg::Drawable::AttributeType, x, IN, unsigned, int, IN, const osg::Vec4d *, x,
Properties::VIRTUAL,
__void__apply__AttributeType__unsigned__C5_Vec4d_P1,
"",
"");
END_REFLECTOR
BEGIN_OBJECT_REFLECTOR(osg::Drawable::CullCallback)
I_DeclaringFile("osg/Drawable");
I_VirtualBaseType(osg::Object);
I_Constructor0(____CullCallback,
"",
"");
I_Constructor2(IN, const osg::Drawable::CullCallback &, x, IN, const osg::CopyOp &, x,
____CullCallback__C5_CullCallback_R1__C5_CopyOp_R1,
"",
"");
I_Method0(osg::Object *, cloneType,
Properties::VIRTUAL,
__osg_Object_P1__cloneType,
"Clone the type of an object, with Object* return type. ",
"Must be defined by derived classes. ");
I_Method1(osg::Object *, clone, IN, const osg::CopyOp &, x,
Properties::VIRTUAL,
__osg_Object_P1__clone__C5_osg_CopyOp_R1,
"Clone an object, with Object* return type. ",
"Must be defined by derived classes. ");
I_Method1(bool, isSameKindAs, IN, const osg::Object *, obj,
Properties::VIRTUAL,
__bool__isSameKindAs__C5_osg_Object_P1,
"",
"");
I_Method0(const char *, libraryName,
Properties::VIRTUAL,
__C5_char_P1__libraryName,
"return the name of the object's library. ",
"Must be defined by derived classes. The OpenSceneGraph convention is that the namespace of a library is the same as the library name. ");
I_Method0(const char *, className,
Properties::VIRTUAL,
__C5_char_P1__className,
"return the name of the object's class type. ",
"Must be defined by derived classes. ");
I_Method3(bool, cull, IN, osg::NodeVisitor *, x, IN, osg::Drawable *, x, IN, osg::State *, x,
Properties::VIRTUAL,
__bool__cull__osg_NodeVisitor_P1__osg_Drawable_P1__osg_State_P1,
"deprecated. ",
"");
I_Method3(bool, cull, IN, osg::NodeVisitor *, nv, IN, osg::Drawable *, drawable, IN, osg::RenderInfo *, renderInfo,
Properties::VIRTUAL,
__bool__cull__osg_NodeVisitor_P1__osg_Drawable_P1__osg_RenderInfo_P1,
"do customized cull code, return true if drawable should be culled. ",
"");
END_REFLECTOR
BEGIN_OBJECT_REFLECTOR(osg::Drawable::DrawCallback)
I_DeclaringFile("osg/Drawable");
I_VirtualBaseType(osg::Object);
I_Constructor0(____DrawCallback,
"",
"");
I_Constructor2(IN, const osg::Drawable::DrawCallback &, x, IN, const osg::CopyOp &, x,
____DrawCallback__C5_DrawCallback_R1__C5_CopyOp_R1,
"",
"");
I_Method0(osg::Object *, cloneType,
Properties::VIRTUAL,
__osg_Object_P1__cloneType,
"Clone the type of an object, with Object* return type. ",
"Must be defined by derived classes. ");
I_Method1(osg::Object *, clone, IN, const osg::CopyOp &, x,
Properties::VIRTUAL,
__osg_Object_P1__clone__C5_osg_CopyOp_R1,
"Clone an object, with Object* return type. ",
"Must be defined by derived classes. ");
I_Method1(bool, isSameKindAs, IN, const osg::Object *, obj,
Properties::VIRTUAL,
__bool__isSameKindAs__C5_osg_Object_P1,
"",
"");
I_Method0(const char *, libraryName,
Properties::VIRTUAL,
__C5_char_P1__libraryName,
"return the name of the object's library. ",
"Must be defined by derived classes. The OpenSceneGraph convention is that the namespace of a library is the same as the library name. ");
I_Method0(const char *, className,
Properties::VIRTUAL,
__C5_char_P1__className,
"return the name of the object's class type. ",
"Must be defined by derived classes. ");
I_Method2(void, drawImplementation, IN, osg::RenderInfo &, x, IN, const osg::Drawable *, x,
Properties::VIRTUAL,
__void__drawImplementation__osg_RenderInfo_R1__C5_osg_Drawable_P1,
"do customized draw code. ",
"");
END_REFLECTOR
BEGIN_OBJECT_REFLECTOR(osg::Drawable::EventCallback)
I_DeclaringFile("osg/Drawable");
I_VirtualBaseType(osg::Object);
I_Constructor0(____EventCallback,
"",
"");
I_Constructor2(IN, const osg::Drawable::EventCallback &, x, IN, const osg::CopyOp &, x,
____EventCallback__C5_EventCallback_R1__C5_CopyOp_R1,
"",
"");
I_Method0(osg::Object *, cloneType,
Properties::VIRTUAL,
__osg_Object_P1__cloneType,
"Clone the type of an object, with Object* return type. ",
"Must be defined by derived classes. ");
I_Method1(osg::Object *, clone, IN, const osg::CopyOp &, x,
Properties::VIRTUAL,
__osg_Object_P1__clone__C5_osg_CopyOp_R1,
"Clone an object, with Object* return type. ",
"Must be defined by derived classes. ");
I_Method1(bool, isSameKindAs, IN, const osg::Object *, obj,
Properties::VIRTUAL,
__bool__isSameKindAs__C5_osg_Object_P1,
"",
"");
I_Method0(const char *, libraryName,
Properties::VIRTUAL,
__C5_char_P1__libraryName,
"return the name of the object's library. ",
"Must be defined by derived classes. The OpenSceneGraph convention is that the namespace of a library is the same as the library name. ");
I_Method0(const char *, className,
Properties::VIRTUAL,
__C5_char_P1__className,
"return the name of the object's class type. ",
"Must be defined by derived classes. ");
I_Method2(void, event, IN, osg::NodeVisitor *, x, IN, osg::Drawable *, x,
Properties::VIRTUAL,
__void__event__osg_NodeVisitor_P1__osg_Drawable_P1,
"do customized Event code. ",
"");
END_REFLECTOR
BEGIN_OBJECT_REFLECTOR(osg::Drawable::UpdateCallback)
I_DeclaringFile("osg/Drawable");
I_VirtualBaseType(osg::Object);
I_Constructor0(____UpdateCallback,
"",
"");
I_Constructor2(IN, const osg::Drawable::UpdateCallback &, x, IN, const osg::CopyOp &, x,
____UpdateCallback__C5_UpdateCallback_R1__C5_CopyOp_R1,
"",
"");
I_Method0(osg::Object *, cloneType,
Properties::VIRTUAL,
__osg_Object_P1__cloneType,
"Clone the type of an object, with Object* return type. ",
"Must be defined by derived classes. ");
I_Method1(osg::Object *, clone, IN, const osg::CopyOp &, x,
Properties::VIRTUAL,
__osg_Object_P1__clone__C5_osg_CopyOp_R1,
"Clone an object, with Object* return type. ",
"Must be defined by derived classes. ");
I_Method1(bool, isSameKindAs, IN, const osg::Object *, obj,
Properties::VIRTUAL,
__bool__isSameKindAs__C5_osg_Object_P1,
"",
"");
I_Method0(const char *, libraryName,
Properties::VIRTUAL,
__C5_char_P1__libraryName,
"return the name of the object's library. ",
"Must be defined by derived classes. The OpenSceneGraph convention is that the namespace of a library is the same as the library name. ");
I_Method0(const char *, className,
Properties::VIRTUAL,
__C5_char_P1__className,
"return the name of the object's class type. ",
"Must be defined by derived classes. ");
I_Method2(void, update, IN, osg::NodeVisitor *, x, IN, osg::Drawable *, x,
Properties::VIRTUAL,
__void__update__osg_NodeVisitor_P1__osg_Drawable_P1,
"do customized update code. ",
"");
END_REFLECTOR
STD_VECTOR_REFLECTOR(std::vector< osg::Node * >)

View File

@ -1,30 +0,0 @@
// ***************************************************************************
//
// Generated automatically by genwrapper.
// Please DO NOT EDIT this file!
//
// ***************************************************************************
#include <osgIntrospection/ReflectionMacros>
#include <osgIntrospection/TypedMethodInfo>
#include <osgIntrospection/StaticMethodInfo>
#include <osgIntrospection/Attributes>
#include <osg/Endian>
// Must undefine IN and OUT macros defined in Windows headers
#ifdef IN
#undef IN
#endif
#ifdef OUT
#undef OUT
#endif
#include <osg/observer_ptr>
BEGIN_ENUM_REFLECTOR(osg::Endian)
I_DeclaringFile("osg/Endian");
I_EnumLabel(osg::BigEndian);
I_EnumLabel(osg::LittleEndian);
END_REFLECTOR

View File

@ -1,193 +0,0 @@
// ***************************************************************************
//
// Generated automatically by genwrapper.
// Please DO NOT EDIT this file!
//
// ***************************************************************************
#include <osgIntrospection/ReflectionMacros>
#include <osgIntrospection/TypedMethodInfo>
#include <osgIntrospection/StaticMethodInfo>
#include <osgIntrospection/Attributes>
#include <osg/CopyOp>
#include <osg/Fog>
#include <osg/Object>
#include <osg/State>
#include <osg/StateAttribute>
#include <osg/Vec4>
// Must undefine IN and OUT macros defined in Windows headers
#ifdef IN
#undef IN
#endif
#ifdef OUT
#undef OUT
#endif
#include <osg/observer_ptr>
BEGIN_ENUM_REFLECTOR(osg::Fog::Mode)
I_DeclaringFile("osg/Fog");
I_EnumLabel(osg::Fog::LINEAR);
I_EnumLabel(osg::Fog::EXP);
I_EnumLabel(osg::Fog::EXP2);
END_REFLECTOR
BEGIN_ENUM_REFLECTOR(osg::Fog::FogCoordinateSource)
I_DeclaringFile("osg/Fog");
I_EnumLabel(osg::Fog::FOG_COORDINATE);
I_EnumLabel(osg::Fog::FRAGMENT_DEPTH);
END_REFLECTOR
BEGIN_OBJECT_REFLECTOR(osg::Fog)
I_DeclaringFile("osg/Fog");
I_BaseType(osg::StateAttribute);
I_Constructor0(____Fog,
"",
"");
I_ConstructorWithDefaults2(IN, const osg::Fog &, fog, , IN, const osg::CopyOp &, copyop, osg::CopyOp::SHALLOW_COPY,
____Fog__C5_Fog_R1__C5_CopyOp_R1,
"Copy constructor using CopyOp to manage deep vs shallow copy. ",
"");
I_Method0(osg::Object *, cloneType,
Properties::VIRTUAL,
__osg_Object_P1__cloneType,
"Clone the type of an attribute, with Object* return type. ",
"Must be defined by derived classes. ");
I_Method1(osg::Object *, clone, IN, const osg::CopyOp &, x,
Properties::VIRTUAL,
__osg_Object_P1__clone__C5_osg_CopyOp_R1,
"Clone an attribute, with Object* return type. ",
"Must be defined by derived classes. ");
I_Method1(bool, isSameKindAs, IN, const osg::Object *, obj,
Properties::VIRTUAL,
__bool__isSameKindAs__C5_osg_Object_P1,
"Return true if this and obj are of the same kind of object. ",
"");
I_Method0(const char *, libraryName,
Properties::VIRTUAL,
__C5_char_P1__libraryName,
"Return the name of the attribute's library. ",
"");
I_Method0(const char *, className,
Properties::VIRTUAL,
__C5_char_P1__className,
"Return the name of the attribute's class type. ",
"");
I_Method0(osg::StateAttribute::Type, getType,
Properties::VIRTUAL,
__Type__getType,
"Return the Type identifier of the attribute's class type. ",
"");
I_Method1(int, compare, IN, const osg::StateAttribute &, sa,
Properties::VIRTUAL,
__int__compare__C5_StateAttribute_R1,
"return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs. ",
"");
I_Method1(bool, getModeUsage, IN, osg::StateAttribute::ModeUsage &, x,
Properties::VIRTUAL,
__bool__getModeUsage__StateAttribute_ModeUsage_R1,
"Return the modes associated with this StateAttribute. ",
"");
I_Method1(void, setMode, IN, osg::Fog::Mode, mode,
Properties::NON_VIRTUAL,
__void__setMode__Mode,
"",
"");
I_Method0(osg::Fog::Mode, getMode,
Properties::NON_VIRTUAL,
__Mode__getMode,
"",
"");
I_Method1(void, setDensity, IN, float, density,
Properties::NON_VIRTUAL,
__void__setDensity__float,
"",
"");
I_Method0(float, getDensity,
Properties::NON_VIRTUAL,
__float__getDensity,
"",
"");
I_Method1(void, setStart, IN, float, start,
Properties::NON_VIRTUAL,
__void__setStart__float,
"",
"");
I_Method0(float, getStart,
Properties::NON_VIRTUAL,
__float__getStart,
"",
"");
I_Method1(void, setEnd, IN, float, end,
Properties::NON_VIRTUAL,
__void__setEnd__float,
"",
"");
I_Method0(float, getEnd,
Properties::NON_VIRTUAL,
__float__getEnd,
"",
"");
I_Method1(void, setColor, IN, const osg::Vec4 &, color,
Properties::NON_VIRTUAL,
__void__setColor__C5_Vec4_R1,
"",
"");
I_Method0(const osg::Vec4 &, getColor,
Properties::NON_VIRTUAL,
__C5_Vec4_R1__getColor,
"",
"");
I_Method1(void, setUseRadialFog, IN, bool, useRadialFog,
Properties::NON_VIRTUAL,
__void__setUseRadialFog__bool,
"",
"");
I_Method0(bool, getUseRadialFog,
Properties::NON_VIRTUAL,
__bool__getUseRadialFog,
"",
"");
I_Method1(void, setFogCoordinateSource, IN, GLint, source,
Properties::NON_VIRTUAL,
__void__setFogCoordinateSource__GLint,
"",
"");
I_Method0(GLint, getFogCoordinateSource,
Properties::NON_VIRTUAL,
__GLint__getFogCoordinateSource,
"",
"");
I_Method1(void, apply, IN, osg::State &, x,
Properties::VIRTUAL,
__void__apply__State_R1,
"apply the OpenGL state attributes. ",
"The render info for the current OpenGL context is passed in to allow the StateAttribute to obtain details on the the current context and state. ");
I_SimpleProperty(const osg::Vec4 &, Color,
__C5_Vec4_R1__getColor,
__void__setColor__C5_Vec4_R1);
I_SimpleProperty(float, Density,
__float__getDensity,
__void__setDensity__float);
I_SimpleProperty(float, End,
__float__getEnd,
__void__setEnd__float);
I_SimpleProperty(GLint, FogCoordinateSource,
__GLint__getFogCoordinateSource,
__void__setFogCoordinateSource__GLint);
I_SimpleProperty(osg::Fog::Mode, Mode,
__Mode__getMode,
__void__setMode__Mode);
I_SimpleProperty(float, Start,
__float__getStart,
__void__setStart__float);
I_SimpleProperty(osg::StateAttribute::Type, Type,
__Type__getType,
0);
I_SimpleProperty(bool, UseRadialFog,
__bool__getUseRadialFog,
__void__setUseRadialFog__bool);
END_REFLECTOR

Some files were not shown because too many files have changed in this diff Show More