2006-07-18 23:21:48 +08:00
|
|
|
/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield
|
2004-12-09 13:28:20 +08:00
|
|
|
*
|
|
|
|
* 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.
|
|
|
|
*/
|
2005-04-29 18:06:50 +08:00
|
|
|
//osgIntrospection - Copyright (C) 2005 Marco Jez
|
2004-12-09 13:28:20 +08:00
|
|
|
|
|
|
|
#ifndef OSGINTROSPECTION_EXPORTHDR
|
|
|
|
#define OSGINTROSPECTION_EXPORTHDR 1
|
|
|
|
|
|
|
|
// define USE_DEPRECATED_API is used to include in API which is being fazed out
|
|
|
|
// if you can compile your apps with this turned off you are
|
|
|
|
// well placed for compatablity with future versions.
|
|
|
|
//#define USE_DEPRECATED_API
|
|
|
|
|
|
|
|
#if defined(_MSC_VER)
|
|
|
|
#pragma warning(disable : 4251)
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if defined(_MSC_VER) || defined(__CYGWIN__) || defined(__MINGW32__) || defined( __BCPLUSPLUS__) || defined( __MWERKS__)
|
2005-11-18 17:52:24 +08:00
|
|
|
# if defined( OSG_LIBRARY_STATIC )
|
2005-09-28 22:05:05 +08:00
|
|
|
# define OSGINTROSPECTION_EXPORT
|
|
|
|
# elif defined( OSGINTROSPECTION_LIBRARY )
|
2005-03-14 17:28:31 +08:00
|
|
|
# define OSGINTROSPECTION_EXPORT __declspec(dllexport)
|
|
|
|
# else
|
|
|
|
# define OSGINTROSPECTION_EXPORT __declspec(dllimport)
|
2005-11-18 17:52:24 +08:00
|
|
|
# endif
|
2004-12-09 13:28:20 +08:00
|
|
|
#else
|
2005-03-14 17:28:31 +08:00
|
|
|
# define OSGINTROSPECTION_EXPORT
|
2004-12-09 13:28:20 +08:00
|
|
|
#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
|
|
|
|
|
2005-05-25 19:45:02 +08:00
|
|
|
/**
|
|
|
|
|
|
|
|
\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.
|
|
|
|
*/
|
|
|
|
|
2008-08-06 03:17:09 +08:00
|
|
|
/**
|
|
|
|
|
|
|
|
\namespace Properties
|
|
|
|
|
|
|
|
Properties is a set of helper definations used by the osgIntrospectoin wrappers.
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
2004-12-09 13:28:20 +08:00
|
|
|
#endif
|