ImfVecAttribute.h 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. //
  2. // SPDX-License-Identifier: BSD-3-Clause
  3. // Copyright (c) Contributors to the OpenEXR Project.
  4. //
  5. #ifndef INCLUDED_IMF_VEC_ATTRIBUTE_H
  6. #define INCLUDED_IMF_VEC_ATTRIBUTE_H
  7. //-----------------------------------------------------------------------------
  8. //
  9. // class V2iAttribute
  10. // class V2fAttribute
  11. // class V2dAttribute
  12. // class V3iAttribute
  13. // class V3fAttribute
  14. // class V3dAttribute
  15. //
  16. //-----------------------------------------------------------------------------
  17. #include "ImfExport.h"
  18. #include "ImfNamespace.h"
  19. #include "ImfAttribute.h"
  20. #include <ImathVec.h>
  21. #if defined(_MSC_VER)
  22. // suppress warning about non-exported base classes
  23. #pragma warning (push)
  24. #pragma warning (disable : 4251)
  25. #pragma warning (disable : 4275)
  26. #endif
  27. OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER
  28. typedef TypedAttribute<IMATH_NAMESPACE::V2i> V2iAttribute;
  29. typedef TypedAttribute<IMATH_NAMESPACE::V2f> V2fAttribute;
  30. typedef TypedAttribute<IMATH_NAMESPACE::V2d> V2dAttribute;
  31. typedef TypedAttribute<IMATH_NAMESPACE::V3i> V3iAttribute;
  32. typedef TypedAttribute<IMATH_NAMESPACE::V3f> V3fAttribute;
  33. typedef TypedAttribute<IMATH_NAMESPACE::V3d> V3dAttribute;
  34. #ifndef COMPILING_IMF_VECTOR_ATTRIBUTE
  35. extern template class IMF_EXPORT_EXTERN_TEMPLATE TypedAttribute<IMATH_NAMESPACE::V2i>;
  36. extern template class IMF_EXPORT_EXTERN_TEMPLATE TypedAttribute<IMATH_NAMESPACE::V2f>;
  37. extern template class IMF_EXPORT_EXTERN_TEMPLATE TypedAttribute<IMATH_NAMESPACE::V2d>;
  38. extern template class IMF_EXPORT_EXTERN_TEMPLATE TypedAttribute<IMATH_NAMESPACE::V3i>;
  39. extern template class IMF_EXPORT_EXTERN_TEMPLATE TypedAttribute<IMATH_NAMESPACE::V3f>;
  40. extern template class IMF_EXPORT_EXTERN_TEMPLATE TypedAttribute<IMATH_NAMESPACE::V3d>;
  41. #endif
  42. OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_EXIT
  43. #if defined(_MSC_VER)
  44. // suppress warning about non-exported base classes
  45. #pragma warning (pop)
  46. #endif
  47. #endif