Fix cyclic dependency between OpenGl (OpenGl_Vec) and Graphic3d (Graphic3d_ShaderVari...
authorkgv <kgv@opencascade.com>
Fri, 25 Oct 2013 07:23:16 +0000 (11:23 +0400)
committerkgv <kgv@opencascade.com>
Fri, 25 Oct 2013 07:23:16 +0000 (11:23 +0400)
src/Graphic3d/FILES
src/Graphic3d/Graphic3d_ShaderVariable.cxx
src/Graphic3d/Graphic3d_ShaderVariable.hxx
src/Graphic3d/Graphic3d_Vec.hxx [new file with mode: 0644]
src/Graphic3d/Graphic3d_Vec2.hxx
src/Graphic3d/Graphic3d_Vec3.hxx
src/Graphic3d/Graphic3d_Vec4.hxx
src/OpenGl/OpenGl_Vec.hxx

index 44b8a46a05eb9be99077c62a662bcdc94bd7eaa4..d4a0f1f69e09367869d701a2520de06e213e8b3a 100755 (executable)
@@ -56,6 +56,7 @@ Graphic3d_NListOfHAsciiString.hxx
 Graphic3d_AspectText3d.cxx
 Graphic3d_PtrFrameBuffer.hxx
 Graphic3d_BufferType.hxx
+Graphic3d_Vec.hxx
 Graphic3d_Vec2.hxx
 Graphic3d_Vec3.hxx
 Graphic3d_Vec4.hxx
index f11661c0ee9844dea045195b684789aa2a29d701..53022b745eb390bee652750432f90af7da461b5f 100644 (file)
 IMPLEMENT_STANDARD_HANDLE (Graphic3d_ShaderVariable, Standard_Transient)
 IMPLEMENT_STANDARD_RTTIEXT(Graphic3d_ShaderVariable, Standard_Transient)
 
-//
 // Specific instantiations of struct templates to avoid compilation warnings
-//
-template struct Graphic3d_UniformValue<int>;
-template struct Graphic3d_UniformValue<float>;
-template struct Graphic3d_UniformValue<OpenGl_Vec2>;
-template struct Graphic3d_UniformValue<OpenGl_Vec3>;
-template struct Graphic3d_UniformValue<OpenGl_Vec4>;
-template struct Graphic3d_UniformValue<OpenGl_Vec2i>;
-template struct Graphic3d_UniformValue<OpenGl_Vec3i>;
-template struct Graphic3d_UniformValue<OpenGl_Vec4i>;
+template struct Graphic3d_UniformValue<Standard_Integer>;
+template struct Graphic3d_UniformValue<Standard_ShortReal>;
+template struct Graphic3d_UniformValue<Graphic3d_Vec2>;
+template struct Graphic3d_UniformValue<Graphic3d_Vec3>;
+template struct Graphic3d_UniformValue<Graphic3d_Vec4>;
+template struct Graphic3d_UniformValue<Graphic3d_Vec2i>;
+template struct Graphic3d_UniformValue<Graphic3d_Vec3i>;
+template struct Graphic3d_UniformValue<Graphic3d_Vec4i>;
 
 // =======================================================================
 // function : ~Graphic3d_ValueInterface
index 5770c592ba9c57848be49ffa255392ab790c3d82..18d9c8ac3660cba34f3459e8effaec64806d72a2 100644 (file)
@@ -20,7 +20,7 @@
 #ifndef _Graphic3d_ShaderVariable_HeaderFile
 #define _Graphic3d_ShaderVariable_HeaderFile
 
-#include <OpenGl_Vec.hxx>
+#include <Graphic3d_Vec.hxx>
 #include <Standard_Transient.hxx>
 #include <TCollection_AsciiString.hxx>
 
@@ -49,42 +49,42 @@ struct Graphic3d_UniformValueTypeID {
 };
 
 template<>
-struct Graphic3d_UniformValueTypeID<int> {
+struct Graphic3d_UniformValueTypeID<Standard_Integer> {
   static const Standard_Size ID = __LINE__;
 };
 
 template<>
-struct Graphic3d_UniformValueTypeID<float> {
+struct Graphic3d_UniformValueTypeID<Standard_ShortReal> {
   static const Standard_Size ID = __LINE__;
 };
 
 template<>
-struct Graphic3d_UniformValueTypeID<OpenGl_Vec2> {
+struct Graphic3d_UniformValueTypeID<Graphic3d_Vec2> {
   static const Standard_Size ID = __LINE__;
 };
 
 template<>
-struct Graphic3d_UniformValueTypeID<OpenGl_Vec3> {
+struct Graphic3d_UniformValueTypeID<Graphic3d_Vec3> {
   static const Standard_Size ID = __LINE__;
 };
 
 template<>
-struct Graphic3d_UniformValueTypeID<OpenGl_Vec4> {
+struct Graphic3d_UniformValueTypeID<Graphic3d_Vec4> {
   static const Standard_Size ID = __LINE__;
 };
 
 template<>
-struct Graphic3d_UniformValueTypeID<OpenGl_Vec2i> {
+struct Graphic3d_UniformValueTypeID<Graphic3d_Vec2i> {
   static const Standard_Size ID = __LINE__;
 };
 
 template<>
-struct Graphic3d_UniformValueTypeID<OpenGl_Vec3i> {
+struct Graphic3d_UniformValueTypeID<Graphic3d_Vec3i> {
   static const Standard_Size ID = __LINE__;
 };
 
 template<>
-struct Graphic3d_UniformValueTypeID<OpenGl_Vec4i> {
+struct Graphic3d_UniformValueTypeID<Graphic3d_Vec4i> {
   static const Standard_Size ID = __LINE__;
 };
 
@@ -103,28 +103,28 @@ struct Graphic3d_UniformValue : public Graphic3d_ValueInterface
 };
 
 //! Integer uniform value.
-typedef Graphic3d_UniformValue<int> Graphic3d_UniformInt;
+typedef Graphic3d_UniformValue<Standard_Integer> Graphic3d_UniformInt;
 
 //! Integer uniform 2D vector.
-typedef Graphic3d_UniformValue<OpenGl_Vec2i> Graphic3d_UniformVec2i;
+typedef Graphic3d_UniformValue<Graphic3d_Vec2i> Graphic3d_UniformVec2i;
 
 //! Integer uniform 3D vector.
-typedef Graphic3d_UniformValue<OpenGl_Vec3i> Graphic3d_UniformVec3i;
+typedef Graphic3d_UniformValue<Graphic3d_Vec3i> Graphic3d_UniformVec3i;
 
 //! Integer uniform 4D vector.
-typedef Graphic3d_UniformValue<OpenGl_Vec4i> Graphic3d_UniformVec4i;
+typedef Graphic3d_UniformValue<Graphic3d_Vec4i> Graphic3d_UniformVec4i;
 
 //! Floating-point uniform value.
-typedef Graphic3d_UniformValue<float> Graphic3d_UniformFloat;
+typedef Graphic3d_UniformValue<Standard_ShortReal> Graphic3d_UniformFloat;
 
 //! Floating-point uniform 2D vector.
-typedef Graphic3d_UniformValue<OpenGl_Vec2> Graphic3d_UniformVec2;
+typedef Graphic3d_UniformValue<Graphic3d_Vec2> Graphic3d_UniformVec2;
 
 //! Floating-point uniform 3D vector.
-typedef Graphic3d_UniformValue<OpenGl_Vec3> Graphic3d_UniformVec3;
+typedef Graphic3d_UniformValue<Graphic3d_Vec3> Graphic3d_UniformVec3;
 
 //! Floating-point uniform 4D vector.
-typedef Graphic3d_UniformValue<OpenGl_Vec4> Graphic3d_UniformVec4;
+typedef Graphic3d_UniformValue<Graphic3d_Vec4> Graphic3d_UniformVec4;
 
 //! Describes custom uniform shader variable.
 class Graphic3d_ShaderVariable : public Standard_Transient
diff --git a/src/Graphic3d/Graphic3d_Vec.hxx b/src/Graphic3d/Graphic3d_Vec.hxx
new file mode 100644 (file)
index 0000000..f404831
--- /dev/null
@@ -0,0 +1,27 @@
+// Created on: 2013-10-25
+// Created by: Kirill GAVRILOV
+// Copyright (c) 2013 OPEN CASCADE SAS
+//
+// The content of this file is subject to the Open CASCADE Technology Public
+// License Version 6.5 (the "License"). You may not use the content of this file
+// except in compliance with the License. Please obtain a copy of the License
+// at http://www.opencascade.org and read it completely before using this file.
+//
+// The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
+// main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
+//
+// The Original Code and all software distributed under the License is
+// distributed on an "AS IS" basis, without warranty of any kind, and the
+// Initial Developer hereby disclaims all such warranties, including without
+// limitation, any warranties of merchantability, fitness for a particular
+// purpose or non-infringement. Please see the License for the specific terms
+// and conditions governing the rights and limitations under the License.
+
+#ifndef _Graphic3d_Vec_H__
+#define _Graphic3d_Vec_H__
+
+#include <Graphic3d_Vec2.hxx>
+#include <Graphic3d_Vec3.hxx>
+#include <Graphic3d_Vec4.hxx>
+
+#endif // _Graphic3d_Vec_H__
index 2e796bdda277982d3dda5b937740b8009870abe0..69d9c5688c2590a6b34d9d0999febeef105aab92 100755 (executable)
 #include <Standard_TypeDef.hxx>
 
 typedef NCollection_Vec2<Standard_ShortReal> Graphic3d_Vec2;
+typedef NCollection_Vec2<Standard_Real>      Graphic3d_Vec2d;
+typedef NCollection_Vec2<Standard_Integer>   Graphic3d_Vec2i;
+typedef NCollection_Vec2<unsigned int>       Graphic3d_Vec2u;
+typedef NCollection_Vec2<Standard_Byte>      Graphic3d_Vec2ub;
+typedef NCollection_Vec2<Standard_Character> Graphic3d_Vec2b;
 
 #endif // _Graphic3d_Vec2_HeaderFile
index 3c194d152173445ba564cbfc160e191deed6182f..d3e3f3b5806d9a9e4f9a2f530a4d303e09cf4821 100755 (executable)
 #include <Standard_TypeDef.hxx>
 
 typedef NCollection_Vec3<Standard_ShortReal> Graphic3d_Vec3;
+typedef NCollection_Vec3<Standard_Real>      Graphic3d_Vec3d;
+typedef NCollection_Vec3<Standard_Integer>   Graphic3d_Vec3i;
+typedef NCollection_Vec3<unsigned int>       Graphic3d_Vec3u;
+typedef NCollection_Vec3<Standard_Byte>      Graphic3d_Vec3ub;
+typedef NCollection_Vec3<Standard_Character> Graphic3d_Vec3b;
 
 #endif // _Graphic3d_Vec3_HeaderFile
index 5ae18e9c9c48d44dbe622dc5b66be13f6c636777..9d74eb41e1bb9fd9476042de699cbe144cbecf39 100755 (executable)
 #include <Standard_TypeDef.hxx>
 
 typedef NCollection_Vec4<Standard_ShortReal> Graphic3d_Vec4;
+typedef NCollection_Vec4<Standard_Real>      Graphic3d_Vec4d;
+typedef NCollection_Vec4<Standard_Integer>   Graphic3d_Vec4i;
+typedef NCollection_Vec4<unsigned int>       Graphic3d_Vec4u;
+typedef NCollection_Vec4<Standard_Byte>      Graphic3d_Vec4ub;
+typedef NCollection_Vec4<Standard_Character> Graphic3d_Vec4b;
 
 #endif // _Graphic3d_Vec4_HeaderFile
index 9eeb62dfb09a76f6715b199a7c0d6df5fd05f29f..41b5e5a1ea2bf528029601588d985dcf53767482 100644 (file)
 #ifndef _OpenGl_Vec_H__
 #define _OpenGl_Vec_H__
 
-#include <NCollection_Vec4.hxx>
+#include <Graphic3d_Vec.hxx>
 
-typedef NCollection_Vec2<int> OpenGl_Vec2i;
-typedef NCollection_Vec3<int> OpenGl_Vec3i;
-typedef NCollection_Vec4<int> OpenGl_Vec4i;
+typedef Graphic3d_Vec2i  OpenGl_Vec2i;
+typedef Graphic3d_Vec3i  OpenGl_Vec3i;
+typedef Graphic3d_Vec4i  OpenGl_Vec4i;
 
-typedef NCollection_Vec2<char> OpenGl_Vec2b;
-typedef NCollection_Vec3<char> OpenGl_Vec3b;
-typedef NCollection_Vec4<char> OpenGl_Vec4b;
+typedef Graphic3d_Vec2b  OpenGl_Vec2b;
+typedef Graphic3d_Vec3b  OpenGl_Vec3b;
+typedef Graphic3d_Vec4b  OpenGl_Vec4b;
 
-typedef NCollection_Vec2<unsigned int> OpenGl_Vec2u;
-typedef NCollection_Vec3<unsigned int> OpenGl_Vec3u;
-typedef NCollection_Vec4<unsigned int> OpenGl_Vec4u;
+typedef Graphic3d_Vec2u  OpenGl_Vec2u;
+typedef Graphic3d_Vec3u  OpenGl_Vec3u;
+typedef Graphic3d_Vec4u  OpenGl_Vec4u;
 
-typedef NCollection_Vec2<unsigned char> OpenGl_Vec2ub;
-typedef NCollection_Vec3<unsigned char> OpenGl_Vec3ub;
-typedef NCollection_Vec4<unsigned char> OpenGl_Vec4ub;
+typedef Graphic3d_Vec2ub OpenGl_Vec2ub;
+typedef Graphic3d_Vec3ub OpenGl_Vec3ub;
+typedef Graphic3d_Vec4ub OpenGl_Vec4ub;
 
-typedef NCollection_Vec2<float> OpenGl_Vec2;
-typedef NCollection_Vec3<float> OpenGl_Vec3;
-typedef NCollection_Vec4<float> OpenGl_Vec4;
+typedef Graphic3d_Vec2   OpenGl_Vec2;
+typedef Graphic3d_Vec3   OpenGl_Vec3;
+typedef Graphic3d_Vec4   OpenGl_Vec4;
 
-typedef NCollection_Vec2<double> OpenGl_Vec2d;
-typedef NCollection_Vec3<double> OpenGl_Vec3d;
-typedef NCollection_Vec4<double> OpenGl_Vec4d;
+typedef Graphic3d_Vec2d  OpenGl_Vec2d;
+typedef Graphic3d_Vec3d  OpenGl_Vec3d;
+typedef Graphic3d_Vec4d  OpenGl_Vec4d;
 
 #endif // _OpenGl_Vec_H__