00001 #include <esg/AutoPtr.h> 00002 #include <esg/AutoArray.h> 00003 #include <esg/Definitions.h> 00004 #include <esg/SGAttribute.h> 00005 #include <esg/mesh/Mesh.h> 00006 #include <esg/Intersector.h> 00007 #include <esg/Material.h> 00008 #include <esg/geometry/Geometry.h> 00009 #include <esg/emittance/Emittance.h> 00010 #include <esg/texture/Texture.h> 00011 #include <esg/Transform.h> 00012 #include <esg/brdf/DiffuseBRDF.h> 00013 #include <esg/brdf/SpecularBRDF.h> 00014 00015 using namespace esg; 00016 00017 /* Macro simplification for non-GNU compilers */ 00018 #ifndef __GNUC__ 00019 #define __GNUC__ 0 00020 #define __GNUC_MINOR__ 0 00021 #endif /* __GNUC__ */ 00022 00023 /* 00024 * Only instatiate for older compilers than GCC ver. 3.4.0 or 00025 * fo non-GNU compilers 00026 */ 00027 //#if (__GNUC__ * 1000 + __GNUC_MINOR__) < 3004 00028 00029 // instantiate static members of AutoPtr with all used types: 00030 #ifndef __SGATTRIBUTE_AUTO_PTR_ 00031 #define __SGATTRIBUTE_AUTO_PTR_ 00032 INSTANTIATE_AUTOPTR_STATIC_MEMBERS(SGAttribute); 00033 #endif 00034 00035 #ifndef __MATERIAL_AUTO_PTR_ 00036 #define __MATERIAL_AUTO_PTR_ 00037 INSTANTIATE_AUTOPTR_STATIC_MEMBERS(Material); 00038 #endif 00039 00040 #ifndef __INTERSECTOR_AUTO_PTR_ 00041 #define __INTERSECTOR_AUTO_PTR_ 00042 INSTANTIATE_AUTOPTR_STATIC_MEMBERS(Intersector); 00043 #endif 00044 00045 #ifndef __VECTOR3_AUTO_PTR_ 00046 #define __VECTOR3_AUTO_PTR_ 00047 INSTANTIATE_AUTOPTR_STATIC_MEMBERS(Vector3); 00048 #endif 00049 00050 #ifndef __VECTOR2_AUTO_PTR_ 00051 #define __VECTOR2_AUTO_PTR_ 00052 INSTANTIATE_AUTOPTR_STATIC_MEMBERS(Vector2); 00053 #endif 00054 00055 #ifndef __MESH_AUTO_PTR_ 00056 #define __MESH_AUTO_PTR_ 00057 INSTANTIATE_AUTOPTR_STATIC_MEMBERS(Mesh); 00058 #endif 00059 00060 #ifndef __GEOMETRY_AUTO_PTR_ 00061 #define __GEOMETRY_AUTO_PTR_ 00062 INSTANTIATE_AUTOPTR_STATIC_MEMBERS(Geometry); 00063 #endif 00064 00065 #ifndef __EMITTANCE_AUTO_PTR_ 00066 #define __EMITTANCE_AUTO_PTR_ 00067 INSTANTIATE_AUTOPTR_STATIC_MEMBERS(Emittance); 00068 #endif 00069 00070 #ifndef __TRANSFORM_AUTO_PTR_ 00071 #define __TRANSFORM_AUTO_PTR_ 00072 INSTANTIATE_AUTOPTR_STATIC_MEMBERS(Transform); 00073 #endif 00074 00075 #ifndef __TEXTURE_AUTO_PTR_ 00076 #define __TEXTURE_AUTO_PTR_ 00077 INSTANTIATE_AUTOPTR_STATIC_MEMBERS(Texture); 00078 #endif 00079 00080 #ifndef __DIFF_BRDF_AUTO_PTR_ 00081 #define __DIFF_BRDF_AUTO_PTR_ 00082 INSTANTIATE_AUTOPTR_STATIC_MEMBERS(DiffuseBRDF); 00083 #endif 00084 00085 #ifndef __SPEC_BRDF_AUTO_PTR_ 00086 #define __SPEC_BRDF_AUTO_PTR_ 00087 INSTANTIATE_AUTOPTR_STATIC_MEMBERS(SpecularBRDF); 00088 #endif 00089 00090 // instantiate static members of AutoArray with all used types: 00091 #ifndef __VECTOR3_AUTO_ARRAY_ 00092 #define __VECTOR3_AUTO_ARRAY_ 00093 INSTANTIATE_AUTOARRAY_STATIC_MEMBERS(Vector3); 00094 #endif 00095 00096 #ifndef __VECTOR2_AUTO_ARRAY_ 00097 #define __VECTOR2_AUTO_ARRAY_ 00098 INSTANTIATE_AUTOARRAY_STATIC_MEMBERS(Vector2); 00099 #endif 00100 00101 #ifndef __OBJECTENERGY_AUTO_PTR_ 00102 #define __OBJECTENERGY_AUTO_PTR_ 00103 INSTANTIATE_AUTOPTR_STATIC_MEMBERS(EnergyCoat); 00104 #endif 00105 00106 //#endif // GCC ver. 00107