diff options
Diffstat (limited to 'src/Runtime/ogl-runtime/src/system/Qt3DSVector3.h')
m--------- | src/Runtime/ogl-runtime | 0 | ||||
-rw-r--r-- | src/Runtime/ogl-runtime/src/system/Qt3DSVector3.h | 117 |
2 files changed, 0 insertions, 117 deletions
diff --git a/src/Runtime/ogl-runtime b/src/Runtime/ogl-runtime new file mode 160000 +Subproject 427fddb50d43aa21a90fc7356ee3cdd8a908df5 diff --git a/src/Runtime/ogl-runtime/src/system/Qt3DSVector3.h b/src/Runtime/ogl-runtime/src/system/Qt3DSVector3.h deleted file mode 100644 index 08df028b..00000000 --- a/src/Runtime/ogl-runtime/src/system/Qt3DSVector3.h +++ /dev/null @@ -1,117 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 1993-2009 NVIDIA Corporation. -** Copyright (C) 2017 The Qt Company Ltd. -** Contact: https://www.qt.io/licensing/ -** -** This file is part of Qt 3D Studio. -** -** $QT_BEGIN_LICENSE:GPL$ -** Commercial License Usage -** Licensees holding valid commercial Qt licenses may use this file in -** accordance with the commercial license agreement provided with the -** Software or, alternatively, in accordance with the terms contained in -** a written agreement between you and The Qt Company. For licensing terms -** and conditions see https://www.qt.io/terms-conditions. For further -** information use the contact form at https://www.qt.io/contact-us. -** -** GNU General Public License Usage -** Alternatively, this file may be used under the terms of the GNU -** General Public License version 3 or (at your option) any later version -** approved by the KDE Free Qt Foundation. The licenses are as published by -** the Free Software Foundation and appearing in the file LICENSE.GPL3 -** included in the packaging of this file. Please review the following -** information to ensure the GNU General Public License requirements will -** be met: https://www.gnu.org/licenses/gpl-3.0.html. -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#pragma once - -#ifdef WIN32 -#pragma warning(disable : 4201) -#endif - -//============================================================================== -// Namespace -//============================================================================== -namespace Q3DStudio { - -//============================================================================== -// Forwards -//============================================================================== -class RuntimeMatrix; - -//============================================================================== -/** - * 3D vector with automatic notification on change. - * - * This implementation of a 3D vector along with all the sibling and helper - * classes in the geometry section, try to strike a balance between clean code, - * ease-of-use and speed. Fields are public and most methods are designed to - * give the impression of a very intelligent and capable structure. Heavier - * code such as intersections is encouraged to be added externally instead - * of here. - * - * The vector is a member of the geometry classes next to CMatrix and CRotation - * @see CMatrix - * @see CRotation - */ -class RuntimeVector3 -{ - //============================================================================== - // Fields - //============================================================================== -public: - union { - float m[3]; - struct - { - float m_X; - float m_Y; - float m_Z; - }; - }; - - //============================================================================== - // Methods - //============================================================================== -public: // Construction - RuntimeVector3(); - RuntimeVector3(const float inVector[3]); - RuntimeVector3(const float inX, const float inY, const float inZ); - RuntimeVector3(const RuntimeVector3 &inVector); - -public: // Initialization - RuntimeVector3 &Set(const float inX, const float inY, const float inZ); - RuntimeVector3 &Set(const RuntimeVector3 &inVector); - -public: // Functions - float DistanceSquared(const RuntimeVector3 &inVector) const; - float Distance(const RuntimeVector3 &inVector) const; - float LengthSquared() const; - float Length() const; - float DotProduct(const RuntimeVector3 &inVector) const; - RuntimeVector3 &CrossProduct(const RuntimeVector3 &inVector); - RuntimeVector3 &Normalize(); - RuntimeVector3 &Minimize(const RuntimeVector3 &inVector); - RuntimeVector3 &Maximize(const RuntimeVector3 &inVector); - RuntimeVector3 &InterpolateLinear(const RuntimeVector3 &inDestVector, float inFactor); - RuntimeVector3 &Transform(const RuntimeMatrix &inMatrix); - -public: // Operators - bool operator==(const RuntimeVector3 &inVector) const; - bool operator!=(const RuntimeVector3 &inVector) const; - RuntimeVector3 operator+(const RuntimeVector3 &inVector) const; - RuntimeVector3 operator-(const RuntimeVector3 &inVector) const; - RuntimeVector3 operator*(float inFactor) const; - RuntimeVector3 &operator=(const RuntimeVector3 &inVector); - RuntimeVector3 &operator+=(const RuntimeVector3 &inVector); - RuntimeVector3 &operator-=(const RuntimeVector3 &inVector); - RuntimeVector3 &operator*=(float inFactor); - RuntimeVector3 operator-() const; -}; - -} // namespace Q3DStudio |