AGX Dynamics 2.42.1.1
Loading...
Searching...
No Matches
agxOSG/export.h
Go to the documentation of this file.
1/*
2Copyright 2007-2025. Algoryx Simulation AB.
3
4All AGX source code, intellectual property, documentation, sample code,
5tutorials, scene files and technical white papers, are copyrighted, proprietary
6and confidential material of Algoryx Simulation AB. You may not download, read,
7store, distribute, publish, copy or otherwise disseminate, use or expose this
8material unless having a written signed agreement with Algoryx Simulation AB, or having been
9advised so by Algoryx Simulation AB for a time limited evaluation, or having purchased a
10valid commercial license from Algoryx Simulation AB.
11
12Algoryx Simulation AB disclaims all responsibilities for loss or damage caused
13from using this software, unless otherwise stated in written agreements with
14Algoryx Simulation AB.
15*/
16
17#ifndef AGXOSG_EXPORT_H
18#define AGXOSG_EXPORT_H
19
20
21#include <agx/config.h>
22#include <agx/macros.h>
23
25
26#ifdef _WIN32
27
28#if AGX_DYNAMIC() && defined(_MSC_VER) || defined(__CYGWIN__) || defined(__MINGW32__) || defined( __BCPLUSPLUS__) || defined( __MWERKS__)
29# if defined( AGXOSG_LIBRARY_STATIC )
30# define AGXOSG_EXPORT
31# elif defined( AGXOSG_LIBRARY )
32# define AGXOSG_EXPORT __declspec(dllexport)
33# else
34# define AGXOSG_EXPORT __declspec(dllimport)
35# endif
36#else
37# define AGXOSG_EXPORT
38#endif
39
40#else
41 // Non Win32
42 #if __GNUC__ >= 4
43 #define AGXOSG_EXPORT __attribute__ ((visibility("default")))
44 #else
45 #define AGXOSG_EXPORT
46 #endif
47#endif
48
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] ))
54
55
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] ))
60
61# define AGX_MAT4X4_TO_OSG( X ) ( osg::Matrixd( (X).ptr() ))
62# define OSG_MAT4X4_TO_AGX( X ) ( agx::AffineMatrix4x4( (X).ptr() ))
63
64
66
67
68namespace agxOSG
69{
70
71}
72
73#endif
74
#define DOXYGEN_END_INTERNAL_BLOCK()
Definition: macros.h:89
#define DOXYGEN_START_INTERNAL_BLOCK()
Definition: macros.h:88
The agxOSG namespace provides functionality for visualizing AGX simulations with OpenSceneGraph.