17#ifndef AGXOSG_EXPORT_H
18#define AGXOSG_EXPORT_H
28#if AGX_DYNAMIC() && defined(_MSC_VER) || defined(__CYGWIN__) || defined(__MINGW32__) || defined( __BCPLUSPLUS__) || defined( __MWERKS__)
29# if defined( AGXOSG_LIBRARY_STATIC )
31# elif defined( AGXOSG_LIBRARY )
32# define AGXOSG_EXPORT __declspec(dllexport)
34# define AGXOSG_EXPORT __declspec(dllimport)
43 #define AGXOSG_EXPORT __attribute__ ((visibility("default")))
49#define OSG_VEC2_TO_AGX( X ) ( agx::Vec2( (X)[0], (X)[1] ))
50#define OSG_VEC3_TO_AGX( X ) ( agx::Vec3( (X)[0], (X)[1], (X)[2] ))
51#define OSG_VEC4_TO_AGX( X ) ( agx::Vec4( (X)[0], (X)[1], (X)[2], (X)[3] ))
52#define OSG_VEC4F_TO_AGX( X ) ( agx::Vec4f( (X)[0], (X)[1], (X)[2], (X)[3] ))
53#define OSG_QUAT_TO_AGX( X ) ( agx::Quat( (X).asVec4()[0], (X).asVec4()[1], (X).asVec4()[2], (X).asVec4()[3] ))
56#define AGX_VEC2_TO_OSG( X ) ( osg::Vec2( (float)(X)[0], (float)(X)[1] ))
57#define AGX_VEC3_TO_OSG( X ) ( osg::Vec3( (float)(X)[0], (float)(X)[1], (float)(X)[2] ))
58#define AGX_VEC4_TO_OSG( X ) ( osg::Vec4( (float)(X)[0], (float)(X)[1], (float)(X)[2], (float)(X)[3] ))
59#define AGX_QUAT_TO_OSG( X ) ( osg::Quat( (X).asVec4()[0], (X).asVec4()[1], (X).asVec4()[2], (X).asVec4()[3] ))
61# define AGX_MAT4X4_TO_OSG( X ) ( osg::Matrixd( (X).ptr() ))
62# define OSG_MAT4X4_TO_AGX( X ) ( agx::AffineMatrix4x4( (X).ptr() ))
#define DOXYGEN_END_INTERNAL_BLOCK()
#define DOXYGEN_START_INTERNAL_BLOCK()
The agxOSG namespace provides functionality for visualizing AGX simulations with OpenSceneGraph.