4D float scalar

class RVAPI S4f
{
public:
    // X coordinate.
    float x;

    // Y coordinate.
    float y;

    // Z coordinate.
    float z;

    // Homogeneous coordinate.
    float w;

    // Construct scalar from S4f scalar.
    S4f(const S3f &scalar, float w) : x(scalar.x), y(scalar.y), z(scalar.z), w(w) {}

    // Construct scalar from coordinates.
    S4f(float x, float y, float z, float w) : x(x), y(y), z(z), w(w) {}

    // Construct scalar from S4f scalar.
    S4f(float n = 0, float w = 0) : x(n), y(n), z(n), w(w) {}

    // Destructor.
    ~S4f() {}
};

inline S3f::S3f(const S4f &scalar) : x(scalar.x), y(scalar.y), z(scalar.z) {}