diff --git a/Source/Engine/Core/Math/AABB.h b/Source/Engine/Core/Math/AABB.h
index 39e8a5bf6..5853d6597 100644
--- a/Source/Engine/Core/Math/AABB.h
+++ b/Source/Engine/Core/Math/AABB.h
@@ -8,7 +8,7 @@
///
/// Integer axis aligned bounding box
///
-struct AABB
+struct FLAXENGINE_API AABB
{
public:
diff --git a/Source/Engine/Core/Math/BoundingFrustum.h b/Source/Engine/Core/Math/BoundingFrustum.h
index b8b16c412..9052521fc 100644
--- a/Source/Engine/Core/Math/BoundingFrustum.h
+++ b/Source/Engine/Core/Math/BoundingFrustum.h
@@ -10,7 +10,7 @@
///
/// Defines a frustum which can be used in frustum culling, zoom to Extents (zoom to fit) operations, (matrix, frustum, camera) interchange, and many kind of intersection testing.
///
-API_STRUCT(InBuild) struct BoundingFrustum
+API_STRUCT(InBuild) struct FLAXENGINE_API BoundingFrustum
{
private:
diff --git a/Source/Engine/Core/Math/Half.h b/Source/Engine/Core/Math/Half.h
index 19059ad0c..7b86fd7a7 100644
--- a/Source/Engine/Core/Math/Half.h
+++ b/Source/Engine/Core/Math/Half.h
@@ -11,7 +11,7 @@ typedef uint16 Half;
#define USE_SSE_HALF_CONVERSION 0
-class Float16Compressor
+class FLAXENGINE_API Float16Compressor
{
union Bits
{
@@ -108,7 +108,7 @@ inline Half ConvertFloatToHalf(const float value)
///
/// Defines a two component vector, using half precision floating point coordinates.
///
-struct Half2
+struct FLAXENGINE_API Half2
{
public:
@@ -167,7 +167,7 @@ public:
///
/// Defines a three component vector, using half precision floating point coordinates.
///
-struct Half3
+struct FLAXENGINE_API Half3
{
public:
@@ -216,7 +216,7 @@ public:
///
/// Defines a four component vector, using half precision floating point coordinates.
///
-struct Half4
+struct FLAXENGINE_API Half4
{
public:
@@ -270,16 +270,12 @@ public:
}
explicit Half4(const Vector4& v);
-
explicit Half4(const Color& c);
-
explicit Half4(const Rectangle& rect);
public:
Vector2 ToVector2() const;
-
Vector3 ToVector3() const;
-
Vector4 ToVector4() const;
};
diff --git a/Source/Engine/Core/Math/Matrix3x3.h b/Source/Engine/Core/Math/Matrix3x3.h
index 3cf690259..b28be5437 100644
--- a/Source/Engine/Core/Math/Matrix3x3.h
+++ b/Source/Engine/Core/Math/Matrix3x3.h
@@ -9,7 +9,7 @@
///
/// Represents a 3x3 mathematical matrix.
///
-API_STRUCT(InBuild) struct Matrix3x3
+API_STRUCT(InBuild) struct FLAXENGINE_API Matrix3x3
{
public:
diff --git a/Source/Engine/Core/Math/OrientedBoundingBox.h b/Source/Engine/Core/Math/OrientedBoundingBox.h
index 03256633d..d19108f84 100644
--- a/Source/Engine/Core/Math/OrientedBoundingBox.h
+++ b/Source/Engine/Core/Math/OrientedBoundingBox.h
@@ -8,7 +8,7 @@
#include "CollisionsHelper.h"
// Oriented Bounding Box (OBB) is a rectangular block, much like an AABB (Bounding Box) but with an arbitrary orientation in 3D space.
-API_STRUCT(InBuild) struct OrientedBoundingBox
+API_STRUCT(InBuild) struct FLAXENGINE_API OrientedBoundingBox
{
public:
diff --git a/Source/Engine/Core/Math/Packed.h b/Source/Engine/Core/Math/Packed.h
index ec666bf61..4f41dac9c 100644
--- a/Source/Engine/Core/Math/Packed.h
+++ b/Source/Engine/Core/Math/Packed.h
@@ -13,7 +13,7 @@ typedef Half Float16;
///
/// Packed vector, layout: R:10 bytes, G:10 bytes, B:10 bytes, A:2 bytes, all values are stored as floats in range [0;1].
///
-struct Float1010102
+struct FLAXENGINE_API Float1010102
{
union
{
@@ -64,7 +64,7 @@ public:
};
// The 3D vector is packed into 32 bits with 11/11/10 bits per floating-point component.
-struct FloatR11G11B10
+struct FLAXENGINE_API FloatR11G11B10
{
union
{
@@ -118,7 +118,7 @@ public:
Vector3 ToVector3() const;
};
-struct RG16UNorm
+struct FLAXENGINE_API RG16UNorm
{
uint16 X, Y;
@@ -131,7 +131,7 @@ struct RG16UNorm
Vector2 ToVector2() const;
};
-struct RGBA16UNorm
+struct FLAXENGINE_API RGBA16UNorm
{
uint16 X, Y, Z, W;
diff --git a/Source/Engine/Core/Math/Plane.h b/Source/Engine/Core/Math/Plane.h
index 2ca34258f..2fbe7438c 100644
--- a/Source/Engine/Core/Math/Plane.h
+++ b/Source/Engine/Core/Math/Plane.h
@@ -8,7 +8,7 @@
///
/// Represents a plane in three dimensional space.
///
-API_STRUCT() struct Plane
+API_STRUCT() struct FLAXENGINE_API Plane
{
DECLARE_SCRIPTING_TYPE_MINIMAL(Plane);
public:
diff --git a/Source/Engine/Core/Math/Ray.h b/Source/Engine/Core/Math/Ray.h
index 56d06a21e..f125cba97 100644
--- a/Source/Engine/Core/Math/Ray.h
+++ b/Source/Engine/Core/Math/Ray.h
@@ -11,7 +11,7 @@ struct Viewport;
///
/// Represents a three dimensional line based on a point in space and a direction.
///
-API_STRUCT() struct Ray
+API_STRUCT() struct FLAXENGINE_API Ray
{
DECLARE_SCRIPTING_TYPE_MINIMAL(Ray);
public:
diff --git a/Source/Engine/Core/Math/Rectangle.h b/Source/Engine/Core/Math/Rectangle.h
index 305ae70e1..f2dcbd20a 100644
--- a/Source/Engine/Core/Math/Rectangle.h
+++ b/Source/Engine/Core/Math/Rectangle.h
@@ -10,7 +10,6 @@
API_STRUCT() struct FLAXENGINE_API Rectangle
{
DECLARE_SCRIPTING_TYPE_MINIMAL(Rectangle);
-public:
///
/// The empty rectangle.
diff --git a/Source/Engine/Core/Math/Transform.h b/Source/Engine/Core/Math/Transform.h
index 3b8cf71b7..ed19efeae 100644
--- a/Source/Engine/Core/Math/Transform.h
+++ b/Source/Engine/Core/Math/Transform.h
@@ -11,10 +11,9 @@ struct Matrix;
///
/// Describes transformation in a 3D space.
///
-API_STRUCT() struct Transform
+API_STRUCT() struct FLAXENGINE_API Transform
{
DECLARE_SCRIPTING_TYPE_MINIMAL(Transform);
-public:
///
/// The translation vector of the transform.
diff --git a/Source/Engine/Core/Math/Triangle.h b/Source/Engine/Core/Math/Triangle.h
index 03f91ece3..b0f7ea09d 100644
--- a/Source/Engine/Core/Math/Triangle.h
+++ b/Source/Engine/Core/Math/Triangle.h
@@ -8,7 +8,7 @@
///
/// Represents a three dimensional triangle.
///
-struct Triangle
+struct FLAXENGINE_API Triangle
{
public:
diff --git a/Source/Engine/Core/Math/VectorInt.h b/Source/Engine/Core/Math/VectorInt.h
index 80804c39a..9b5eeb866 100644
--- a/Source/Engine/Core/Math/VectorInt.h
+++ b/Source/Engine/Core/Math/VectorInt.h
@@ -13,7 +13,7 @@ struct Vector4;
///
/// Two-components vector (32 bit integer type).
///
-API_STRUCT(InBuild) struct Int2
+API_STRUCT(InBuild) struct FLAXENGINE_API Int2
{
public:
@@ -273,7 +273,7 @@ public:
///
/// Three-components vector (32 bit integer type).
///
-API_STRUCT(InBuild) struct Int3
+API_STRUCT(InBuild) struct FLAXENGINE_API Int3
{
public:
@@ -382,7 +382,7 @@ public:
///
/// Four-components vector (32 bit integer type).
///
-API_STRUCT(InBuild) struct Int4
+API_STRUCT(InBuild) struct FLAXENGINE_API Int4
{
public:
diff --git a/Source/Engine/Core/Math/Viewport.h b/Source/Engine/Core/Math/Viewport.h
index 0b5871f2e..e30d085d3 100644
--- a/Source/Engine/Core/Math/Viewport.h
+++ b/Source/Engine/Core/Math/Viewport.h
@@ -10,7 +10,7 @@ struct Matrix;
struct Rectangle;
// Describes the viewport dimensions.
-API_STRUCT(InBuild) struct Viewport
+API_STRUCT(InBuild) struct FLAXENGINE_API Viewport
{
public: