Pārlūkot izejas kodu

Added gxsyshelp

glscene 1 gadu atpakaļ
vecāks
revīzija
6462bcaaac
100 mainītis faili ar 3023 papildinājumiem un 1286 dzēšanām
  1. 1 1
      Examples/AdvDemos/ActorMS3D/fActorMS3dC.dfm
  2. 31 64
      Examples/AdvDemos/ActorMS3D/fActorms3dD.dfm
  3. 1 1
      Examples/AdvDemos/ActorMS3D/fActorms3dD.pas
  4. 1 1
      Examples/AdvDemos/Archipelago/Splitter/fSplitterD.pas
  5. 1 1
      Examples/AdvDemos/Archipelago/fArchipelagoC.h
  6. 1 1
      Examples/AdvDemos/Archipelago/fArchipelagoD.pas
  7. 7 16
      Examples/AdvDemos/Forest/fForestD.dfm
  8. 4 6
      Examples/AdvDemos/Forest/fForestD.pas
  9. 46 81
      Examples/AdvDemos/GLSViewer/Source/fGLSViewer.dfm
  10. 2 2
      Examples/AdvDemos/GLSViewer/Source/fGLSViewer.pas
  11. 1 1
      Examples/AdvDemos/IntensityMesh/fIntensityMeshD.pas
  12. 72 0
      Examples/Democ.groupproj
  13. 3 51
      Examples/Demos.groupproj
  14. 1 1
      Examples/Demos/behaviours/FPSMovement/fFPSMovementC.h
  15. 1 1
      Examples/Demos/behaviours/FPSMovement/fFPSMovementD.pas
  16. 1 1
      Examples/Demos/collisions/TriangleBox/fTriangleBoxD.pas
  17. 1 1
      Examples/Demos/collisions/facevsface/fFacevsFaceD.pas
  18. 1 1
      Examples/Demos/collisions/octree/fOctreeD.pas
  19. 1 1
      Examples/Demos/glslshaders/FurShader/fFurShaderD.pas
  20. 1 1
      Examples/Demos/glslshaders/Ocean/fOceanD.pas
  21. 1 1
      Examples/Demos/glslshaders/ShaderComponent/fShaderCompD.pas
  22. 1 1
      Examples/Demos/glslshaders/ShadersLab/fShaderLabD.pas
  23. 1 1
      Examples/Demos/graph/points/fPointsD.pas
  24. 1 1
      Examples/Demos/graph/projection/fProjectionD.pas
  25. 3 3
      Examples/Demos/interface/Console/fConsoleC.dfm
  26. 1 1
      Examples/Demos/meshes/ducky/fDuckyD.pas
  27. 1 1
      Examples/Demos/meshes/subdivide/fSubdivideD.pas
  28. 1 1
      Examples/Demos/physics/NewtonWalkShoot/fNGDWalkShootD.pas
  29. 1 1
      Examples/Demos/physics/OdeClothify/fOdeClothifyD.pas
  30. 7 7
      Examples/Demos/rendering/fullscreen/fFullScreenC.dfm
  31. 1 1
      Examples/Demos/specialsFX/posteffect/fPostEffectD.pas
  32. 1 1
      Examples/Demos/specialsFX/shadowvolumes/fShadowVolumesD.pas
  33. 1 1
      Examples/Demos/sprites/imposters/fImpostersD.pas
  34. 330 339
      Help/GLSysHelp/GLSysHelp.pds
  35. BIN
      Help/GLSysHelp/HTML/GLSysHelp.chm
  36. 0 2
      Help/GLSysHelp/HTML/_Readme.txt
  37. 2 9
      Help/GLSysHelp/IntroGLS.txt
  38. 4 4
      Help/GLSysHelp/ReadGLS.txt
  39. 0 1
      Help/GLSysHelp/_CleanHTML.cmd
  40. 96 0
      Help/GXSysHelp/GXSysHelp.css
  41. 384 0
      Help/GXSysHelp/GXSysHelp.pds
  42. BIN
      Help/GXSysHelp/HTML/GXSysHelp.chm
  43. 96 0
      Help/GXSysHelp/HTML/pasdoc.css
  44. 18 0
      Help/GXSysHelp/IntroGXS.txt
  45. 10 0
      Help/GXSysHelp/ReadGXS.txt
  46. 8 0
      Help/GXSysHelp/_CleanHTML.cmd
  47. 0 16
      Help/License.txt
  48. 2 2
      Packages/GLScene_RT.dpk
  49. 1 1
      Packages/GLScene_RT.dproj
  50. 2 2
      Packages/GXScene_RT.dpk
  51. 2 2
      Packages/GXScene_RT.dproj
  52. 10 10
      Source/GLS.Behaviours.pas
  53. 4 4
      Source/GLS.BumpmapHDS.pas
  54. 2 2
      Source/GLS.CgShader.pas
  55. 78 78
      Source/GLS.Coordinates.pas
  56. 1 1
      Source/GLS.CurvesAndSurfaces.pas
  57. 15 15
      Source/GLS.DCE.pas
  58. 6 6
      Source/GLS.EParticleMasksManager.pas
  59. 5 5
      Source/GLS.ExplosionFx.pas
  60. 4 4
      Source/GLS.Feedback.pas
  61. 21 21
      Source/GLS.File3DSSceneObjects.pas
  62. 9 9
      Source/GLS.FireFX.pas
  63. 5 5
      Source/GLS.Gizmo.pas
  64. 9 9
      Source/GLS.Gui.pas
  65. 5 5
      Source/GLS.Imposter.pas
  66. 9 9
      Source/GLS.Material.pas
  67. 41 41
      Source/GLS.MaterialEx.pas
  68. 2 2
      Source/GLS.MaterialScript.pas
  69. 1 1
      Source/GLS.MeshLines.pas
  70. 3 3
      Source/GLS.MultiPolygon.pas
  71. 55 55
      Source/GLS.NGDManager.pas
  72. 5 5
      Source/GLS.Navigator.pas
  73. 3 3
      Source/GLS.Nodes.pas
  74. 63 63
      Source/GLS.ODEManager.pas
  75. 14 14
      Source/GLS.Objects.pas
  76. 1 1
      Source/GLS.ParametricSurfaces.pas
  77. 21 21
      Source/GLS.ParticleFX.pas
  78. 5 5
      Source/GLS.PhysFields.pas
  79. 10 10
      Source/GLS.PhysForces.pas
  80. 10 10
      Source/GLS.PhysInertias.pas
  81. 2 2
      Source/GLS.RandomHDS.pas
  82. 34 34
      Source/GLS.Scene.pas
  83. 3 3
      Source/GLS.SceneRegister.pas
  84. 10 10
      Source/GLS.ShadowHDS.pas
  85. 5 5
      Source/GLS.Silhouette.pas
  86. 10 10
      Source/GLS.SmoothNavigator.pas
  87. 37 37
      Source/GLS.Texture.pas
  88. 9 9
      Source/GLS.ThorFX.pas
  89. 35 35
      Source/GLS.VectorFileObjects.pas
  90. 27 27
      Source/GLS.VectorLists.pas
  91. 15 15
      Source/GLSL.ShapeShaders.pas
  92. 10 10
      Source/GLSL.TextureShaders.pas
  93. 1 0
      Source/GLScene.AnimationUtils.pas
  94. 3 3
      Sourcex/FMxInfo.fmx
  95. 921 0
      Sourcex/Formatx.VRML.pas
  96. 13 13
      Sourcex/GXS.BSP.pas
  97. 18 18
      Sourcex/GXS.BumpMapping.pas
  98. 4 4
      Sourcex/GXS.CgShader.pas
  99. 2 2
      Sourcex/GXS.Collision.pas
  100. 293 0
      Sourcex/GXS.CurvesAndSurfaces.pas

+ 1 - 1
Examples/AdvDemos/ActorMS3D/fActorMS3dC.dfm

@@ -93,7 +93,7 @@ object Form1: TForm1
       Left = 228
       Left = 228
       Top = 26
       Top = 26
       Width = 386
       Width = 386
-      Height = 21
+      Height = 31
       Margins.Left = 7
       Margins.Left = 7
       Margins.Top = 7
       Margins.Top = 7
       Margins.Right = 7
       Margins.Right = 7

+ 31 - 64
Examples/AdvDemos/ActorMS3D/fActorms3dD.dfm

@@ -1,40 +1,31 @@
 object FormActorms3d: TFormActorms3d
 object FormActorms3d: TFormActorms3d
   Left = 332
   Left = 332
   Top = 110
   Top = 110
-  Margins.Left = 5
-  Margins.Top = 5
-  Margins.Right = 5
-  Margins.Bottom = 5
   Caption = 'Actor MS3D Animation'
   Caption = 'Actor MS3D Animation'
-  ClientHeight = 1250
-  ClientWidth = 1799
+  ClientHeight = 714
+  ClientWidth = 1028
   Color = clBtnFace
   Color = clBtnFace
   Font.Charset = DEFAULT_CHARSET
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
   Font.Color = clWindowText
-  Font.Height = -19
+  Font.Height = -11
   Font.Name = 'Tahoma'
   Font.Name = 'Tahoma'
   Font.Style = []
   Font.Style = []
   Position = poScreenCenter
   Position = poScreenCenter
   OnCloseQuery = FormCloseQuery
   OnCloseQuery = FormCloseQuery
   OnCreate = FormCreate
   OnCreate = FormCreate
   OnShow = FormShow
   OnShow = FormShow
-  PixelsPerInch = 168
-  TextHeight = 23
+  TextHeight = 13
   object GLSceneViewer1: TGLSceneViewer
   object GLSceneViewer1: TGLSceneViewer
     Left = 0
     Left = 0
-    Top = 114
-    Width = 1799
-    Height = 1136
-    Margins.Left = 5
-    Margins.Top = 5
-    Margins.Right = 5
-    Margins.Bottom = 5
+    Top = 65
+    Width = 1028
+    Height = 649
     Camera = GLCamera1
     Camera = GLCamera1
     Buffer.BackgroundColor = 3618615
     Buffer.BackgroundColor = 3618615
     Buffer.AmbientColor.Color = {0000803F0000803F0000803F0000803F}
     Buffer.AmbientColor.Color = {0000803F0000803F0000803F0000803F}
     Buffer.AntiAliasing = aa4xHQ
     Buffer.AntiAliasing = aa4xHQ
     Buffer.ShadeModel = smSmooth
     Buffer.ShadeModel = smSmooth
-    FieldOfView = 156.141357421875000000
+    FieldOfView = 139.411239624023400000
     PenAsTouch = False
     PenAsTouch = False
     Align = alClient
     Align = alClient
     TabOrder = 0
     TabOrder = 0
@@ -42,62 +33,43 @@ object FormActorms3d: TFormActorms3d
   object Panel1: TPanel
   object Panel1: TPanel
     Left = 0
     Left = 0
     Top = 0
     Top = 0
-    Width = 1799
-    Height = 114
-    Margins.Left = 5
-    Margins.Top = 5
-    Margins.Right = 5
-    Margins.Bottom = 5
+    Width = 1028
+    Height = 65
     Align = alTop
     Align = alTop
     TabOrder = 1
     TabOrder = 1
+    ExplicitWidth = 1020
     object Button2: TButton
     object Button2: TButton
-      Left = 523
-      Top = 18
-      Width = 132
-      Height = 43
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+      Left = 299
+      Top = 10
+      Width = 75
+      Height = 25
       Caption = 'Next Frame'
       Caption = 'Next Frame'
       TabOrder = 0
       TabOrder = 0
       OnClick = Button2Click
       OnClick = Button2Click
     end
     end
     object btnStartStop: TButton
     object btnStartStop: TButton
-      Left = 23
-      Top = 18
-      Width = 131
-      Height = 43
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+      Left = 13
+      Top = 10
+      Width = 75
+      Height = 25
       Caption = 'Start'
       Caption = 'Start'
       TabOrder = 1
       TabOrder = 1
       OnClick = btnStartStopClick
       OnClick = btnStartStopClick
     end
     end
     object Button4: TButton
     object Button4: TButton
-      Left = 1517
-      Top = 18
-      Width = 132
-      Height = 43
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+      Left = 867
+      Top = 10
+      Width = 75
+      Height = 25
       Caption = 'Previous'
       Caption = 'Previous'
       TabOrder = 2
       TabOrder = 2
       OnClick = Button4Click
       OnClick = Button4Click
     end
     end
     object aniBox: TComboBox
     object aniBox: TComboBox
-      Left = 182
-      Top = 21
-      Width = 310
-      Height = 31
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+      Left = 104
+      Top = 12
+      Width = 177
+      Height = 21
       Style = csDropDownList
       Style = csDropDownList
       TabOrder = 3
       TabOrder = 3
       OnSelect = aniBoxSelect
       OnSelect = aniBoxSelect
@@ -111,17 +83,12 @@ object FormActorms3d: TFormActorms3d
         'Sit')
         'Sit')
     end
     end
     object aniPos: TTrackBar
     object aniPos: TTrackBar
-      Left = 679
-      Top = 21
-      Width = 828
-      Height = 51
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+      Left = 388
+      Top = 12
+      Width = 473
+      Height = 29
       Enabled = False
       Enabled = False
       TabOrder = 4
       TabOrder = 4
-      ThumbLength = 35
       OnChange = aniPosChange
       OnChange = aniPosChange
     end
     end
   end
   end

+ 1 - 1
Examples/AdvDemos/ActorMS3D/fActorms3dD.pas

@@ -20,7 +20,7 @@ uses
   GLScene.Utils,
   GLScene.Utils,
 
 
   GLScene.PipelineTransform,
   GLScene.PipelineTransform,
-  GLScene.VectorLists,
+  GLS.VectorLists,
   GLS.Cadencer,
   GLS.Cadencer,
   GLS.SceneViewer,
   GLS.SceneViewer,
   GLS.BaseClasses,
   GLS.BaseClasses,

+ 1 - 1
Examples/AdvDemos/Archipelago/Splitter/fSplitterD.pas

@@ -45,7 +45,7 @@ implementation
 {$R *.dfm}
 {$R *.dfm}
 
 
 uses
 uses
-  GLScene.VectorLists;
+  GLS.VectorLists;
 
 
 procedure TForm1.Button1Click(Sender: TObject);
 procedure TForm1.Button1Click(Sender: TObject);
 var
 var

+ 1 - 1
Examples/AdvDemos/Archipelago/fArchipelagoC.h

@@ -31,7 +31,7 @@
 #include "GLS.SkyDome.hpp"
 #include "GLS.SkyDome.hpp"
 #include "GLS.TerrainRenderer.hpp"
 #include "GLS.TerrainRenderer.hpp"
 
 
-#include "GLScene.VectorLists.hpp"
+#include "GLS.VectorLists.hpp"
 #include "GLScene.VectorTypes.hpp"
 #include "GLScene.VectorTypes.hpp"
 #include "GLScene.VectorGeometry.hpp"
 #include "GLScene.VectorGeometry.hpp"
 #include "GLS.VectorFileObjects.hpp"
 #include "GLS.VectorFileObjects.hpp"

+ 1 - 1
Examples/AdvDemos/Archipelago/fArchipelagoD.pas

@@ -19,7 +19,7 @@ uses
 
 
   GLS.Coordinates,
   GLS.Coordinates,
   GLS.BaseClasses,
   GLS.BaseClasses,
-  GLScene.VectorLists,
+  GLS.VectorLists,
   GLScene.VectorTypes,
   GLScene.VectorTypes,
   GLScene.VectorGeometry,
   GLScene.VectorGeometry,
   GLScene.XCollection,
   GLScene.XCollection,

+ 7 - 16
Examples/AdvDemos/Forest/fForestD.dfm

@@ -1,18 +1,14 @@
 object Form1: TForm1
 object Form1: TForm1
   Left = 541
   Left = 541
   Top = 166
   Top = 166
-  Margins.Left = 5
-  Margins.Top = 5
-  Margins.Right = 5
-  Margins.Bottom = 5
   BorderStyle = bsNone
   BorderStyle = bsNone
   Caption = 'Form1'
   Caption = 'Form1'
-  ClientHeight = 800
-  ClientWidth = 1069
+  ClientHeight = 457
+  ClientWidth = 611
   Color = clBtnFace
   Color = clBtnFace
   Font.Charset = DEFAULT_CHARSET
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
   Font.Color = clWindowText
-  Font.Height = -19
+  Font.Height = -11
   Font.Name = 'MS Sans Serif'
   Font.Name = 'MS Sans Serif'
   Font.Style = []
   Font.Style = []
   WindowState = wsMaximized
   WindowState = wsMaximized
@@ -22,17 +18,12 @@ object Form1: TForm1
   OnKeyDown = FormKeyDown
   OnKeyDown = FormKeyDown
   OnResize = FormResize
   OnResize = FormResize
   OnShow = FormShow
   OnShow = FormShow
-  PixelsPerInch = 168
-  TextHeight = 24
+  TextHeight = 13
   object SceneViewer: TGLSceneViewer
   object SceneViewer: TGLSceneViewer
     Left = 0
     Left = 0
     Top = 0
     Top = 0
-    Width = 1069
-    Height = 800
-    Margins.Left = 5
-    Margins.Top = 5
-    Margins.Right = 5
-    Margins.Bottom = 5
+    Width = 611
+    Height = 457
     Camera = Camera
     Camera = Camera
     Buffer.FogEnvironment.FogColor.Color = {9CC4403FFED4583F48E17A3F0000803F}
     Buffer.FogEnvironment.FogColor.Color = {9CC4403FFED4583F48E17A3F0000803F}
     Buffer.FogEnvironment.FogStart = 3500.000000000000000000
     Buffer.FogEnvironment.FogStart = 3500.000000000000000000
@@ -42,7 +33,7 @@ object Form1: TForm1
     Buffer.FogEnable = True
     Buffer.FogEnable = True
     Buffer.Lighting = False
     Buffer.Lighting = False
     Buffer.AntiAliasing = aaNone
     Buffer.AntiAliasing = aaNone
-    FieldOfView = 165.749969482421900000
+    FieldOfView = 155.314346313476600000
     PenAsTouch = False
     PenAsTouch = False
     Align = alClient
     Align = alClient
     TabOrder = 0
     TabOrder = 0

+ 4 - 6
Examples/AdvDemos/Forest/fForestD.pas

@@ -20,7 +20,7 @@ uses
   GLScene.VectorTypes,
   GLScene.VectorTypes,
   GLScene.VectorGeometry,
   GLScene.VectorGeometry,
   GLScene.XCollection,
   GLScene.XCollection,
-  GLScene.VectorLists,
+  GLS.VectorLists,
   GLS.PersistentClasses,
   GLS.PersistentClasses,
   GLS.BaseClasses,
   GLS.BaseClasses,
   GLScene.TextureFormat,
   GLScene.TextureFormat,
@@ -112,7 +112,7 @@ type
     Path: TFileName;
     Path: TFileName;
     TestTree: TGLTree;
     TestTree: TGLTree;
     TreesShown: Integer;
     TreesShown: Integer;
-    nearTrees: TGLPersistentObjectList;
+    nearTrees: TGPersistentObjectList;
     Imposter: TImposter;
     Imposter: TImposter;
     densityBitmap: TBitmap;
     densityBitmap: TBitmap;
     mirrorTexture: TGLTextureHandle;
     mirrorTexture: TGLTextureHandle;
@@ -126,9 +126,7 @@ type
 var
 var
   Form1: TForm1;
   Form1: TForm1;
 
 
-// -----------------------------------------------
-implementation
-// -----------------------------------------------
+implementation // ------------------------------------------------------------
 
 
 {$R *.dfm}
 {$R *.dfm}
 
 
@@ -218,7 +216,7 @@ begin
   SetCursorPos(lmp.X, lmp.Y);
   SetCursorPos(lmp.X, lmp.Y);
   ShowCursor(False);
   ShowCursor(False);
 
 
-  nearTrees := TGLPersistentObjectList.Create;
+  nearTrees := TGPersistentObjectList.Create;
 
 
   camTurn := -60;
   camTurn := -60;
   enableRectReflection := False;
   enableRectReflection := False;

+ 46 - 81
Examples/AdvDemos/GLSViewer/Source/fGLSViewer.dfm

@@ -1,17 +1,13 @@
 object FormGLSViewer: TFormGLSViewer
 object FormGLSViewer: TFormGLSViewer
   Left = 188
   Left = 188
   Top = 87
   Top = 87
-  Margins.Left = 5
-  Margins.Top = 5
-  Margins.Right = 5
-  Margins.Bottom = 5
   Caption = 'GLSViewer'
   Caption = 'GLSViewer'
-  ClientHeight = 837
-  ClientWidth = 1223
+  ClientHeight = 702
+  ClientWidth = 1080
   Color = clBtnFace
   Color = clBtnFace
   Font.Charset = DEFAULT_CHARSET
   Font.Charset = DEFAULT_CHARSET
   Font.Color = clWindowText
   Font.Color = clWindowText
-  Font.Height = -19
+  Font.Height = -11
   Font.Name = 'MS Sans Serif'
   Font.Name = 'MS Sans Serif'
   Font.Style = []
   Font.Style = []
   Icon.Data = {
   Icon.Data = {
@@ -133,51 +129,44 @@ object FormGLSViewer: TFormGLSViewer
   ShowHint = True
   ShowHint = True
   OnCreate = FormCreate
   OnCreate = FormCreate
   OnShow = FormShow
   OnShow = FormShow
-  PixelsPerInch = 168
-  TextHeight = 24
+  TextHeight = 13
   object StatusBar: TStatusBar
   object StatusBar: TStatusBar
     Left = 0
     Left = 0
-    Top = 803
-    Width = 1223
-    Height = 34
-    Margins.Left = 5
-    Margins.Top = 5
-    Margins.Right = 5
-    Margins.Bottom = 5
+    Top = 683
+    Width = 1080
+    Height = 19
     Panels = <
     Panels = <
       item
       item
         Text = 'X'
         Text = 'X'
-        Width = 88
+        Width = 50
       end
       end
       item
       item
         Text = 'Y'
         Text = 'Y'
-        Width = 88
+        Width = 50
       end
       end
       item
       item
         Text = 'Z'
         Text = 'Z'
-        Width = 88
+        Width = 50
       end
       end
       item
       item
         Text = 'Model'
         Text = 'Model'
-        Width = 70
+        Width = 40
       end>
       end>
+    ExplicitTop = 459
+    ExplicitWidth = 699
   end
   end
   object snViewer: TGLSceneViewer
   object snViewer: TGLSceneViewer
-    Left = 267
-    Top = 97
-    Width = 956
-    Height = 706
-    Margins.Left = 5
-    Margins.Top = 5
-    Margins.Right = 5
-    Margins.Bottom = 5
+    Left = 273
+    Top = 56
+    Width = 807
+    Height = 627
     Camera = Camera
     Camera = Camera
     BeforeRender = snViewerBeforeRender
     BeforeRender = snViewerBeforeRender
     AfterRender = snViewerAfterRender
     AfterRender = snViewerAfterRender
     Buffer.BackgroundColor = clBlack
     Buffer.BackgroundColor = clBlack
     Buffer.ContextOptions = [roDoubleBuffer, roRenderToWindow, roTwoSideLighting]
     Buffer.ContextOptions = [roDoubleBuffer, roRenderToWindow, roTwoSideLighting]
     Buffer.FaceCulling = False
     Buffer.FaceCulling = False
-    FieldOfView = 163.876159667968800000
+    FieldOfView = 161.876480102539100000
     PenAsTouch = False
     PenAsTouch = False
     OnMouseLeave = snViewerMouseLeave
     OnMouseLeave = snViewerMouseLeave
     Align = alClient
     Align = alClient
@@ -187,25 +176,17 @@ object FormGLSViewer: TFormGLSViewer
   end
   end
   object ControlBar: TControlBar
   object ControlBar: TControlBar
     Left = 0
     Left = 0
-    Top = 46
-    Width = 1223
-    Height = 51
-    Margins.Left = 5
-    Margins.Top = 5
-    Margins.Right = 5
-    Margins.Bottom = 5
+    Top = 27
+    Width = 1080
+    Height = 29
     Align = alTop
     Align = alTop
-    RowSize = 46
     TabOrder = 2
     TabOrder = 2
+    ExplicitWidth = 699
     object atbTools: TActionToolBar
     object atbTools: TActionToolBar
-      Left = 580
+      Left = 357
       Top = 2
       Top = 2
-      Width = 113
-      Height = 42
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+      Width = 65
+      Height = 22
       ActionManager = ActionManager
       ActionManager = ActionManager
       Caption = 'Tools'
       Caption = 'Tools'
       Color = clMenuBar
       Color = clMenuBar
@@ -215,21 +196,17 @@ object FormGLSViewer: TFormGLSViewer
       ColorMap.UnusedColor = clWhite
       ColorMap.UnusedColor = clWhite
       Font.Charset = DEFAULT_CHARSET
       Font.Charset = DEFAULT_CHARSET
       Font.Color = clBlack
       Font.Color = clBlack
-      Font.Height = -23
+      Font.Height = -13
       Font.Name = 'Tahoma'
       Font.Name = 'Tahoma'
       Font.Style = []
       Font.Style = []
       ParentFont = False
       ParentFont = False
       Spacing = 0
       Spacing = 0
     end
     end
     object atbView: TActionToolBar
     object atbView: TActionToolBar
-      Left = 176
+      Left = 118
       Top = 2
       Top = 2
-      Width = 383
-      Height = 42
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+      Width = 218
+      Height = 22
       ActionManager = ActionManager
       ActionManager = ActionManager
       Caption = 'View'
       Caption = 'View'
       Color = clMenuBar
       Color = clMenuBar
@@ -239,7 +216,7 @@ object FormGLSViewer: TFormGLSViewer
       ColorMap.UnusedColor = clWhite
       ColorMap.UnusedColor = clWhite
       Font.Charset = DEFAULT_CHARSET
       Font.Charset = DEFAULT_CHARSET
       Font.Color = clBlack
       Font.Color = clBlack
-      Font.Height = -23
+      Font.Height = -13
       Font.Name = 'Tahoma'
       Font.Name = 'Tahoma'
       Font.Style = []
       Font.Style = []
       ParentFont = False
       ParentFont = False
@@ -248,12 +225,8 @@ object FormGLSViewer: TFormGLSViewer
     object atbFile: TActionToolBar
     object atbFile: TActionToolBar
       Left = 19
       Left = 19
       Top = 2
       Top = 2
-      Width = 136
-      Height = 42
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+      Width = 78
+      Height = 22
       ActionManager = ActionManager
       ActionManager = ActionManager
       Caption = 'File'
       Caption = 'File'
       Color = clMenuBar
       Color = clMenuBar
@@ -263,7 +236,7 @@ object FormGLSViewer: TFormGLSViewer
       ColorMap.UnusedColor = clWhite
       ColorMap.UnusedColor = clWhite
       Font.Charset = DEFAULT_CHARSET
       Font.Charset = DEFAULT_CHARSET
       Font.Color = clBlack
       Font.Color = clBlack
-      Font.Height = -23
+      Font.Height = -13
       Font.Name = 'Tahoma'
       Font.Name = 'Tahoma'
       Font.Style = []
       Font.Style = []
       ParentFont = False
       ParentFont = False
@@ -275,12 +248,8 @@ object FormGLSViewer: TFormGLSViewer
   object amMenuBar: TActionMainMenuBar
   object amMenuBar: TActionMainMenuBar
     Left = 0
     Left = 0
     Top = 0
     Top = 0
-    Width = 1223
-    Height = 46
-    Margins.Left = 5
-    Margins.Top = 5
-    Margins.Right = 5
-    Margins.Bottom = 5
+    Width = 1080
+    Height = 27
     UseSystemFont = False
     UseSystemFont = False
     ActionManager = ActionManager
     ActionManager = ActionManager
     Caption = 'ActionMainMenuBar'
     Caption = 'ActionMainMenuBar'
@@ -291,35 +260,28 @@ object FormGLSViewer: TFormGLSViewer
     ColorMap.UnusedColor = clWhite
     ColorMap.UnusedColor = clWhite
     Font.Charset = DEFAULT_CHARSET
     Font.Charset = DEFAULT_CHARSET
     Font.Color = clBlack
     Font.Color = clBlack
-    Font.Height = -19
+    Font.Height = -11
     Font.Name = 'MS Sans Serif'
     Font.Name = 'MS Sans Serif'
     Font.Style = []
     Font.Style = []
     Spacing = 0
     Spacing = 0
+    ExplicitWidth = 699
   end
   end
   object PanelLeft: TPanel
   object PanelLeft: TPanel
     Left = 0
     Left = 0
-    Top = 97
-    Width = 267
-    Height = 706
-    Margins.Left = 5
-    Margins.Top = 5
-    Margins.Right = 5
-    Margins.Bottom = 5
+    Top = 56
+    Width = 273
+    Height = 627
     Align = alLeft
     Align = alLeft
     TabOrder = 4
     TabOrder = 4
     object tvScene: TTreeView
     object tvScene: TTreeView
       Left = 1
       Left = 1
       Top = 1
       Top = 1
-      Width = 265
-      Height = 704
-      Margins.Left = 5
-      Margins.Top = 5
-      Margins.Right = 5
-      Margins.Bottom = 5
+      Width = 271
+      Height = 625
       Align = alClient
       Align = alClient
       CheckStyles = [csDimmed]
       CheckStyles = [csDimmed]
       Images = dmImages.ImageListGLS
       Images = dmImages.ImageListGLS
-      Indent = 33
+      Indent = 19
       ParentShowHint = False
       ParentShowHint = False
       ShowHint = True
       ShowHint = True
       TabOrder = 0
       TabOrder = 0
@@ -519,6 +481,9 @@ object FormGLSViewer: TFormGLSViewer
         6D0070007500740069006E0067000000410000005E0000005E000000FFFFFFFF
         6D0070007500740069006E0067000000410000005E0000005E000000FFFFFFFF
         FFFFFFFF0000000000000000000000000001114300550044004100470065006E
         FFFFFFFF0000000000000000000000000001114300550044004100470065006E
         006500720061007400650064004D00650073006800}
         006500720061007400650064004D00650073006800}
+      ExplicitLeft = -4
+      ExplicitTop = 3
+      ExplicitWidth = 151
     end
     end
   end
   end
   object Scene: TGLScene
   object Scene: TGLScene

+ 2 - 2
Examples/AdvDemos/GLSViewer/Source/fGLSViewer.pas

@@ -37,7 +37,7 @@ uses
   Vcl.ImageCollection,
   Vcl.ImageCollection,
 
 
   GLScene.VectorTypes,
   GLScene.VectorTypes,
-  GLScene.VectorLists,
+  GLS.VectorLists,
   GLScene.Keyboard,
   GLScene.Keyboard,
   GLScene.VectorGeometry,
   GLScene.VectorGeometry,
   GLS.Coordinates,
   GLS.Coordinates,
@@ -910,7 +910,7 @@ var
   I: Integer;
   I: Integer;
   mo: TGLMeshObject;
   mo: TGLMeshObject;
   fg: TFGVertexIndexList;
   fg: TFGVertexIndexList;
-  strips: TGLPersistentObjectList;
+  strips: TGPersistentObjectList;
 begin
 begin
   acConvertToTriangles.Execute;
   acConvertToTriangles.Execute;
   mo := ffObject.MeshObjects[0];
   mo := ffObject.MeshObjects[0];

+ 1 - 1
Examples/AdvDemos/IntensityMesh/fIntensityMeshD.pas

@@ -18,7 +18,7 @@ uses
   GLS.Scene,
   GLS.Scene,
   GLScene.VectorTypes,
   GLScene.VectorTypes,
   GLS.VectorFileObjects,
   GLS.VectorFileObjects,
-  GLScene.VectorLists,
+  GLS.VectorLists,
   GLS.SceneViewer,
   GLS.SceneViewer,
   GLS.Mesh,
   GLS.Mesh,
   GLS.Texture,
   GLS.Texture,

+ 72 - 0
Examples/Democ.groupproj

@@ -0,0 +1,72 @@
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+    <PropertyGroup>
+        <ProjectGuid>{47BA3ACE-A42B-4A10-B874-31EE04DA77DE}</ProjectGuid>
+    </PropertyGroup>
+    <ItemGroup>
+        <Projects Include="Demos\bench\BenchC.cbproj">
+            <Dependencies/>
+        </Projects>
+        <Projects Include="Demos\movements\MovementsC.cbproj">
+            <Dependencies/>
+        </Projects>
+        <Projects Include="Demos\extrusion\ExtrusionC.cbproj">
+            <Dependencies/>
+        </Projects>
+        <Projects Include="Demos\graph\GraphC.cbproj">
+            <Dependencies/>
+        </Projects>
+    </ItemGroup>
+    <ProjectExtensions>
+        <Borland.Personality>Default.Personality.12</Borland.Personality>
+        <Borland.ProjectType/>
+        <BorlandProject>
+            <Default.Personality/>
+        </BorlandProject>
+    </ProjectExtensions>
+    <Target Name="BenchC">
+        <MSBuild Projects="Demos\bench\BenchC.cbproj"/>
+    </Target>
+    <Target Name="BenchC:Clean">
+        <MSBuild Projects="Demos\bench\BenchC.cbproj" Targets="Clean"/>
+    </Target>
+    <Target Name="BenchC:Make">
+        <MSBuild Projects="Demos\bench\BenchC.cbproj" Targets="Make"/>
+    </Target>
+    <Target Name="MovementsC">
+        <MSBuild Projects="Demos\movements\MovementsC.cbproj"/>
+    </Target>
+    <Target Name="MovementsC:Clean">
+        <MSBuild Projects="Demos\movements\MovementsC.cbproj" Targets="Clean"/>
+    </Target>
+    <Target Name="MovementsC:Make">
+        <MSBuild Projects="Demos\movements\MovementsC.cbproj" Targets="Make"/>
+    </Target>
+    <Target Name="ExtrusionC">
+        <MSBuild Projects="Demos\extrusion\ExtrusionC.cbproj"/>
+    </Target>
+    <Target Name="ExtrusionC:Clean">
+        <MSBuild Projects="Demos\extrusion\ExtrusionC.cbproj" Targets="Clean"/>
+    </Target>
+    <Target Name="ExtrusionC:Make">
+        <MSBuild Projects="Demos\extrusion\ExtrusionC.cbproj" Targets="Make"/>
+    </Target>
+    <Target Name="GraphC">
+        <MSBuild Projects="Demos\graph\GraphC.cbproj"/>
+    </Target>
+    <Target Name="GraphC:Clean">
+        <MSBuild Projects="Demos\graph\GraphC.cbproj" Targets="Clean"/>
+    </Target>
+    <Target Name="GraphC:Make">
+        <MSBuild Projects="Demos\graph\GraphC.cbproj" Targets="Make"/>
+    </Target>
+    <Target Name="Build">
+        <CallTarget Targets="BenchC;MovementsC;ExtrusionC;GraphC"/>
+    </Target>
+    <Target Name="Clean">
+        <CallTarget Targets="BenchC:Clean;MovementsC:Clean;ExtrusionC:Clean;GraphC:Clean"/>
+    </Target>
+    <Target Name="Make">
+        <CallTarget Targets="BenchC:Make;MovementsC:Make;ExtrusionC:Make;GraphC:Make"/>
+    </Target>
+    <Import Project="$(BDS)\Bin\CodeGear.Group.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Group.Targets')"/>
+</Project>

+ 3 - 51
Examples/Demos.groupproj

@@ -6,27 +6,15 @@
         <Projects Include="Demos\bench\BenchD.dproj">
         <Projects Include="Demos\bench\BenchD.dproj">
             <Dependencies/>
             <Dependencies/>
         </Projects>
         </Projects>
-        <Projects Include="Demos\bench\BenchC.cbproj">
-            <Dependencies/>
-        </Projects>
         <Projects Include="Demos\movements\MovementsD.dproj">
         <Projects Include="Demos\movements\MovementsD.dproj">
             <Dependencies/>
             <Dependencies/>
         </Projects>
         </Projects>
-        <Projects Include="Demos\movements\MovementsC.cbproj">
-            <Dependencies/>
-        </Projects>
         <Projects Include="Demos\extrusion\ExtrusionD.dproj">
         <Projects Include="Demos\extrusion\ExtrusionD.dproj">
             <Dependencies/>
             <Dependencies/>
         </Projects>
         </Projects>
-        <Projects Include="Demos\extrusion\ExtrusionC.cbproj">
-            <Dependencies/>
-        </Projects>
         <Projects Include="Demos\graph\GraphD.dproj">
         <Projects Include="Demos\graph\GraphD.dproj">
             <Dependencies/>
             <Dependencies/>
         </Projects>
         </Projects>
-        <Projects Include="Demos\graph\GraphC.cbproj">
-            <Dependencies/>
-        </Projects>
     </ItemGroup>
     </ItemGroup>
     <ProjectExtensions>
     <ProjectExtensions>
         <Borland.Personality>Default.Personality.12</Borland.Personality>
         <Borland.Personality>Default.Personality.12</Borland.Personality>
@@ -44,15 +32,6 @@
     <Target Name="BenchD:Make">
     <Target Name="BenchD:Make">
         <MSBuild Projects="Demos\bench\BenchD.dproj" Targets="Make"/>
         <MSBuild Projects="Demos\bench\BenchD.dproj" Targets="Make"/>
     </Target>
     </Target>
-    <Target Name="BenchC">
-        <MSBuild Projects="Demos\bench\BenchC.cbproj"/>
-    </Target>
-    <Target Name="BenchC:Clean">
-        <MSBuild Projects="Demos\bench\BenchC.cbproj" Targets="Clean"/>
-    </Target>
-    <Target Name="BenchC:Make">
-        <MSBuild Projects="Demos\bench\BenchC.cbproj" Targets="Make"/>
-    </Target>
     <Target Name="MovementsD">
     <Target Name="MovementsD">
         <MSBuild Projects="Demos\movements\MovementsD.dproj"/>
         <MSBuild Projects="Demos\movements\MovementsD.dproj"/>
     </Target>
     </Target>
@@ -62,15 +41,6 @@
     <Target Name="MovementsD:Make">
     <Target Name="MovementsD:Make">
         <MSBuild Projects="Demos\movements\MovementsD.dproj" Targets="Make"/>
         <MSBuild Projects="Demos\movements\MovementsD.dproj" Targets="Make"/>
     </Target>
     </Target>
-    <Target Name="MovementsC">
-        <MSBuild Projects="Demos\movements\MovementsC.cbproj"/>
-    </Target>
-    <Target Name="MovementsC:Clean">
-        <MSBuild Projects="Demos\movements\MovementsC.cbproj" Targets="Clean"/>
-    </Target>
-    <Target Name="MovementsC:Make">
-        <MSBuild Projects="Demos\movements\MovementsC.cbproj" Targets="Make"/>
-    </Target>
     <Target Name="ExtrusionD">
     <Target Name="ExtrusionD">
         <MSBuild Projects="Demos\extrusion\ExtrusionD.dproj"/>
         <MSBuild Projects="Demos\extrusion\ExtrusionD.dproj"/>
     </Target>
     </Target>
@@ -80,15 +50,6 @@
     <Target Name="ExtrusionD:Make">
     <Target Name="ExtrusionD:Make">
         <MSBuild Projects="Demos\extrusion\ExtrusionD.dproj" Targets="Make"/>
         <MSBuild Projects="Demos\extrusion\ExtrusionD.dproj" Targets="Make"/>
     </Target>
     </Target>
-    <Target Name="ExtrusionC">
-        <MSBuild Projects="Demos\extrusion\ExtrusionC.cbproj"/>
-    </Target>
-    <Target Name="ExtrusionC:Clean">
-        <MSBuild Projects="Demos\extrusion\ExtrusionC.cbproj" Targets="Clean"/>
-    </Target>
-    <Target Name="ExtrusionC:Make">
-        <MSBuild Projects="Demos\extrusion\ExtrusionC.cbproj" Targets="Make"/>
-    </Target>
     <Target Name="GraphD">
     <Target Name="GraphD">
         <MSBuild Projects="Demos\graph\GraphD.dproj"/>
         <MSBuild Projects="Demos\graph\GraphD.dproj"/>
     </Target>
     </Target>
@@ -98,23 +59,14 @@
     <Target Name="GraphD:Make">
     <Target Name="GraphD:Make">
         <MSBuild Projects="Demos\graph\GraphD.dproj" Targets="Make"/>
         <MSBuild Projects="Demos\graph\GraphD.dproj" Targets="Make"/>
     </Target>
     </Target>
-    <Target Name="GraphC">
-        <MSBuild Projects="Demos\graph\GraphC.cbproj"/>
-    </Target>
-    <Target Name="GraphC:Clean">
-        <MSBuild Projects="Demos\graph\GraphC.cbproj" Targets="Clean"/>
-    </Target>
-    <Target Name="GraphC:Make">
-        <MSBuild Projects="Demos\graph\GraphC.cbproj" Targets="Make"/>
-    </Target>
     <Target Name="Build">
     <Target Name="Build">
-        <CallTarget Targets="BenchD;BenchC;MovementsD;MovementsC;ExtrusionD;ExtrusionC;GraphD;GraphC"/>
+        <CallTarget Targets="BenchD;MovementsD;ExtrusionD;GraphD"/>
     </Target>
     </Target>
     <Target Name="Clean">
     <Target Name="Clean">
-        <CallTarget Targets="BenchD:Clean;BenchC:Clean;MovementsD:Clean;MovementsC:Clean;ExtrusionD:Clean;ExtrusionC:Clean;GraphD:Clean;GraphC:Clean"/>
+        <CallTarget Targets="BenchD:Clean;MovementsD:Clean;ExtrusionD:Clean;GraphD:Clean"/>
     </Target>
     </Target>
     <Target Name="Make">
     <Target Name="Make">
-        <CallTarget Targets="BenchD:Make;BenchC:Make;MovementsD:Make;MovementsC:Make;ExtrusionD:Make;ExtrusionC:Make;GraphD:Make;GraphC:Make"/>
+        <CallTarget Targets="BenchD:Make;MovementsD:Make;ExtrusionD:Make;GraphD:Make"/>
     </Target>
     </Target>
     <Import Project="$(BDS)\Bin\CodeGear.Group.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Group.Targets')"/>
     <Import Project="$(BDS)\Bin\CodeGear.Group.Targets" Condition="Exists('$(BDS)\Bin\CodeGear.Group.Targets')"/>
 </Project>
 </Project>

+ 1 - 1
Examples/Demos/behaviours/FPSMovement/fFPSMovementC.h

@@ -26,7 +26,7 @@
 #include "GLS.GeomObjects.hpp"
 #include "GLS.GeomObjects.hpp"
 #include "GLScene.VectorGeometry.hpp"
 #include "GLScene.VectorGeometry.hpp"
 #include "GLS.Octree.hpp"
 #include "GLS.Octree.hpp"
-#include "GLScene.VectorLists.hpp"
+#include "GLS.VectorLists.hpp"
 #include "GLS.Collision.hpp"
 #include "GLS.Collision.hpp"
 #include "GLS.Texture.hpp"
 #include "GLS.Texture.hpp"
 #include <System.Classes.hpp>
 #include <System.Classes.hpp>

+ 1 - 1
Examples/Demos/behaviours/FPSMovement/fFPSMovementD.pas

@@ -27,7 +27,7 @@ uses
   GLS.Collision,
   GLS.Collision,
   GLS.VectorFileObjects,
   GLS.VectorFileObjects,
   GLS.Navigator,
   GLS.Navigator,
-  GLScene.VectorLists,
+  GLS.VectorLists,
   GLS.Octree,
   GLS.Octree,
   GLS.File3DS,
   GLS.File3DS,
   GLScene.VectorGeometry,
   GLScene.VectorGeometry,

+ 1 - 1
Examples/Demos/collisions/TriangleBox/fTriangleBoxD.pas

@@ -16,7 +16,7 @@ uses
   Vcl.StdCtrls,
   Vcl.StdCtrls,
 
 
   GLScene.VectorTypes,
   GLScene.VectorTypes,
-  GLScene.VectorLists,
+  GLS.VectorLists,
   GLS.Scene,
   GLS.Scene,
   GLS.Objects,
   GLS.Objects,
   GLS.Cadencer,
   GLS.Cadencer,

+ 1 - 1
Examples/Demos/collisions/facevsface/fFacevsFaceD.pas

@@ -25,7 +25,7 @@ uses
   GLS.Collision,
   GLS.Collision,
   GLS.VectorFileObjects,
   GLS.VectorFileObjects,
 
 
-  GLScene.VectorLists,
+  GLS.VectorLists,
   GLS.File3DS,
   GLS.File3DS,
   GLS.Coordinates,
   GLS.Coordinates,
   GLScene.Utils,
   GLScene.Utils,

+ 1 - 1
Examples/Demos/collisions/octree/fOctreeD.pas

@@ -24,7 +24,7 @@ uses
   GLScene.Utils,
   GLScene.Utils,
   GLS.BaseClasses,
   GLS.BaseClasses,
   GLScene.VectorGeometry,
   GLScene.VectorGeometry,
-  GLScene.VectorLists,
+  GLS.VectorLists,
   GLS.File3DS;
   GLS.File3DS;
 
 
 type
 type

+ 1 - 1
Examples/Demos/glslshaders/FurShader/fFurShaderD.pas

@@ -20,7 +20,7 @@ uses
   Vcl.Imaging.jpeg,
   Vcl.Imaging.jpeg,
   GLS.Texture,
   GLS.Texture,
   GLS.FileTGA,
   GLS.FileTGA,
-  GLScene.VectorLists,
+  GLS.VectorLists,
   VectorTypes,
   VectorTypes,
   GLScene.Utils,
   GLScene.Utils,
   GLS.Context,
   GLS.Context,

+ 1 - 1
Examples/Demos/glslshaders/Ocean/fOceanD.pas

@@ -27,7 +27,7 @@ uses
   GLS.Graph,
   GLS.Graph,
   GLScene.VectorTypes,
   GLScene.VectorTypes,
   GLS.SkyDome,
   GLS.SkyDome,
-  GLScene.VectorLists,
+  GLS.VectorLists,
   GLS.FileDDS,
   GLS.FileDDS,
  
  
   GLS.Material,
   GLS.Material,

+ 1 - 1
Examples/Demos/glslshaders/ShaderComponent/fShaderCompD.pas

@@ -16,7 +16,7 @@ uses
   GLS.Scene,
   GLS.Scene,
   GLS.Objects,
   GLS.Objects,
   GLS.Graph,
   GLS.Graph,
-  GLScene.VectorLists,
+  GLS.VectorLists,
   GLScene.VectorTypes,
   GLScene.VectorTypes,
   GLScene.VectorGeometry,
   GLScene.VectorGeometry,
   GLSL.Shader,
   GLSL.Shader,

+ 1 - 1
Examples/Demos/glslshaders/ShadersLab/fShaderLabD.pas

@@ -23,7 +23,7 @@ uses
   Vcl.Imaging.PngImage,
   Vcl.Imaging.PngImage,
 
 
   GLScene.VectorTypes,
   GLScene.VectorTypes,
-  GLScene.VectorLists,
+  GLS.VectorLists,
   GLScene.VectorGeometry,
   GLScene.VectorGeometry,
   GLS.BaseClasses,
   GLS.BaseClasses,
   GLS.PersistentClasses,
   GLS.PersistentClasses,

+ 1 - 1
Examples/Demos/graph/points/fPointsD.pas

@@ -19,7 +19,7 @@ uses
   GLS.Objects,
   GLS.Objects,
   GLS.SceneViewer,
   GLS.SceneViewer,
   GLScene.VectorGeometry,
   GLScene.VectorGeometry,
-  GLScene.VectorLists,
+  GLS.VectorLists,
   GLS.Cadencer,
   GLS.Cadencer,
   GLS.Texture,
   GLS.Texture,
   GLS.Color,
   GLS.Color,

+ 1 - 1
Examples/Demos/graph/projection/fProjectionD.pas

@@ -15,7 +15,7 @@ uses
   GLS.SceneViewer,
   GLS.SceneViewer,
   GLS.Texture,
   GLS.Texture,
   GLScene.VectorGeometry,
   GLScene.VectorGeometry,
-  GLScene.VectorLists,
+  GLS.VectorLists,
   GLS.RenderContextInfo,
   GLS.RenderContextInfo,
   GLS.State,
   GLS.State,
   GLScene.VectorTypes,
   GLScene.VectorTypes,

+ 3 - 3
Examples/Demos/interface/Console/fConsoleC.dfm

@@ -290,9 +290,9 @@ object Form1: TForm1
       HudSprite.Material.BlendingMode = bmTransparency
       HudSprite.Material.BlendingMode = bmTransparency
       HudSprite.Material.Texture.TextureMode = tmModulate
       HudSprite.Material.Texture.TextureMode = tmModulate
       HudSprite.Material.Texture.Disabled = False
       HudSprite.Material.Texture.Disabled = False
-      HudSprite.Position.Coordinates = {00002F4366E69742000000000000803F}
-      HudSprite.Width = 350.000000000000000000
-      HudSprite.Height = 151.899993896484400000
+      HudSprite.Position.Coordinates = {00809C4300000543000000000000803F}
+      HudSprite.Width = 626.000000000000000000
+      HudSprite.Height = 266.000000000000000000
       HudSprite.Rotation = 0.000000000000000000
       HudSprite.Rotation = 0.000000000000000000
       HudText.Position.Coordinates = {0000404000000040000000000000803F}
       HudText.Position.Coordinates = {0000404000000040000000000000803F}
       HudText.BitmapFont = Font1
       HudText.BitmapFont = Font1

+ 1 - 1
Examples/Demos/meshes/ducky/fDuckyD.pas

@@ -23,7 +23,7 @@ uses
   GLS.SceneViewer,
   GLS.SceneViewer,
   GLS.ParametricSurfaces,
   GLS.ParametricSurfaces,
   GLScene.VectorGeometry,
   GLScene.VectorGeometry,
-  GLScene.VectorLists,
+  GLS.VectorLists,
   GLS.Texture,
   GLS.Texture,
  
  
   GLS.Coordinates,
   GLS.Coordinates,

+ 1 - 1
Examples/Demos/meshes/subdivide/fSubdivideD.pas

@@ -21,7 +21,7 @@ uses
   GLS.SceneViewer,
   GLS.SceneViewer,
   GLS.MeshUtils,
   GLS.MeshUtils,
   GLScene.VectorGeometry,
   GLScene.VectorGeometry,
-  GLScene.VectorLists,
+  GLS.VectorLists,
   GLS.Cadencer,
   GLS.Cadencer,
 
 
   GLS.Material,
   GLS.Material,

+ 1 - 1
Examples/Demos/physics/NewtonWalkShoot/fNGDWalkShootD.pas

@@ -14,7 +14,7 @@ uses
 
 
   GLS.Scene,
   GLS.Scene,
   GLScene.VectorTypes,
   GLScene.VectorTypes,
-  GLScene.VectorLists,
+  GLS.VectorLists,
   GLS.PersistentClasses,
   GLS.PersistentClasses,
   GLS.Objects,
   GLS.Objects,
   GLS.Coordinates,
   GLS.Coordinates,

+ 1 - 1
Examples/Demos/physics/OdeClothify/fOdeClothifyD.pas

@@ -24,7 +24,7 @@ uses
   GLS.VerletTypes,
   GLS.VerletTypes,
   GLS.VerletClothify,
   GLS.VerletClothify,
   GLScene.VectorTypes,
   GLScene.VectorTypes,
-  GLScene.VectorLists,
+  GLS.VectorLists,
   GLScene.VectorGeometry,
   GLScene.VectorGeometry,
   GLS.Texture,
   GLS.Texture,
   GLS.FileSMD,
   GLS.FileSMD,

+ 7 - 7
Examples/Demos/rendering/fullscreen/fFullScreenC.dfm

@@ -1,11 +1,11 @@
 object DataModule1: TDataModule1
 object DataModule1: TDataModule1
   OnCreate = DataModuleCreate
   OnCreate = DataModuleCreate
-  Height = 239
-  Width = 415
-  PixelsPerInch = 120
+  Height = 335
+  Width = 581
+  PixelsPerInch = 168
   object GLScene1: TGLScene
   object GLScene1: TGLScene
-    Left = 20
-    Top = 10
+    Left = 28
+    Top = 14
     object GLLightSource1: TGLLightSource
     object GLLightSource1: TGLLightSource
       ConstAttenuation = 1.000000000000000000
       ConstAttenuation = 1.000000000000000000
       Position.Coordinates = {0000484200004842000048420000803F}
       Position.Coordinates = {0000484200004842000048420000803F}
@@ -45,7 +45,7 @@ object DataModule1: TDataModule1
     StayOnTop = True
     StayOnTop = True
     RefreshRate = 100
     RefreshRate = 100
     OnKeyPress = GLFullScreenViewer1KeyPress
     OnKeyPress = GLFullScreenViewer1KeyPress
-    Left = 130
-    Top = 10
+    Left = 182
+    Top = 14
   end
   end
 end
 end

+ 1 - 1
Examples/Demos/specialsFX/posteffect/fPostEffectD.pas

@@ -21,7 +21,7 @@ uses
   GLS.VectorFileObjects,
   GLS.VectorFileObjects,
   GLS.Objects,
   GLS.Objects,
   GLS.Texture,
   GLS.Texture,
-  GLScene.VectorLists,
+  GLS.VectorLists,
   GLS.Cadencer,
   GLS.Cadencer,
   GLS.SceneViewer,
   GLS.SceneViewer,
   GLS.SimpleNavigation,
   GLS.SimpleNavigation,

+ 1 - 1
Examples/Demos/specialsFX/shadowvolumes/fShadowVolumesD.pas

@@ -20,7 +20,7 @@ uses
   GLS.SceneViewer,
   GLS.SceneViewer,
   GLS.ShadowVolume,
   GLS.ShadowVolume,
   GLS.VectorFileObjects,
   GLS.VectorFileObjects,
-  GLScene.VectorLists,
+  GLS.VectorLists,
   GLS.FileSMD,
   GLS.FileSMD,
   GLS.Texture,
   GLS.Texture,
   GLScene.VectorTypes,
   GLScene.VectorTypes,

+ 1 - 1
Examples/Demos/sprites/imposters/fImpostersD.pas

@@ -33,7 +33,7 @@ uses
   GLS.BaseClasses,
   GLS.BaseClasses,
   GLS.Material,
   GLS.Material,
   GLS.CompositeImage,
   GLS.CompositeImage,
-  GLScene.VectorLists,
+  GLS.VectorLists,
   GLScene.VectorTypes, GLS.SimpleNavigation;
   GLScene.VectorTypes, GLS.SimpleNavigation;
 
 
 type
 type

+ 330 - 339
Help/GLSysHelp/GLSysHelp.pds

@@ -3,16 +3,17 @@ StoreRelativePaths=1
 Language=en
 Language=en
 OutputDir=HTML
 OutputDir=HTML
 GenerateFormat=1
 GenerateFormat=1
+ImplementationComments=0
 ProjectName=GLSysHelp
 ProjectName=GLSysHelp
 Verbosity=3
 Verbosity=3
 ClassMembers_0=1
 ClassMembers_0=1
 ClassMembers_1=1
 ClassMembers_1=1
-ClassMembers_2=1
-ClassMembers_3=1
+ClassMembers_2=0
+ClassMembers_3=0
 ClassMembers_4=1
 ClassMembers_4=1
-ClassMembers_5=1
-ClassMembers_6=1
-ClassMembers_7=1
+ClassMembers_5=0
+ClassMembers_6=0
+ClassMembers_7=0
 ImplicitVisibility=0
 ImplicitVisibility=0
 Sorting_0=0
 Sorting_0=0
 Sorting_1=0
 Sorting_1=0
@@ -25,25 +26,27 @@ Sorting_7=0
 Sorting_8=1
 Sorting_8=1
 Sorting_9=1
 Sorting_9=1
 CssFileName=GLSysHelp.css
 CssFileName=GLSysHelp.css
-IntroductionFileName=..\Introduction.txt
-ConclusionFileName=..\Contributors.txt
+IntroductionFileName=IntroGLS.txt
+ConclusionFileName=
+HtmlHead=
+HtmlBodyBegin=
+HtmlBodyEnd=
+ExternalDescriptions=
 WriteUsesList=1
 WriteUsesList=1
 AutoAbstract=0
 AutoAbstract=0
 AutoLink=0
 AutoLink=0
 HandleMacros=0
 HandleMacros=0
 UseTipueSearch=0
 UseTipueSearch=0
+Markdown=0
+AutoBackComments=0
+OpenHTML=1
 LineBreakQuality=0
 LineBreakQuality=0
-SpecialMarkerTreatment=2
-Title=GLSysHelp v.2.1
+SpecialMarkerTreatment=0
+Title=GLSysHelp v.2.5
 VizGraphClasses=0
 VizGraphClasses=0
 VizGraphUses=0
 VizGraphUses=0
 CheckSpelling=0
 CheckSpelling=0
 LatexGraphicsPackage=0
 LatexGraphicsPackage=0
-HtmlHead=
-HtmlBodyBegin=
-HtmlBodyEnd=
-ExternalDescriptions=
-OpenHTML=1
 
 
 [Defines]
 [Defines]
 Count=3
 Count=3
@@ -53,7 +56,7 @@ Item_2=CPU386
 
 
 [Header]
 [Header]
 Count=1
 Count=1
-Item_0=GLScene v.2.1 for VCL
+Item_0=GLScene v.2.5 for VCL
 
 
 [Footer]
 [Footer]
 Count=0
 Count=0
@@ -66,329 +69,317 @@ Count=1
 Item_0=..\..\Source
 Item_0=..\..\Source
 
 
 [Files]
 [Files]
-Count=322
-Item_0=..\..\Source\Cg.BombShader.pas
+Count=310
+Item_0=..\..\Source\BASS.Import.pas
 Item_1=..\..\Source\Cg.GL.pas
 Item_1=..\..\Source\Cg.GL.pas
 Item_2=..\..\Source\Cg.Import.pas
 Item_2=..\..\Source\Cg.Import.pas
-Item_3=..\..\Source\Cg.PostTransformationShader.pas
-Item_4=..\..\Source\Cg.Register.pas
-Item_5=..\..\Source\Cg.Shader.pas
-Item_6=..\..\Source\CUDA.APIComps.pas
-Item_7=..\..\Source\CUDA.Compiler.pas
-Item_8=..\..\Source\CUDA.Context.pas
-Item_9=..\..\Source\CUDA.DataAccess.pas
-Item_10=..\..\Source\CUDA.EditorFm.pas
-Item_11=..\..\Source\CUDA.FFTPlan.pas
-Item_12=..\..\Source\CUDA.FourierTransform.pas
-Item_13=..\..\Source\CUDA.Graphics.pas
-Item_14=..\..\Source\CUDA.Import.pas
-Item_15=..\..\Source\CUDA.ParallelPrimitives.pas
-Item_16=..\..\Source\CUDA.Parser.pas
-Item_17=..\..\Source\CUDA.PropEditors.pas
-Item_18=..\..\Source\CUDA.Register.pas
-Item_19=..\..\Source\CUDA.Runtime.pas
-Item_20=..\..\Source\CUDA.Utility.pas
-Item_21=..\..\Source\DWS.Classes.pas
-Item_22=..\..\Source\DWS.HelperFunc.pas
-Item_23=..\..\Source\DWS.Objects.pas
-Item_24=..\..\Source\DWS.OpenGL.pas
-Item_25=..\..\Source\DWS.Scene.pas
-Item_26=..\..\Source\DWS.Script.pas
-Item_27=..\..\Source\DWS.VectorGeometry.pas
-Item_28=..\..\Source\FLibMaterialPicker.pas
-Item_29=..\..\Source\FmGuiLayoutEditor.pas
-Item_30=..\..\Source\FmGuiSkinEditor.pas
-Item_31=..\..\Source\FmInfo.pas
-Item_32=..\..\Source\FmLibMaterialPicker.pas
-Item_33=..\..\Source\FmMaterialEditor.pas
-Item_34=..\..\Source\FmPlugInManagerEditor.pas
-Item_35=..\..\Source\FmSceneEditor.pas
-Item_36=..\..\Source\FmShaderMemo.pas
-Item_37=..\..\Source\FmShaderUniformEditor.pas
-Item_38=..\..\Source\FmVectorEditor.pas
-Item_39=..\..\Source\FmXCollectionEditor.pas
-Item_40=..\..\Source\Formats.B3D.pas
-Item_41=..\..\Source\Formats.DDSImage.pas
-Item_42=..\..\Source\Formats.DXTC.pas
-Item_43=..\..\Source\Formats.GL2.pas
-Item_44=..\..\Source\Formats.HDRImage.pas
-Item_45=..\..\Source\Formats.LWO.pas
-Item_46=..\..\Source\Formats.m3DS.pas
-Item_47=..\..\Source\Formats.m3DSConst.pas
-Item_48=..\..\Source\Formats.m3DSTypes.pas
-Item_49=..\..\Source\Formats.m3DSUtils.pas
-Item_50=..\..\Source\Formats.MD2.pas
-Item_51=..\..\Source\Formats.MD3.pas
-Item_52=..\..\Source\Formats.OCT.pas
-Item_53=..\..\Source\Formats.Q3BSP.pas
-Item_54=..\..\Source\Formats.TGA.pas
-Item_55=..\..\Source\Formats.VFW.pas
-Item_56=..\..\Source\Formats.VRML.pas
-Item_57=..\..\Source\Formats.X.pas
-Item_58=..\..\Source\FRColorEditor.pas
-Item_59=..\..\Source\FRFaceEditor.pas
-Item_60=..\..\Source\FRMaterialPreview.pas
-Item_61=..\..\Source\FRTextureEdit.pas
-Item_62=..\..\Source\GLS.AnimatedSprite.pas
-Item_63=..\..\Source\GLS.AnimationUtils.pas
-Item_64=..\..\Source\GLS.ApplicationFileIO.pas
-Item_65=..\..\Source\GLS.ArchiveManager.pas
-Item_66=..\..\Source\GLS.AsyncHDS.pas
-Item_67=..\..\Source\GLS.AsyncTimer.pas
-Item_68=..\..\Source\GLS.Atmosphere.pas
-Item_69=..\..\Source\GLS.AVIRecorder.pas
-Item_70=..\..\Source\GLS.BaseClasses.pas
-Item_71=..\..\Source\GLS.BaseMeshSilhouette.pas
-Item_72=..\..\Source\GLS.Behaviours.pas
-Item_73=..\..\Source\GLS.BitmapFont.pas
-Item_74=..\..\Source\GLS.Blur.pas
-Item_75=..\..\Source\GLS.BumpmapHDS.pas
-Item_76=..\..\Source\GLS.Cadencer.pas
-Item_77=..\..\Source\GLS.CameraController.pas
-Item_78=..\..\Source\GLS.Canvas.pas
-Item_79=..\..\Source\GLS.Collision.pas
-Item_80=..\..\Source\GLS.Color.pas
-Item_81=..\..\Source\GLS.CompositeImage.pas
-Item_82=..\..\Source\GLS.Console.pas
-Item_83=..\..\Source\GLS.Context.pas
-Item_84=..\..\Source\GLS.Coordinates.pas
-Item_85=..\..\Source\GLS.CrossXML.pas
-Item_86=..\..\Source\GLS.CurvesAndSurfaces.pas
-Item_87=..\..\Source\GLS.DCE.pas
-Item_88=..\..\Source\GLS.DynamicTexture.pas
-Item_89=..\..\Source\GLS.EllipseCollision.pas
-Item_90=..\..\Source\GLS.EParticleMasksManager.pas
-Item_91=..\..\Source\GLS.ExplosionFx.pas
-Item_92=..\..\Source\GLS.Extrusion.pas
-Item_93=..\..\Source\GLS.FBORenderer.pas
-Item_94=..\..\Source\GLS.Feedback.pas
-Item_95=..\..\Source\GLS.File3DPDF.pas
-Item_96=..\..\Source\GLS.File3DS.pas
-Item_97=..\..\Source\GLS.File3DSSceneObjects.pas
-Item_98=..\..\Source\GLS.FileASE.pas
-Item_99=..\..\Source\GLS.FileB3D.pas
-Item_100=..\..\Source\GLS.FileBMP.pas
-Item_101=..\..\Source\GLS.FileDDS.pas
-Item_102=..\..\Source\GLS.FileDEL.pas
-Item_103=..\..\Source\GLS.FileDXF.pas
-Item_104=..\..\Source\GLS.FileGL2.pas
-Item_105=..\..\Source\GLS.FileGLB.pas
-Item_106=..\..\Source\GLS.FileGLTF.pas
-Item_107=..\..\Source\GLS.FileGRD.pas
-Item_108=..\..\Source\GLS.FileGTS.pas
-Item_109=..\..\Source\GLS.FileHDR.pas
-Item_110=..\..\Source\GLS.FileJPEG.pas
-Item_111=..\..\Source\GLS.FileLMTS.pas
-Item_112=..\..\Source\GLS.FileLWO.pas
-Item_113=..\..\Source\GLS.FileMD2.pas
-Item_114=..\..\Source\GLS.FileMD3.pas
-Item_115=..\..\Source\GLS.FileMD5.pas
-Item_116=..\..\Source\GLS.FileMDC.pas
-Item_117=..\..\Source\GLS.FileMP3.pas
-Item_118=..\..\Source\GLS.FileMS3D.pas
-Item_119=..\..\Source\GLS.FileNMF.pas
-Item_120=..\..\Source\GLS.FileNurbs.pas
-Item_121=..\..\Source\GLS.FileO3TC.pas
-Item_122=..\..\Source\GLS.FileO3TCImage.pas
-Item_123=..\..\Source\GLS.FileOBJ.pas
-Item_124=..\..\Source\GLS.FileOCT.pas
-Item_125=..\..\Source\GLS.FilePAK.pas
-Item_126=..\..\Source\GLS.FilePGM.pas
-Item_127=..\..\Source\GLS.FilePLY.pas
-Item_128=..\..\Source\GLS.FilePNG.pas
-Item_129=..\..\Source\GLS.FileQ3BSP.pas
-Item_130=..\..\Source\GLS.FileQ3MD3.pas
-Item_131=..\..\Source\GLS.FileSMD.pas
-Item_132=..\..\Source\GLS.FileSTL.pas
-Item_133=..\..\Source\GLS.FileTGA.pas
-Item_134=..\..\Source\GLS.FileTIN.pas
-Item_135=..\..\Source\GLS.FileVfsPAK.pas
-Item_136=..\..\Source\GLS.FileVOR.pas
-Item_137=..\..\Source\GLS.FileVRML.pas
-Item_138=..\..\Source\GLS.FileWAV.pas
-Item_139=..\..\Source\GLS.FileX.pas
-Item_140=..\..\Source\GLS.FileZLIB.pas
-Item_141=..\..\Source\GLS.FireFX.pas
-Item_142=..\..\Source\GLS.FPSMovement.pas
-Item_143=..\..\Source\GLS.FullScreenViewer.pas
-Item_144=..\..\Source\GLS.GameMenu.pas
-Item_145=..\..\Source\GLS.Generics.pas
-Item_146=..\..\Source\GLS.GeometryBB.pas
-Item_147=..\..\Source\GLS.GeomObjects.pas
-Item_148=..\..\Source\GLS.Gizmo.pas
-Item_149=..\..\Source\GLS.GizmoEx.pas
-Item_150=..\..\Source\GLS.Graph.pas
-Item_151=..\..\Source\GLS.Graphics.pas
-Item_152=..\..\Source\GLS.Gui.pas
-Item_153=..\..\Source\GLS.HeightData.pas
-Item_154=..\..\Source\GLS.HeightTileFileHDS.pas
-Item_155=..\..\Source\GLS.HUDObjects.pas
-Item_156=..\..\Source\GLS.ImageUtils.pas
-Item_157=..\..\Source\GLS.Imposter.pas
-Item_158=..\..\Source\GLS.Isolines.pas
-Item_159=..\..\Source\GLS.Isosurface.pas
-Item_160=..\..\Source\GLS.Joystick.pas
-Item_161=..\..\Source\GLS.Keyboard.pas
-Item_162=..\..\Source\GLS.Language.pas
-Item_163=..\..\Source\GLS.LensFlare.pas
-Item_164=..\..\Source\GLS.LinePFX.pas
-Item_165=..\..\Source\GLS.Logger.pas
-Item_166=..\..\Source\GLS.Manager.pas
-Item_167=..\..\Source\GLS.Material.pas
-Item_168=..\..\Source\GLS.MaterialEx.pas
-Item_169=..\..\Source\GLS.MaterialMultiProxy.pas
-Item_170=..\..\Source\GLS.MaterialScript.pas
-Item_171=..\..\Source\GLS.Memo.pas
-Item_172=..\..\Source\GLS.Mesh.pas
-Item_173=..\..\Source\GLS.MeshBSP.pas
-Item_174=..\..\Source\GLS.MeshBuilder.pas
-Item_175=..\..\Source\GLS.MeshCSG.pas
-Item_176=..\..\Source\GLS.MeshLines.pas
-Item_177=..\..\Source\GLS.MeshUtils.pas
-Item_178=..\..\Source\GLS.Mirror.pas
-Item_179=..\..\Source\GLS.ModuleLoader.pas
-Item_180=..\..\Source\GLS.Movement.pas
-Item_181=..\..\Source\GLS.MultiPolygon.pas
-Item_182=..\..\Source\GLS.MultiProxy.pas
-Item_183=..\..\Source\GLS.MultiSampleImage.pas
-Item_184=..\..\Source\GLS.Navigator.pas
-Item_185=..\..\Source\GLS.Nodes.pas
-Item_186=..\..\Source\GLS.ObjectManager.pas
-Item_187=..\..\Source\GLS.Objects.pas
-Item_188=..\..\Source\GLS.Octree.pas
-Item_189=..\..\Source\GLS.OpenGLAdapter.pas
-Item_190=..\..\Source\GLS.OpenGLTokens.pas
-Item_191=..\..\Source\GLS.OpenGLVCL.pas
-Item_192=..\..\Source\GLS.ParametricSurfaces.pas
-Item_193=..\..\Source\GLS.ParticleFX.pas
-Item_194=..\..\Source\GLS.Particles.pas
-Item_195=..\..\Source\GLS.Perlin.pas
-Item_196=..\..\Source\GLS.PerlinPFX.pas
-Item_197=..\..\Source\GLS.PersistentClasses.pas
-Item_198=..\..\Source\GLS.PipelineTransformation.pas
-Item_199=..\..\Source\GLS.PlugInManager.pas
-Item_200=..\..\Source\GLS.PolygonTesselation.pas
-Item_201=..\..\Source\GLS.Polynomials.pas
-Item_202=..\..\Source\GLS.Portal.pas
-Item_203=..\..\Source\GLS.ProcTextures.pas
-Item_204=..\..\Source\GLS.ProjectedTextures.pas
-Item_205=..\..\Source\GLS.ProxyObjects.pas
-Item_206=..\..\Source\GLS.PythonScript.pas
-Item_207=..\..\Source\GLS.Ragdoll.pas
-Item_208=..\..\Source\GLS.RandomHDS.pas
-Item_209=..\..\Source\GLS.RenderContextInfo.pas
-Item_210=..\..\Source\GLS.RGBE.pas
-Item_211=..\..\Source\GLS.ROAMPatch.pas
-Item_212=..\..\Source\GLS.Scene.pas
-Item_213=..\..\Source\GLS.SceneForm.pas
-Item_214=..\..\Source\GLS.SceneRegister.pas
-Item_215=..\..\Source\GLS.SceneViewer.pas
-Item_216=..\..\Source\GLS.Screen.pas
-Item_217=..\..\Source\GLS.ScreenSaver.pas
-Item_218=..\..\Source\GLS.ScriptBase.pas
-Item_219=..\..\Source\GLS.SDLContext.pas
-Item_220=..\..\Source\GLS.SDLWindow.pas
-Item_221=..\..\Source\GLS.Selection.pas
-Item_222=..\..\Source\GLS.ShadowHDS.pas
-Item_223=..\..\Source\GLS.ShadowPlane.pas
-Item_224=..\..\Source\GLS.ShadowVolume.pas
-Item_225=..\..\Source\GLS.Silhouette.pas
-Item_226=..\..\Source\GLS.SimpleNavigation.pas
-Item_227=..\..\Source\GLS.SkyDome.pas
-Item_228=..\..\Source\GLS.SmoothNavigator.pas
-Item_229=..\..\Source\GLS.Sound.pas
-Item_230=..\..\Source\GLS.SoundFileObjects.pas
-Item_231=..\..\Source\GLS.SpacePartition.pas
-Item_232=..\..\Source\GLS.SpaceText.pas
-Item_233=..\..\Source\GLS.Spline.pas
-Item_234=..\..\Source\GLS.State.pas
-Item_235=..\..\Source\GLS.Strings.pas
-Item_236=..\..\Source\GLS.TerrainRenderer.pas
-Item_237=..\..\Source\GLS.TexLensFlare.pas
-Item_238=..\..\Source\GLS.Texture.pas
-Item_239=..\..\Source\GLS.TextureCombiners.pas
-Item_240=..\..\Source\GLS.TexturedHDS.pas
-Item_241=..\..\Source\GLS.TextureFormat.pas
-Item_242=..\..\Source\GLS.TextureImageEditors.pas
-Item_243=..\..\Source\GLS.ThorFX.pas
-Item_244=..\..\Source\GLS.TilePlane.pas
-Item_245=..\..\Source\GLS.TimeEventsMgr.pas
-Item_246=..\..\Source\GLS.Trail.pas
-Item_247=..\..\Source\GLS.Tree.pas
-Item_248=..\..\Source\GLS.Triangulation.pas
-Item_249=..\..\Source\GLS.Utils.pas
-Item_250=..\..\Source\GLS.VectorFileObjects.pas
-Item_251=..\..\Source\GLS.VectorGeometry.pas
-Item_252=..\..\Source\GLS.VectorLists.pas
-Item_253=..\..\Source\GLS.VectorTypes.pas
-Item_254=..\..\Source\GLS.VectorTypesExt.pas
-Item_255=..\..\Source\GLS.VerletClothify.pas
-Item_256=..\..\Source\GLS.VerletTypes.pas
-Item_257=..\..\Source\GLS.WaterPlane.pas
-Item_258=..\..\Source\GLS.Windows.pas
-Item_259=..\..\Source\GLS.WindowsContext.pas
-Item_260=..\..\Source\GLS.WindowsFont.pas
-Item_261=..\..\Source\GLS.XCollection.pas
-Item_262=..\..\Source\GLS.XCollectionRegister.pas
-Item_263=..\..\Source\GLS.XOpenGL.pas
-Item_264=..\..\Source\GLS.zBuffer.pas
-Item_265=..\..\Source\GLSL.AsmShader.pas
-Item_266=..\..\Source\GLSL.BumpShaders.pas
-Item_267=..\..\Source\GLSL.CustomShader.pas
-Item_268=..\..\Source\GLSL.DiffuseSpecularShader.pas
-Item_269=..\..\Source\GLSL.LineShaders.pas
-Item_270=..\..\Source\GLSL.MultiMaterialShader.pas
-Item_271=..\..\Source\GLSL.PhongShader.pas
-Item_272=..\..\Source\GLSL.PostEffects.pas
-Item_273=..\..\Source\GLSL.PostShaders.pas
-Item_274=..\..\Source\GLSL.ProjectedTextures.pas
-Item_275=..\..\Source\GLSL.Shader.pas
-Item_276=..\..\Source\GLSL.ShaderCombiner.pas
-Item_277=..\..\Source\GLSL.ShaderDiffuseSpecular.pas
-Item_278=..\..\Source\GLSL.ShaderParameter.pas
-Item_279=..\..\Source\GLSL.ShapeShaders.pas
-Item_280=..\..\Source\GLSL.TextureShaders.pas
-Item_281=..\..\Source\GLSL.UserShader.pas
-Item_282=..\..\Source\OpenCL.GL.pas
-Item_283=..\..\Source\OpenCL.Import.pas
-Item_284=..\..\Source\OpenCL.Platform.pas
-Item_285=..\..\Source\PasDblStrUtils.pas
-Item_286=..\..\Source\PasGLTF.pas
-Item_287=..\..\Source\PasJSON.pas
-Item_288=..\..\Source\Physics.NewtonImport.pas
-Item_289=..\..\Source\Physics.NGDImport.pas
-Item_290=..\..\Source\Physics.NGDManager.pas
-Item_291=..\..\Source\Physics.NGDRagdoll.pas
-Item_292=..\..\Source\Physics.ODEImport.pas
-Item_293=..\..\Source\Physics.ODEManager.pas
-Item_294=..\..\Source\Physics.ODERagdoll.pas
-Item_295=..\..\Source\Physics.ODESkeletonColliders.pas
-Item_296=..\..\Source\Physics.ODEUtils.pas
-Item_297=..\..\Source\Physics.PhysXImport.pas
-Item_298=..\..\Source\Physics.Register.pas
-Item_299=..\..\Source\Physics.SPIFields.pas
-Item_300=..\..\Source\Physics.SPIForces.pas
-Item_301=..\..\Source\Physics.SPIInertias.pas
-Item_302=..\..\Source\Physics.SPIJoints.pas
-Item_303=..\..\Source\Physics.SPIManager.pas
-Item_304=..\..\Source\Pythons.Script.pas
-Item_305=..\..\Source\SDL2.Frame.pas
-Item_306=..\..\Source\SDL2.Image.pas
-Item_307=..\..\Source\SDL2.Import.pas
-Item_308=..\..\Source\SDL2.Mixer.pas
-Item_309=..\..\Source\SDL2.Net.pas
-Item_310=..\..\Source\SDL2.Ttf.pas
-Item_311=..\..\Source\Sounds.BASS.pas
-Item_312=..\..\Source\Sounds.BASSImport.pas
-Item_313=..\..\Source\Sounds.FMOD.pas
-Item_314=..\..\Source\Sounds.FMODerrors.pas
-Item_315=..\..\Source\Sounds.FMODImport.pas
-Item_316=..\..\Source\Sounds.FMODpresets.pas
-Item_317=..\..\Source\Sounds.FMODtypes.pas
-Item_318=..\..\Source\Sounds.OpenAL.pas
-Item_319=..\..\Source\Sounds.OpenALImport.pas
-Item_320=..\..\Source\Sounds.SoundRegister.pas
-Item_321=..\..\Source\Sounds.WaveOut.pas
+Item_3=..\..\Source\CUDA.DataAccess.pas
+Item_4=..\..\Source\CUDA.FourierTransform.pas
+Item_5=..\..\Source\CUDA.Import.pas
+Item_6=..\..\Source\CUDA.ParallelPrimitives.pas
+Item_7=..\..\Source\CUDA.Parser.pas
+Item_8=..\..\Source\CUDA.Runtime.pas
+Item_9=..\..\Source\CUDA.Utility.pas
+Item_10=..\..\Source\FmCUDAEditor.pas
+Item_11=..\..\Source\FmGuiLayoutEditor.pas
+Item_12=..\..\Source\FmGuiSkinEditor.pas
+Item_13=..\..\Source\FmInfo.pas
+Item_14=..\..\Source\FmLibMaterialPicker.pas
+Item_15=..\..\Source\FmMaterialEditor.pas
+Item_16=..\..\Source\FMOD.errors.pas
+Item_17=..\..\Source\FMOD.Import.pas
+Item_18=..\..\Source\FMOD.presets.pas
+Item_19=..\..\Source\FMOD.types.pas
+Item_20=..\..\Source\FmSceneEditor.pas
+Item_21=..\..\Source\FmShaderMemo.pas
+Item_22=..\..\Source\FmShaderUniformEditor.pas
+Item_23=..\..\Source\FmVectorEditor.pas
+Item_24=..\..\Source\FmXCollectionEditor.pas
+Item_25=..\..\Source\Formats.B3D.pas
+Item_26=..\..\Source\Formats.DDSImage.pas
+Item_27=..\..\Source\Formats.DXTC.pas
+Item_28=..\..\Source\Formats.GL2.pas
+Item_29=..\..\Source\Formats.HDRImage.pas
+Item_30=..\..\Source\Formats.LWO.pas
+Item_31=..\..\Source\Formats.m3DS.pas
+Item_32=..\..\Source\Formats.m3DSConst.pas
+Item_33=..\..\Source\Formats.m3DSTypes.pas
+Item_34=..\..\Source\Formats.m3DSUtils.pas
+Item_35=..\..\Source\Formats.MD2.pas
+Item_36=..\..\Source\Formats.MD3.pas
+Item_37=..\..\Source\Formats.OCT.pas
+Item_38=..\..\Source\Formats.Q3BSP.pas
+Item_39=..\..\Source\Formats.TGA.pas
+Item_40=..\..\Source\Formats.VFW.pas
+Item_41=..\..\Source\Formats.VRML.pas
+Item_42=..\..\Source\Formats.X.pas
+Item_43=..\..\Source\FRColorEditor.pas
+Item_44=..\..\Source\FRFaceEditor.pas
+Item_45=..\..\Source\FRMaterialPreview.pas
+Item_46=..\..\Source\FRTextureEdit.pas
+Item_47=..\..\Source\FRTrackBarEdit.pas
+Item_48=..\..\Source\GLS.AnimatedSprite.pas
+Item_49=..\..\Source\GLS.ApplicationFileIO.pas
+Item_50=..\..\Source\GLS.ArchiveManager.pas
+Item_51=..\..\Source\GLS.AsyncHDS.pas
+Item_52=..\..\Source\GLS.AsyncTimer.pas
+Item_53=..\..\Source\GLS.Atmosphere.pas
+Item_54=..\..\Source\GLS.AVIRecorder.pas
+Item_55=..\..\Source\GLS.BaseMeshSilhouette.pas
+Item_56=..\..\Source\GLS.Behaviours.pas
+Item_57=..\..\Source\GLS.BitmapFont.pas
+Item_58=..\..\Source\GLS.Blur.pas
+Item_59=..\..\Source\GLS.BumpmapHDS.pas
+Item_60=..\..\Source\GLS.Cadencer.pas
+Item_61=..\..\Source\GLS.CameraController.pas
+Item_62=..\..\Source\GLS.Canvas.pas
+Item_63=..\..\Source\GLS.CgBombShader.pas
+Item_64=..\..\Source\GLS.CgPostTransformationShader.pas
+Item_65=..\..\Source\GLS.CgRegister.pas
+Item_66=..\..\Source\GLS.CgShader.pas
+Item_67=..\..\Source\GLS.Collision.pas
+Item_68=..\..\Source\GLS.CompositeImage.pas
+Item_69=..\..\Source\GLS.Console.pas
+Item_70=..\..\Source\GLS.Context.pas
+Item_71=..\..\Source\GLS.CUDA.APIComps.pas
+Item_72=..\..\Source\GLS.CUDA.Compiler.pas
+Item_73=..\..\Source\GLS.CUDA.Context.pas
+Item_74=..\..\Source\GLS.CUDA.FFTPlan.pas
+Item_75=..\..\Source\GLS.CUDA.Graphics.pas
+Item_76=..\..\Source\GLS.CUDA.PropEditors.pas
+Item_77=..\..\Source\GLS.CUDA.Register.pas
+Item_78=..\..\Source\GLS.CyborgManager.pas
+Item_79=..\..\Source\GLS.DCE.pas
+Item_80=..\..\Source\GLS.DynamicTexture.pas
+Item_81=..\..\Source\GLS.EllipseCollision.pas
+Item_82=..\..\Source\GLS.EParticleMasksManager.pas
+Item_83=..\..\Source\GLS.ExplosionFx.pas
+Item_84=..\..\Source\GLS.Extrusion.pas
+Item_85=..\..\Source\GLS.FBORenderer.pas
+Item_86=..\..\Source\GLS.Feedback.pas
+Item_87=..\..\Source\GLS.File3DPDF.pas
+Item_88=..\..\Source\GLS.File3DS.pas
+Item_89=..\..\Source\GLS.File3DSSceneObjects.pas
+Item_90=..\..\Source\GLS.FileASE.pas
+Item_91=..\..\Source\GLS.FileB3D.pas
+Item_92=..\..\Source\GLS.FileBMP.pas
+Item_93=..\..\Source\GLS.FileDDS.pas
+Item_94=..\..\Source\GLS.FileDEL.pas
+Item_95=..\..\Source\GLS.FileDXF.pas
+Item_96=..\..\Source\GLS.FileGL2.pas
+Item_97=..\..\Source\GLS.FileGLTF.pas
+Item_98=..\..\Source\GLS.FileGRD.pas
+Item_99=..\..\Source\GLS.FileGTS.pas
+Item_100=..\..\Source\GLS.FileHDR.pas
+Item_101=..\..\Source\GLS.FileJPEG.pas
+Item_102=..\..\Source\GLS.FileLMTS.pas
+Item_103=..\..\Source\GLS.FileLWO.pas
+Item_104=..\..\Source\GLS.FileMD2.pas
+Item_105=..\..\Source\GLS.FileMD3.pas
+Item_106=..\..\Source\GLS.FileMD5.pas
+Item_107=..\..\Source\GLS.FileMDC.pas
+Item_108=..\..\Source\GLS.FileMP3.pas
+Item_109=..\..\Source\GLS.FileMS3D.pas
+Item_110=..\..\Source\GLS.FileNMF.pas
+Item_111=..\..\Source\GLS.FileNurbs.pas
+Item_112=..\..\Source\GLS.FileOBJ.pas
+Item_113=..\..\Source\GLS.FileOCT.pas
+Item_114=..\..\Source\GLS.FilePAK.pas
+Item_115=..\..\Source\GLS.FilePGM.pas
+Item_116=..\..\Source\GLS.FilePLY.pas
+Item_117=..\..\Source\GLS.FilePNG.pas
+Item_118=..\..\Source\GLS.FileQ3BSP.pas
+Item_119=..\..\Source\GLS.FileQ3MD3.pas
+Item_120=..\..\Source\GLS.FileSMD.pas
+Item_121=..\..\Source\GLS.FileSTL.pas
+Item_122=..\..\Source\GLS.FileTGA.pas
+Item_123=..\..\Source\GLS.FileTIN.pas
+Item_124=..\..\Source\GLS.FileVfsPAK.pas
+Item_125=..\..\Source\GLS.FileVOR.pas
+Item_126=..\..\Source\GLS.FileVRML.pas
+Item_127=..\..\Source\GLS.FileWAV.pas
+Item_128=..\..\Source\GLS.FileX.pas
+Item_129=..\..\Source\GLS.FileZLIB.pas
+Item_130=..\..\Source\GLS.FireFX.pas
+Item_131=..\..\Source\GLS.FPSMovement.pas
+Item_132=..\..\Source\GLS.FullScreenViewer.pas
+Item_133=..\..\Source\GLS.GameMenu.pas
+Item_134=..\..\Source\GLS.GeomObjects.pas
+Item_135=..\..\Source\GLS.Gizmo.pas
+Item_136=..\..\Source\GLS.GizmoEx.pas
+Item_137=..\..\Source\GLS.Graph.pas
+Item_138=..\..\Source\GLS.Graphics.pas
+Item_139=..\..\Source\GLS.Gui.pas
+Item_140=..\..\Source\GLS.HeightData.pas
+Item_141=..\..\Source\GLS.HeightTileFileHDS.pas
+Item_142=..\..\Source\GLS.HUDObjects.pas
+Item_143=..\..\Source\GLS.ImageUtils.pas
+Item_144=..\..\Source\GLS.Imposter.pas
+Item_145=..\..\Source\GLS.InitOpenGL.pas
+Item_146=..\..\Source\GLS.Isolines.pas
+Item_147=..\..\Source\GLS.Isosurface.pas
+Item_148=..\..\Source\GLS.Joystick.pas
+Item_149=..\..\Source\GLS.LensFlare.pas
+Item_150=..\..\Source\GLS.LinePFX.pas
+Item_151=..\..\Source\GLS.Material.pas
+Item_152=..\..\Source\GLS.MaterialEx.pas
+Item_153=..\..\Source\GLS.MaterialMultiProxy.pas
+Item_154=..\..\Source\GLS.MaterialScript.pas
+Item_155=..\..\Source\GLS.Memo.pas
+Item_156=..\..\Source\GLS.Mesh.pas
+Item_157=..\..\Source\GLS.MeshBSP.pas
+Item_158=..\..\Source\GLS.MeshBuilder.pas
+Item_159=..\..\Source\GLS.MeshCSG.pas
+Item_160=..\..\Source\GLS.MeshLines.pas
+Item_161=..\..\Source\GLS.MeshUtils.pas
+Item_162=..\..\Source\GLS.Mirror.pas
+Item_163=..\..\Source\GLS.Movement.pas
+Item_164=..\..\Source\GLS.MultiPolygon.pas
+Item_165=..\..\Source\GLS.MultiProxy.pas
+Item_166=..\..\Source\GLS.MultiSampleImage.pas
+Item_167=..\..\Source\GLS.Navigator.pas
+Item_168=..\..\Source\GLS.NGDManager.pas
+Item_169=..\..\Source\GLS.NGDRagdoll.pas
+Item_170=..\..\Source\GLS.Nodes.pas
+Item_171=..\..\Source\GLS.ObjectManager.pas
+Item_172=..\..\Source\GLS.Objects.pas
+Item_173=..\..\Source\GLS.Octree.pas
+Item_174=..\..\Source\GLS.ODEManager.pas
+Item_175=..\..\Source\GLS.ODERagdoll.pas
+Item_176=..\..\Source\GLS.ODESkeletonColliders.pas
+Item_177=..\..\Source\GLS.ODEUtils.pas
+Item_178=..\..\Source\GLS.OpenGLAdapter.pas
+Item_179=..\..\Source\GLS.PAKArchive.pas
+Item_180=..\..\Source\GLS.ParametricSurfaces.pas
+Item_181=..\..\Source\GLS.ParticleFX.pas
+Item_182=..\..\Source\GLS.Particles.pas
+Item_183=..\..\Source\GLS.Perlin.pas
+Item_184=..\..\Source\GLS.PerlinPFX.pas
+Item_185=..\..\Source\GLS.PhysFields.pas
+Item_186=..\..\Source\GLS.PhysForces.pas
+Item_187=..\..\Source\GLS.Physics.Register.pas
+Item_188=..\..\Source\GLS.PhysInertias.pas
+Item_189=..\..\Source\GLS.PhysJoints.pas
+Item_190=..\..\Source\GLS.PhysManager.pas
+Item_191=..\..\Source\GLS.PolygonTesselation.pas
+Item_192=..\..\Source\GLS.Polyhedra.pas
+Item_193=..\..\Source\GLS.Portal.pas
+Item_194=..\..\Source\GLS.ProcTextures.pas
+Item_195=..\..\Source\GLS.ProjectedTextures.pas
+Item_196=..\..\Source\GLS.ProxyObjects.pas
+Item_197=..\..\Source\GLS.Pythons.Script.pas
+Item_198=..\..\Source\GLS.Ragdoll.pas
+Item_199=..\..\Source\GLS.RandomHDS.pas
+Item_200=..\..\Source\GLS.RenderContextInfo.pas
+Item_201=..\..\Source\GLS.ROAMPatch.pas
+Item_202=..\..\Source\GLS.Scene.pas
+Item_203=..\..\Source\GLS.SceneForm.pas
+Item_204=..\..\Source\GLS.SceneRegister.pas
+Item_205=..\..\Source\GLS.SceneViewer.pas
+Item_206=..\..\Source\GLS.Screen.pas
+Item_207=..\..\Source\GLS.ScreenSaver.pas
+Item_208=..\..\Source\GLS.ScriptBase.pas
+Item_209=..\..\Source\GLS.SDL.Context.pas
+Item_210=..\..\Source\GLS.SDL.Window.pas
+Item_211=..\..\Source\GLS.Selection.pas
+Item_212=..\..\Source\GLS.ShadowHDS.pas
+Item_213=..\..\Source\GLS.ShadowPlane.pas
+Item_214=..\..\Source\GLS.ShadowVolume.pas
+Item_215=..\..\Source\GLS.Silhouette.pas
+Item_216=..\..\Source\GLS.SimpleNavigation.pas
+Item_217=..\..\Source\GLS.SkyDome.pas
+Item_218=..\..\Source\GLS.SmartObjects.pas
+Item_219=..\..\Source\GLS.SmoothNavigator.pas
+Item_220=..\..\Source\GLS.SoundFileObjects.pas
+Item_221=..\..\Source\GLS.SoundManager.pas
+Item_222=..\..\Source\GLS.Sounds.BASS.pas
+Item_223=..\..\Source\GLS.Sounds.FMOD.pas
+Item_224=..\..\Source\GLS.Sounds.OpenAL.pas
+Item_225=..\..\Source\GLS.Sounds.Register.pas
+Item_226=..\..\Source\GLS.Sounds.WaveOut.pas
+Item_227=..\..\Source\GLS.SpacePartition.pas
+Item_228=..\..\Source\GLS.SpaceText.pas
+Item_229=..\..\Source\GLS.State.pas
+Item_230=..\..\Source\GLS.TerrainRenderer.pas
+Item_231=..\..\Source\GLS.TexLensFlare.pas
+Item_232=..\..\Source\GLS.Texture.pas
+Item_233=..\..\Source\GLS.TextureCombiners.pas
+Item_234=..\..\Source\GLS.TexturedHDS.pas
+Item_235=..\..\Source\GLS.TextureImageEditors.pas
+Item_236=..\..\Source\GLS.ThorFX.pas
+Item_237=..\..\Source\GLS.TilePlane.pas
+Item_238=..\..\Source\GLS.TimeEventsMgr.pas
+Item_239=..\..\Source\GLS.Trail.pas
+Item_240=..\..\Source\GLS.Tree.pas
+Item_241=..\..\Source\GLS.VectorFileObjects.pas
+Item_242=..\..\Source\GLS.VerletClothify.pas
+Item_243=..\..\Source\GLS.VerletTypes.pas
+Item_244=..\..\Source\GLS.WaterPlane.pas
+Item_245=..\..\Source\GLS.Windows.pas
+Item_246=..\..\Source\GLS.WindowsContext.pas
+Item_247=..\..\Source\GLS.WindowsFont.pas
+Item_248=..\..\Source\GLS.XCollectionRegister.pas
+Item_249=..\..\Source\GLS.XOpenGL.pas
+Item_250=..\..\Source\GLS.zBuffer.pas
+Item_251=..\..\Source\GLScene.AnimationUtils.pas
+Item_252=..\..\Source\GLScene.BaseClasses.pas
+Item_253=..\..\Source\GLScene.Color.pas
+Item_254=..\..\Source\GLScene.Coordinates.pas
+Item_255=..\..\Source\GLScene.CurvesAndSurfaces.pas
+Item_256=..\..\Source\GLScene.Generics.pas
+Item_257=..\..\Source\GLScene.GeometryBB.pas
+Item_258=..\..\Source\GLScene.Keyboard.pas
+Item_259=..\..\Source\GLScene.Logger.pas
+Item_260=..\..\Source\GLScene.Manager.pas
+Item_261=..\..\Source\GLScene.OpenGL4.pas
+Item_262=..\..\Source\GLScene.OpenGLTokens.pas
+Item_263=..\..\Source\GLScene.PersistentClasses.pas
+Item_264=..\..\Source\GLScene.PipelineTransform.pas
+Item_265=..\..\Source\GLScene.Polynomials.pas
+Item_266=..\..\Source\GLScene.RandomLib.pas
+Item_267=..\..\Source\GLScene.RedBlackTree.pas
+Item_268=..\..\Source\GLScene.RGBE.pas
+Item_269=..\..\Source\GLScene.Spline.pas
+Item_270=..\..\Source\GLScene.Strings.pas
+Item_271=..\..\Source\GLScene.TextureFormat.pas
+Item_272=..\..\Source\GLScene.Triangulation.pas
+Item_273=..\..\Source\GLScene.Utils.pas
+Item_274=..\..\Source\GLScene.VectorGeometry.pas
+Item_275=..\..\Source\GLScene.VectorLists.pas
+Item_276=..\..\Source\GLScene.VectorTypes.pas
+Item_277=..\..\Source\GLScene.VectorTypesExt.pas
+Item_278=..\..\Source\GLScene.XCollection.pas
+Item_279=..\..\Source\GLSL.AsmShader.pas
+Item_280=..\..\Source\GLSL.BumpShaders.pas
+Item_281=..\..\Source\GLSL.CustomShader.pas
+Item_282=..\..\Source\GLSL.DiffuseSpecularShader.pas
+Item_283=..\..\Source\GLSL.LineShaders.pas
+Item_284=..\..\Source\GLSL.MultiMaterialShader.pas
+Item_285=..\..\Source\GLSL.PhongShader.pas
+Item_286=..\..\Source\GLSL.PostEffects.pas
+Item_287=..\..\Source\GLSL.PostShaders.pas
+Item_288=..\..\Source\GLSL.ProjectedTextures.pas
+Item_289=..\..\Source\GLSL.Shader.pas
+Item_290=..\..\Source\GLSL.ShaderCombiner.pas
+Item_291=..\..\Source\GLSL.ShaderParameter.pas
+Item_292=..\..\Source\GLSL.ShapeShaders.pas
+Item_293=..\..\Source\GLSL.TextureShaders.pas
+Item_294=..\..\Source\GLSL.UserShader.pas
+Item_295=..\..\Source\gnuGettext.pas
+Item_296=..\..\Source\gnuGettextInit.pas
+Item_297=..\..\Source\ModuleLoader.pas
+Item_298=..\..\Source\Newton.Import.pas
+Item_299=..\..\Source\NGD.Import.pas
+Item_300=..\..\Source\ODE.Import.pas
+Item_301=..\..\Source\OpenAL.Import.pas
+Item_302=..\..\Source\OpenCL.GL.pas
+Item_303=..\..\Source\OpenCL.Import.pas
+Item_304=..\..\Source\OpenCL.Platform.pas
+Item_305=..\..\Source\PasDblStrUtils.pas
+Item_306=..\..\Source\PasGLTF.pas
+Item_307=..\..\Source\PasJSON.pas
+Item_308=..\..\Source\PhysX.Import.pas
+Item_309=..\..\Source\SDL.Import.pas
 
 
 [AdditionalFiles]
 [AdditionalFiles]
 Count=0
 Count=0
@@ -398,9 +389,9 @@ Count=0
 
 
 [SpecialMarkers]
 [SpecialMarkers]
 Count=3
 Count=3
-Item_0=(*
-Item_1=//
-Item_2=
+Item_0=//
+Item_1=(*
+Item_2={
 
 
 [IgnoreWords]
 [IgnoreWords]
 Count=0
 Count=0

BIN
Help/GLSysHelp/HTML/GLSysHelp.chm


+ 0 - 2
Help/GLSysHelp/HTML/_Readme.txt

@@ -1,2 +0,0 @@
-The directory for autogenerated html files by PasDoc
-

+ 2 - 9
Help/Introduction.txt → Help/GLSysHelp/IntroGLS.txt

@@ -1,7 +1,3 @@
-GLScene for Win32/Win64
-
--------------------------------------------------------
-
 GLScene is an OpenGL based 3D library for Delphi, C++Builder and Lazarus. 
 GLScene is an OpenGL based 3D library for Delphi, C++Builder and Lazarus. 
 It provides visual components and objects allowing description and effective rendering of 3D scenes.
 It provides visual components and objects allowing description and effective rendering of 3D scenes.
 GLScene is not only an OpenGL wrapper or utility library, but it's grown to become a set of founding classes 
 GLScene is not only an OpenGL wrapper or utility library, but it's grown to become a set of founding classes 
@@ -17,9 +13,6 @@ FMOD, BASS, OpenAL and WaveOut.
 Advanced demos and samples could be found in the project directory GLScene\Examples.
 Advanced demos and samples could be found in the project directory GLScene\Examples.
 Some additional options for compiler are in GLS.Scene.inc (activated/deactivated, all are inactive by default):
 Some additional options for compiler are in GLS.Scene.inc (activated/deactivated, all are inactive by default):
 The option DEFINE GLS_Graphics32_SUPPORT controls support Alex Denissov's Graphics32 library 
 The option DEFINE GLS_Graphics32_SUPPORT controls support Alex Denissov's Graphics32 library 
-(http://www.graphics32.org), once activated will redirect assignments from 
-TBitmap32 to TGLBitmap32.
-
---------------------------------------------------------------
+(http://www.graphics32.org), once activated will redirect assignments from TBitmap32 to TGLBitmap32.
 
 
-GLSTeam
+GLXS Team

+ 4 - 4
Help/GLSysHelp/Readme.txt → Help/GLSysHelp/ReadGLS.txt

@@ -1,10 +1,10 @@
 The directory for PasDoc scripts
 The directory for PasDoc scripts
 ------------------------------------------------------------
 ------------------------------------------------------------
-To generate GLSysHelp.chm you need to follow the next steps:
-1.Download PasDoc program from https://github.com/pasdoc/pasdoc and setup it.
+To generate GLSysHelp.chm you need to follow steps:
+1.Download PasDoc program from https://github.com/pasdoc/pasdoc/releases/tag/snapshot and setup it.
 2.Run the pasdoc_gui program and Open GLSysHelp.pds script 
 2.Run the pasdoc_gui program and Open GLSysHelp.pds script 
 3.Click on the button Generate and create GLScene's help system files in HTML folder
 3.Click on the button Generate and create GLScene's help system files in HTML folder
 4.Download HTML Help Workshop 1.3 software from Microsoft site and setup it.
 4.Download HTML Help Workshop 1.3 software from Microsoft site and setup it.
 5.Run the hhw.exe program from C:\Program Files (x86)\HTML Help Workshop\
 5.Run the hhw.exe program from C:\Program Files (x86)\HTML Help Workshop\
-6.Open GLSysHelp.hhp project in ..\GLSysHelp\HTML\ folder and compile it.
-7.Clean HTML folder using _CleanHTML.bat and fimd there the file GLSysHelp.chm
+6.Open GLSysHelp.hhp project in ..GLScene\Help\GLSysHelp\HTML\ folder and compile it.
+7.Clean HTML folder using _CleanHTML.bat and find there the file GLSysHelp.chm

+ 0 - 1
Help/GLSysHelp/_CleanHTML.bat → Help/GLSysHelp/_CleanHTML.cmd

@@ -6,4 +6,3 @@ del *.hhc /s
 del *.hhk /s
 del *.hhk /s
 del *.hhp /s
 del *.hhp /s
 del *.log /s
 del *.log /s
-del *.css /s

+ 96 - 0
Help/GXSysHelp/GXSysHelp.css

@@ -0,0 +1,96 @@
+/* pasdoc.css
+   Styles used by PasDoc to generate HTML / Compiled HTML Documentation.*/  
+ 
+/* start css.sty */
+.cmr-10x-x-109{}
+.cmr-17{font-size:154%;}
+.cmr-12{font-size:109%;}
+.cmtt-10x-x-109{font-family: monospace;}
+.cmti-10x-x-109{ font-style: italic;}
+.cmsy-10x-x-109{}
+.cmbx-10x-x-109{ font-weight: bold;}
+.cmmi-10x-x-109{font-style: italic;}
+p.noindent { text-indent: 0em }
+p.nopar { text-indent: 0em; }
+p.indent{ text-indent: 1.5em }
+@media print {div.crosslinks {visibility:hidden;}}
+a img { border-top: 0; border-left: 0; border-right: 0; }
+center { margin-top:1em; margin-bottom:1em; }
+td center { margin-top:0em; margin-bottom:0em; }
+.Canvas { position:relative; }
+img.math{vertical-align:middle;}
+li p.indent { text-indent: 0em }
+.obeylines-h,.obeylines-v {white-space: nowrap; }
+div.obeylines-v p { margin-top:0; margin-bottom:0; }
+.overline{ text-decoration:overline; }
+.overline img{ border-top: 1px solid black; }
+td.displaylines {text-align:center; white-space:nowrap;}
+.centerline {text-align:center;}
+.rightline {text-align:right;}
+div.verbatim {font-family: monospace; white-space: nowrap; }
+span.fbox {padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; }
+table.minipage{width:100%;}
+div.center, div.center div.center {text-align: center; margin-left:1em; margin-right:1em;}
+div.center div {text-align: left;}
+div.flushright, div.flushright div.flushright {text-align: right;}
+div.flushright div {text-align: left;}
+div.flushleft {text-align: left;}
+.underline{ text-decoration:underline; }
+.underline img{ border-bottom: 1px solid black; margin-bottom:1pt; }
+.framebox-c, .framebox-l, .framebox-r { padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; }
+.framebox-c {text-align:center;}
+.framebox-l {text-align:left;}
+.framebox-r {text-align:right;}
+span.thank-mark{ vertical-align: super }
+div.array {text-align:center;}
+div.tabular, div.center div.tabular {text-align: center; margin-top:0.5em; margin-bottom:0.5em;}
+table.tabular td p{margin-top:0em;}
+div.td00{ margin-left:0pt; margin-right:0pt; }
+div.td01{ margin-left:0pt; margin-right:5pt; }
+div.td10{ margin-left:5pt; margin-right:0pt; }
+div.td11{ margin-left:5pt; margin-right:5pt; }
+td.td00{ padding-left:0pt; padding-right:0pt; }
+td.td01{ padding-left:0pt; padding-right:5pt; }
+td.td10{ padding-left:5pt; padding-right:0pt; }
+td.td11{ padding-left:5pt; padding-right:5pt; }
+.hline hr, .cline hr{ height : 1px; }
+.tabbing-right {text-align:right;}
+div.newtheorem { margin-bottom: 2em; margin-top: 2em;}
+span.TEX {letter-spacing: -0.125em; }
+span.TEX span.E{ position:relative;top:0.5ex;left:-0.0417em;}
+a span.TEX span.E {text-decoration: none; }
+span.LATEX span.A{ position:relative; top:-0.5ex; left:-0.4em; font-size:85%;}
+span.LATEX span.TEX{ position:relative; left: -0.4em; }
+.marginpar {width:20%; float:right; text-align:left; margin-left:auto; margin-top:0.5em; font-size:85%; text-decoration:underline;}
+.marginpar p{margin-top:0.4em; margin-bottom:0.4em;}
+div.float img, div.float .caption {text-align:center;}
+div.figure img, div.figure .caption {text-align:center;}
+.equation td{text-align:center; }
+td.equation { margin-top:1em; margin-bottom:1em; } 
+td.eqnarray4 { width:5%; white-space: normal; }
+td.eqnarray2 { width:5%; }
+table.eqnarray-star, table.eqnarray {width:100%;}
+div.eqnarray{text-align:center;}
+div.pmatrix {text-align:center;}
+span.pmatrix img{vertical-align:middle;}
+div.pmatrix {text-align:center;}
+img.cdots{vertical-align:middle;}
+.partToc a, .partToc, .likepartToc a, .likepartToc {line-height: 200%; font-weight:bold; font-size:110%;}
+.caption td.id{font-weight: bold; white-space: nowrap; }
+table.caption {text-align:center;}
+h1.partHead{text-align: center}
+p.bibitem { text-indent: -2em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; }
+p.bibitem-p { text-indent: 0em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; }
+.paragraphHead, .likeparagraphHead { margin-top:2em; font-weight: bold;}
+.subparagraphHead, .likesubparagraphHead { font-weight: bold;}
+.quote {margin-bottom:0.25em; margin-top:0.25em; margin-left:1em; }
+.verse{white-space:nowrap; margin-left:2em}
+div.maketitle {text-align:center;}
+h2.titleHead{text-align:center;}
+div.maketitle{ margin-bottom: 2em; }
+div.author, div.date {text-align:center;}
+div.thanks{text-align:left; margin-left:10%; font-size:80%; font-style:italic; }
+div.author{white-space: nowrap;}
+.quotation {margin-bottom:0.25em; margin-top:0.25em; margin-left:1em; }
+.abstract p {margin-left:5%; margin-right:5%;}
+/* end css.sty */

+ 384 - 0
Help/GXSysHelp/GXSysHelp.pds

@@ -0,0 +1,384 @@
+[Main]
+StoreRelativePaths=1
+Language=en
+OutputDir=HTML
+GenerateFormat=1
+ImplementationComments=0
+ProjectName=GXSysHelp
+Verbosity=3
+ClassMembers_0=1
+ClassMembers_1=1
+ClassMembers_2=0
+ClassMembers_3=0
+ClassMembers_4=1
+ClassMembers_5=0
+ClassMembers_6=0
+ClassMembers_7=0
+ImplicitVisibility=0
+Sorting_0=0
+Sorting_1=0
+Sorting_2=0
+Sorting_3=1
+Sorting_4=0
+Sorting_5=0
+Sorting_6=0
+Sorting_7=0
+Sorting_8=1
+Sorting_9=1
+CssFileName=GXSysHelp.css
+IntroductionFileName=IntroGXS.txt
+ConclusionFileName=
+HtmlHead=
+HtmlBodyBegin=
+HtmlBodyEnd=
+ExternalDescriptions=
+WriteUsesList=1
+AutoAbstract=0
+AutoLink=0
+HandleMacros=0
+UseTipueSearch=0
+Markdown=0
+AutoBackComments=0
+OpenHTML=1
+LineBreakQuality=0
+SpecialMarkerTreatment=0
+Title=GXSysHelp v.2.5
+VizGraphClasses=0
+VizGraphUses=0
+CheckSpelling=0
+LatexGraphicsPackage=0
+
+[Defines]
+Count=3
+Item_0=MSWINDOWS
+Item_1=WIN32
+Item_2=CPU386
+
+[Header]
+Count=1
+Item_0=GXScene v.2.5 for FMX
+
+[Footer]
+Count=0
+
+[AutoLinkExclude]
+Count=0
+
+[IncludeDirectories]
+Count=2
+Item_0=..\..\Sourcex
+Item_1=..\..\Source
+
+[Files]
+Count=296
+Item_0=..\..\Source\GLScene.AnimationUtils.pas
+Item_1=..\..\Source\GLScene.BaseClasses.pas
+Item_2=..\..\Source\GLScene.Color.pas
+Item_3=..\..\Source\GLScene.Coordinates.pas
+Item_4=..\..\Source\GLScene.CurvesAndSurfaces.pas
+Item_5=..\..\Source\GLScene.Generics.pas
+Item_6=..\..\Source\GLScene.GeometryBB.pas
+Item_7=..\..\Source\GLScene.Keyboard.pas
+Item_8=..\..\Source\GLScene.Logger.pas
+Item_9=..\..\Source\GLScene.Manager.pas
+Item_10=..\..\Source\GLScene.OpenGL4.pas
+Item_11=..\..\Source\GLScene.OpenGLTokens.pas
+Item_12=..\..\Source\GLScene.PersistentClasses.pas
+Item_13=..\..\Source\GLScene.PipelineTransform.pas
+Item_14=..\..\Source\GLScene.Polynomials.pas
+Item_15=..\..\Source\GLScene.RandomLib.pas
+Item_16=..\..\Source\GLScene.RedBlackTree.pas
+Item_17=..\..\Source\GLScene.RGBE.pas
+Item_18=..\..\Source\GLScene.Spline.pas
+Item_19=..\..\Source\GLScene.Strings.pas
+Item_20=..\..\Source\GLScene.TextureFormat.pas
+Item_21=..\..\Source\GLScene.Triangulation.pas
+Item_22=..\..\Source\GLScene.Utils.pas
+Item_23=..\..\Source\GLScene.VectorGeometry.pas
+Item_24=..\..\Source\GLScene.VectorLists.pas
+Item_25=..\..\Source\GLScene.VectorTypes.pas
+Item_26=..\..\Source\GLScene.VectorTypesExt.pas
+Item_27=..\..\Source\GLScene.XCollection.pas
+Item_28=..\..\Sourcex\FMxCUDAEditor.pas
+Item_29=..\..\Sourcex\FMxGuiLayoutEditor.pas
+Item_30=..\..\Sourcex\FMxInfo.pas
+Item_31=..\..\Sourcex\FMxLibMaterialPicker.pas
+Item_32=..\..\Sourcex\FMxMaterialEditor.pas
+Item_33=..\..\Sourcex\FMxSceneEditor.pas
+Item_34=..\..\Sourcex\FMxShaderMemo.pas
+Item_35=..\..\Sourcex\FMxShaderUniformEditor.pas
+Item_36=..\..\Sourcex\FMxSkinEditor.pas
+Item_37=..\..\Sourcex\FMxXCollectionEditor.pas
+Item_38=..\..\Sourcex\Formatx.DDSImage.pas
+Item_39=..\..\Sourcex\Formatx.HDRImage.pas
+Item_40=..\..\Sourcex\Formatx.Q3MD3.pas
+Item_41=..\..\Sourcex\Formatx.TGA.pas
+Item_42=..\..\Sourcex\FRxColorEditor.pas
+Item_43=..\..\Sourcex\FRxFaceEditor.pas
+Item_44=..\..\Sourcex\FRxMaterialPreview.pas
+Item_45=..\..\Sourcex\FRxTextureEdit.pas
+Item_46=..\..\Sourcex\GBE.Clouds.pas
+Item_47=..\..\Sourcex\GBE.ConeExtend.pas
+Item_48=..\..\Sourcex\GBE.CubeExtend.pas
+Item_49=..\..\Sourcex\GBE.Cubemap.pas
+Item_50=..\..\Sourcex\GBE.CylinderExtend.pas
+Item_51=..\..\Sourcex\GBE.Grass.pas
+Item_52=..\..\Sourcex\GBE.Heightmap.pas
+Item_53=..\..\Sourcex\GBE.Joystick.pas
+Item_54=..\..\Sourcex\GBE.omOceanWaves.pas
+Item_55=..\..\Sourcex\GBE.PlaneExtend.pas
+Item_56=..\..\Sourcex\GBE.PlayerPosition.pas
+Item_57=..\..\Sourcex\GBE.SphereExtend.pas
+Item_58=..\..\Sourcex\GBE.Terrain.pas
+Item_59=..\..\Sourcex\GBE.TimeLine.pas
+Item_60=..\..\Sourcex\GBE.Viewport3D.pas
+Item_61=..\..\Sourcex\GXS.AnimatedSprite.pas
+Item_62=..\..\Sourcex\GXS.ApplicationFileIO.pas
+Item_63=..\..\Sourcex\GXS.ArchiveManager.pas
+Item_64=..\..\Sourcex\GXS.AsyncHDS.pas
+Item_65=..\..\Sourcex\GXS.AsyncTimer.pas
+Item_66=..\..\Sourcex\GXS.Atmosphere.pas
+Item_67=..\..\Sourcex\GXS.AVIRecorder.pas
+Item_68=..\..\Sourcex\GXS.BaseMeshSilhouette.pas
+Item_69=..\..\Sourcex\GXS.Behaviours.pas
+Item_70=..\..\Sourcex\GXS.BitmapFont.pas
+Item_71=..\..\Sourcex\GXS.Blur.pas
+Item_72=..\..\Sourcex\GXS.BSP.pas
+Item_73=..\..\Sourcex\GXS.BumpmapHDS.pas
+Item_74=..\..\Sourcex\GXS.BumpMapping.pas
+Item_75=..\..\Sourcex\GXS.Cadencer.pas
+Item_76=..\..\Sourcex\GXS.CameraController.pas
+Item_77=..\..\Sourcex\GXS.Canvas.pas
+Item_78=..\..\Sourcex\GXS.CelShader.pas
+Item_79=..\..\Sourcex\GXS.CgBombShader.pas
+Item_80=..\..\Sourcex\GXS.CgPostTransformationShader.pas
+Item_81=..\..\Sourcex\GXS.CgRegister.pas
+Item_82=..\..\Sourcex\GXS.CgShader.pas
+Item_83=..\..\Sourcex\GXS.Collision.pas
+Item_84=..\..\Sourcex\GXS.CompositeImage.pas
+Item_85=..\..\Sourcex\GXS.Console.pas
+Item_86=..\..\Sourcex\GXS.Context.pas
+Item_87=..\..\Sourcex\GXS.CUDA.API.pas
+Item_88=..\..\Sourcex\GXS.CUDA.Compiler.pas
+Item_89=..\..\Sourcex\GXS.CUDA.Context.pas
+Item_90=..\..\Sourcex\GXS.CUDA.FFTPlan.pas
+Item_91=..\..\Sourcex\GXS.CUDA.Graphics.pas
+Item_92=..\..\Sourcex\GXS.CyborgManager.pas
+Item_93=..\..\Sourcex\GXS.DCE.pas
+Item_94=..\..\Sourcex\GXS.DCEMisc.pas
+Item_95=..\..\Sourcex\GXS.DWSObjects.pas
+Item_96=..\..\Sourcex\GXS.DWSScene.pas
+Item_97=..\..\Sourcex\GXS.DynamicTexture.pas
+Item_98=..\..\Sourcex\GXS.EllipseCollision.pas
+Item_99=..\..\Sourcex\GXS.EParticleMasksManager.pas
+Item_100=..\..\Sourcex\GXS.ExplosionFx.pas
+Item_101=..\..\Sourcex\GXS.Extrusion.pas
+Item_102=..\..\Sourcex\GXS.FBO.pas
+Item_103=..\..\Sourcex\GXS.FBORenderer.pas
+Item_104=..\..\Sourcex\GXS.Feedback.pas
+Item_105=..\..\Sourcex\GXS.File3DS.pas
+Item_106=..\..\Sourcex\GXS.File3DSSceneObjects.pas
+Item_107=..\..\Sourcex\GXS.FileASE.pas
+Item_108=..\..\Sourcex\GXS.FileB3D.pas
+Item_109=..\..\Sourcex\GXS.FileBMP.pas
+Item_110=..\..\Sourcex\GXS.FileDAE.pas
+Item_111=..\..\Sourcex\GXS.FileDDS.pas
+Item_112=..\..\Sourcex\GXS.FileDXF.pas
+Item_113=..\..\Sourcex\GXS.FileGL2.pas
+Item_114=..\..\Sourcex\GXS.FileGLTF.pas
+Item_115=..\..\Sourcex\GXS.FileGRD.pas
+Item_116=..\..\Sourcex\GXS.FileGTS.pas
+Item_117=..\..\Sourcex\GXS.FileHDR.pas
+Item_118=..\..\Sourcex\GXS.FileJPEG.pas
+Item_119=..\..\Sourcex\GXS.FileLMTS.pas
+Item_120=..\..\Sourcex\GXS.FileLWO.pas
+Item_121=..\..\Sourcex\GXS.FileMD2.pas
+Item_122=..\..\Sourcex\GXS.FileMD3.pas
+Item_123=..\..\Sourcex\GXS.FileMD5.pas
+Item_124=..\..\Sourcex\GXS.FileMDC.pas
+Item_125=..\..\Sourcex\GXS.FileMP3.pas
+Item_126=..\..\Sourcex\GXS.FileMS3D.pas
+Item_127=..\..\Sourcex\GXS.FileNMF.pas
+Item_128=..\..\Sourcex\GXS.FileNurbs.pas
+Item_129=..\..\Sourcex\GXS.FileOBJ.pas
+Item_130=..\..\Sourcex\GXS.FileOCT.pas
+Item_131=..\..\Sourcex\GXS.FilePGM.pas
+Item_132=..\..\Sourcex\GXS.FilePLY.pas
+Item_133=..\..\Sourcex\GXS.FilePNG.pas
+Item_134=..\..\Sourcex\GXS.FileQ3BSP.pas
+Item_135=..\..\Sourcex\GXS.FileSMD.pas
+Item_136=..\..\Sourcex\GXS.FileSTL.pas
+Item_137=..\..\Sourcex\GXS.FileTGA.pas
+Item_138=..\..\Sourcex\GXS.FileTIN.pas
+Item_139=..\..\Sourcex\GXS.FileVRML.pas
+Item_140=..\..\Sourcex\GXS.FileWAV.pas
+Item_141=..\..\Sourcex\GXS.FileX.pas
+Item_142=..\..\Sourcex\GXS.FileZLIB.pas
+Item_143=..\..\Sourcex\GXS.FireFX.pas
+Item_144=..\..\Sourcex\GXS.FMX.Viewer.pas
+Item_145=..\..\Sourcex\GXS.FPSMovement.pas
+Item_146=..\..\Sourcex\GXS.FullScreenViewer.pas
+Item_147=..\..\Sourcex\GXS.GameMenu.pas
+Item_148=..\..\Sourcex\GXS.GeomObjects.pas
+Item_149=..\..\Sourcex\GXS.Gizmo.pas
+Item_150=..\..\Sourcex\GXS.GizmoEx.pas
+Item_151=..\..\Sourcex\GXS.GPURegister.pas
+Item_152=..\..\Sourcex\GXS.Graph.pas
+Item_153=..\..\Sourcex\GXS.Graphics.pas
+Item_154=..\..\Sourcex\GXS.Gui.pas
+Item_155=..\..\Sourcex\GXS.HeightData.pas
+Item_156=..\..\Sourcex\GXS.HeightTileFile.pas
+Item_157=..\..\Sourcex\GXS.HeightTileFileHDS.pas
+Item_158=..\..\Sourcex\GXS.HiddenLineShader.pas
+Item_159=..\..\Sourcex\GXS.HUDObjects.pas
+Item_160=..\..\Sourcex\GXS.ImageUtils.pas
+Item_161=..\..\Sourcex\GXS.Imposter.pas
+Item_162=..\..\Sourcex\GXS.InitOpenGL.pas
+Item_163=..\..\Sourcex\GXS.Isolines.pas
+Item_164=..\..\Sourcex\GXS.Isosurface.pas
+Item_165=..\..\Sourcex\GXS.Joystick.pas
+Item_166=..\..\Sourcex\GXS.LensFlare.pas
+Item_167=..\..\Sourcex\GXS.LinePFX.pas
+Item_168=..\..\Sourcex\GXS.Material.pas
+Item_169=..\..\Sourcex\GXS.MaterialMultiProxy.pas
+Item_170=..\..\Sourcex\GXS.MaterialScript.pas
+Item_171=..\..\Sourcex\GXS.Mesh.pas
+Item_172=..\..\Sourcex\GXS.MeshBuilder.pas
+Item_173=..\..\Sourcex\GXS.MeshCSG.pas
+Item_174=..\..\Sourcex\GXS.MeshLines.pas
+Item_175=..\..\Sourcex\GXS.MeshOptimizer.pas
+Item_176=..\..\Sourcex\GXS.MeshUtils.pas
+Item_177=..\..\Sourcex\GXS.Mirror.pas
+Item_178=..\..\Sourcex\GXS.Movement.pas
+Item_179=..\..\Sourcex\GXS.MultiMaterialShader.pas
+Item_180=..\..\Sourcex\GXS.MultiPolygon.pas
+Item_181=..\..\Sourcex\GXS.MultiProxy.pas
+Item_182=..\..\Sourcex\GXS.MultisampleImage.pas
+Item_183=..\..\Sourcex\GXS.Navigator.pas
+Item_184=..\..\Sourcex\GXS.NGDManager.pas
+Item_185=..\..\Sourcex\GXS.NGDRagdoll.pas
+Item_186=..\..\Sourcex\GXS.Nodes.pas
+Item_187=..\..\Sourcex\GXS.ObjectManager.pas
+Item_188=..\..\Sourcex\GXS.Objects.pas
+Item_189=..\..\Sourcex\GXS.Octree.pas
+Item_190=..\..\Sourcex\GXS.ODEManager.pas
+Item_191=..\..\Sourcex\GXS.ODERagdoll.pas
+Item_192=..\..\Sourcex\GXS.ODESkeletonColliders.pas
+Item_193=..\..\Sourcex\GXS.ODEUtils.pas
+Item_194=..\..\Sourcex\GXS.OpenGLAdapter.pas
+Item_195=..\..\Sourcex\GXS.OutlineShader.pas
+Item_196=..\..\Sourcex\GXS.PAKArchive.pas
+Item_197=..\..\Sourcex\GXS.ParallelRegister.pas
+Item_198=..\..\Sourcex\GXS.ParametricSurfaces.pas
+Item_199=..\..\Sourcex\GXS.ParticleFX.pas
+Item_200=..\..\Sourcex\GXS.Particles.pas
+Item_201=..\..\Sourcex\GXS.Perlin.pas
+Item_202=..\..\Sourcex\GXS.PerlinPFX.pas
+Item_203=..\..\Sourcex\GXS.PhysFields.pas
+Item_204=..\..\Sourcex\GXS.PhysForces.pas
+Item_205=..\..\Sourcex\GXS.Physics.Register.pas
+Item_206=..\..\Sourcex\GXS.PhysInertias.pas
+Item_207=..\..\Sourcex\GXS.PhysJoints.pas
+Item_208=..\..\Sourcex\GXS.PhysManager.pas
+Item_209=..\..\Sourcex\GXS.PhysX.pas
+Item_210=..\..\Sourcex\GXS.PictureRegisteredFormats.pas
+Item_211=..\..\Sourcex\GXS.PolygonTesselation.pas
+Item_212=..\..\Sourcex\GXS.Portal.pas
+Item_213=..\..\Sourcex\GXS.ProcTextures.pas
+Item_214=..\..\Sourcex\GXS.ProjectedTextures.pas
+Item_215=..\..\Sourcex\GXS.ProxyObjects.pas
+Item_216=..\..\Sourcex\GXS.Python.Script.pas
+Item_217=..\..\Sourcex\GXS.Ragdoll.pas
+Item_218=..\..\Sourcex\GXS.RandomHDS.pas
+Item_219=..\..\Sourcex\GXS.RegisterXCollection.pas
+Item_220=..\..\Sourcex\GXS.RenderContextInfo.pas
+Item_221=..\..\Sourcex\GXS.ROAMPatch.pas
+Item_222=..\..\Sourcex\GXS.Scene.pas
+Item_223=..\..\Sourcex\GXS.SceneRegister.pas
+Item_224=..\..\Sourcex\GXS.SceneViewer.pas
+Item_225=..\..\Sourcex\GXS.Screen.pas
+Item_226=..\..\Sourcex\GXS.ScreenSaver.pas
+Item_227=..\..\Sourcex\GXS.ScriptBase.pas
+Item_228=..\..\Sourcex\GXS.Selection.pas
+Item_229=..\..\Sourcex\GXS.ShadowHDS.pas
+Item_230=..\..\Sourcex\GXS.ShadowPlane.pas
+Item_231=..\..\Sourcex\GXS.ShadowVolume.pas
+Item_232=..\..\Sourcex\GXS.Silhouette.pas
+Item_233=..\..\Sourcex\GXS.SimpleNavigation.pas
+Item_234=..\..\Sourcex\GXS.Skydome.pas
+Item_235=..\..\Sourcex\GXS.SmartObjects.pas
+Item_236=..\..\Sourcex\GXS.SmoothNavigator.pas
+Item_237=..\..\Sourcex\GXS.SoundFileObjects.pas
+Item_238=..\..\Sourcex\GXS.SoundManager.pas
+Item_239=..\..\Sourcex\GXS.Sounds.BASS.pas
+Item_240=..\..\Sourcex\GXS.Sounds.FMOD.pas
+Item_241=..\..\Sourcex\GXS.Sounds.OpenAL.pas
+Item_242=..\..\Sourcex\GXS.Sounds.Register.pas
+Item_243=..\..\Sourcex\GXS.Sounds.WaveOut.pas
+Item_244=..\..\Sourcex\GXS.SpacePartition.pas
+Item_245=..\..\Sourcex\GXS.SpaceText.pas
+Item_246=..\..\Sourcex\GXS.SpatialPartitioning.pas
+Item_247=..\..\Sourcex\GXS.State.pas
+Item_248=..\..\Sourcex\GXS.TerrainRenderer.pas
+Item_249=..\..\Sourcex\GXS.TexLensFlare.pas
+Item_250=..\..\Sourcex\GXS.Texture.pas
+Item_251=..\..\Sourcex\GXS.TextureCombiners.pas
+Item_252=..\..\Sourcex\GXS.TexturedHDS.pas
+Item_253=..\..\Sourcex\GXS.TextureImageEditors.pas
+Item_254=..\..\Sourcex\GXS.ThorFX.pas
+Item_255=..\..\Sourcex\GXS.TilePlane.pas
+Item_256=..\..\Sourcex\GXS.TimeEventsMgr.pas
+Item_257=..\..\Sourcex\GXS.Trail.pas
+Item_258=..\..\Sourcex\GXS.Tree.pas
+Item_259=..\..\Sourcex\GXS.VectorFileObjects.pas
+Item_260=..\..\Sourcex\GXS.VerletClothify.pas
+Item_261=..\..\Sourcex\GXS.VerletTypes.pas
+Item_262=..\..\Sourcex\GXS.ViewerOpenGL.pas
+Item_263=..\..\Sourcex\GXS.WaterPlane.pas
+Item_264=..\..\Sourcex\GXS.WinContext.pas
+Item_265=..\..\Sourcex\GXS.Windows.pas
+Item_266=..\..\Sourcex\GXS.WindowsFont.pas
+Item_267=..\..\Sourcex\GXS.XCollectionRegister.pas
+Item_268=..\..\Sourcex\GXS.XOpenGL.pas
+Item_269=..\..\Sourcex\GXS.zBuffer.pas
+Item_270=..\..\Sourcex\GXSL.AsmShader.pas
+Item_271=..\..\Sourcex\GXSL.BumpShaders.pas
+Item_272=..\..\Sourcex\GXSL.CustomShader.pas
+Item_273=..\..\Sourcex\GXSL.DiffuseSpecularShader.pas
+Item_274=..\..\Sourcex\GXSL.LineShaders.pas
+Item_275=..\..\Sourcex\GXSL.MultiMaterialShader.pas
+Item_276=..\..\Sourcex\GXSL.Parameter.pas
+Item_277=..\..\Sourcex\GXSL.PhongShader.pas
+Item_278=..\..\Sourcex\GXSL.PostEffects.pas
+Item_279=..\..\Sourcex\GXSL.PostShaders.pas
+Item_280=..\..\Sourcex\GXSL.ProjectedTextures.pas
+Item_281=..\..\Sourcex\GXSL.Shader.pas
+Item_282=..\..\Sourcex\GXSL.ShaderCombiner.pas
+Item_283=..\..\Sourcex\GXSL.ShaderParameter.pas
+Item_284=..\..\Sourcex\GXSL.ShapeShaders.pas
+Item_285=..\..\Sourcex\GXSL.TextureShaders.pas
+Item_286=..\..\Sourcex\GXSL.UserShader.pas
+Item_287=..\..\Sourcex\omSailSurface.pas
+Item_288=..\..\Sourcex\OpenGLx.InitFMX.pas
+Item_289=..\..\Sourcex\SDLx.Context.pas
+Item_290=..\..\Sourcex\SDLx.Window.pas
+Item_291=..\..\Sourcex\uGBEImageUtils.pas
+Item_292=..\..\Sourcex\uGBEOptionsUtils.pas
+Item_293=..\..\Sourcex\uGBEPathFinder.pas
+Item_294=..\..\Sourcex\uGBESound.pas
+Item_295=..\..\Sourcex\uGBEUtils3D.pas
+
+[AdditionalFiles]
+Count=0
+
+[HyphenatedWords]
+Count=0
+
+[SpecialMarkers]
+Count=3
+Item_0=//
+Item_1=(*
+Item_2={
+
+[IgnoreWords]
+Count=0

BIN
Help/GXSysHelp/HTML/GXSysHelp.chm


+ 96 - 0
Help/GXSysHelp/HTML/pasdoc.css

@@ -0,0 +1,96 @@
+/* pasdoc.css
+   Styles used by PasDoc to generate HTML / Compiled HTML Documentation.*/  
+ 
+/* start css.sty */
+.cmr-10x-x-109{}
+.cmr-17{font-size:154%;}
+.cmr-12{font-size:109%;}
+.cmtt-10x-x-109{font-family: monospace;}
+.cmti-10x-x-109{ font-style: italic;}
+.cmsy-10x-x-109{}
+.cmbx-10x-x-109{ font-weight: bold;}
+.cmmi-10x-x-109{font-style: italic;}
+p.noindent { text-indent: 0em }
+p.nopar { text-indent: 0em; }
+p.indent{ text-indent: 1.5em }
+@media print {div.crosslinks {visibility:hidden;}}
+a img { border-top: 0; border-left: 0; border-right: 0; }
+center { margin-top:1em; margin-bottom:1em; }
+td center { margin-top:0em; margin-bottom:0em; }
+.Canvas { position:relative; }
+img.math{vertical-align:middle;}
+li p.indent { text-indent: 0em }
+.obeylines-h,.obeylines-v {white-space: nowrap; }
+div.obeylines-v p { margin-top:0; margin-bottom:0; }
+.overline{ text-decoration:overline; }
+.overline img{ border-top: 1px solid black; }
+td.displaylines {text-align:center; white-space:nowrap;}
+.centerline {text-align:center;}
+.rightline {text-align:right;}
+div.verbatim {font-family: monospace; white-space: nowrap; }
+span.fbox {padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; }
+table.minipage{width:100%;}
+div.center, div.center div.center {text-align: center; margin-left:1em; margin-right:1em;}
+div.center div {text-align: left;}
+div.flushright, div.flushright div.flushright {text-align: right;}
+div.flushright div {text-align: left;}
+div.flushleft {text-align: left;}
+.underline{ text-decoration:underline; }
+.underline img{ border-bottom: 1px solid black; margin-bottom:1pt; }
+.framebox-c, .framebox-l, .framebox-r { padding-left:3.0pt; padding-right:3.0pt; text-indent:0pt; border:solid black 0.4pt; }
+.framebox-c {text-align:center;}
+.framebox-l {text-align:left;}
+.framebox-r {text-align:right;}
+span.thank-mark{ vertical-align: super }
+div.array {text-align:center;}
+div.tabular, div.center div.tabular {text-align: center; margin-top:0.5em; margin-bottom:0.5em;}
+table.tabular td p{margin-top:0em;}
+div.td00{ margin-left:0pt; margin-right:0pt; }
+div.td01{ margin-left:0pt; margin-right:5pt; }
+div.td10{ margin-left:5pt; margin-right:0pt; }
+div.td11{ margin-left:5pt; margin-right:5pt; }
+td.td00{ padding-left:0pt; padding-right:0pt; }
+td.td01{ padding-left:0pt; padding-right:5pt; }
+td.td10{ padding-left:5pt; padding-right:0pt; }
+td.td11{ padding-left:5pt; padding-right:5pt; }
+.hline hr, .cline hr{ height : 1px; }
+.tabbing-right {text-align:right;}
+div.newtheorem { margin-bottom: 2em; margin-top: 2em;}
+span.TEX {letter-spacing: -0.125em; }
+span.TEX span.E{ position:relative;top:0.5ex;left:-0.0417em;}
+a span.TEX span.E {text-decoration: none; }
+span.LATEX span.A{ position:relative; top:-0.5ex; left:-0.4em; font-size:85%;}
+span.LATEX span.TEX{ position:relative; left: -0.4em; }
+.marginpar {width:20%; float:right; text-align:left; margin-left:auto; margin-top:0.5em; font-size:85%; text-decoration:underline;}
+.marginpar p{margin-top:0.4em; margin-bottom:0.4em;}
+div.float img, div.float .caption {text-align:center;}
+div.figure img, div.figure .caption {text-align:center;}
+.equation td{text-align:center; }
+td.equation { margin-top:1em; margin-bottom:1em; } 
+td.eqnarray4 { width:5%; white-space: normal; }
+td.eqnarray2 { width:5%; }
+table.eqnarray-star, table.eqnarray {width:100%;}
+div.eqnarray{text-align:center;}
+div.pmatrix {text-align:center;}
+span.pmatrix img{vertical-align:middle;}
+div.pmatrix {text-align:center;}
+img.cdots{vertical-align:middle;}
+.partToc a, .partToc, .likepartToc a, .likepartToc {line-height: 200%; font-weight:bold; font-size:110%;}
+.caption td.id{font-weight: bold; white-space: nowrap; }
+table.caption {text-align:center;}
+h1.partHead{text-align: center}
+p.bibitem { text-indent: -2em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; }
+p.bibitem-p { text-indent: 0em; margin-left: 2em; margin-top:0.6em; margin-bottom:0.6em; }
+.paragraphHead, .likeparagraphHead { margin-top:2em; font-weight: bold;}
+.subparagraphHead, .likesubparagraphHead { font-weight: bold;}
+.quote {margin-bottom:0.25em; margin-top:0.25em; margin-left:1em; }
+.verse{white-space:nowrap; margin-left:2em}
+div.maketitle {text-align:center;}
+h2.titleHead{text-align:center;}
+div.maketitle{ margin-bottom: 2em; }
+div.author, div.date {text-align:center;}
+div.thanks{text-align:left; margin-left:10%; font-size:80%; font-style:italic; }
+div.author{white-space: nowrap;}
+.quotation {margin-bottom:0.25em; margin-top:0.25em; margin-left:1em; }
+.abstract p {margin-left:5%; margin-right:5%;}
+/* end css.sty */

+ 18 - 0
Help/GXSysHelp/IntroGXS.txt

@@ -0,0 +1,18 @@
+GXScene is an OpenGL based 3D library for Delphi and C++Builder. 
+It provides visual components and objects allowing description and effective rendering of 3D scenes.
+GXScene is not only an OpenGL wrapper or utility library, but it's grown to become a set of founding classes 
+for a generic 3D engine for the Rapid Application Development. 
+GXScene allows you to design and render 3D scenes quickly and without having to learn the intricacies of OpenGL: 
+if you know how to design a TForm, you'll easily master the basic operation of TGXScene. 
+Make sure to checkout the introduction tutorial included in the help folder.
+GXScene includes more than many components and a variety of founding classes. 
+The library comes with a comfortable set of demos showcasing the ease of use and demonstrating RAD wasn't done 
+at the expense of CPU horsepower. 
+The GXScene Sound System allows positional 3D audio via low-level APIs like 
+FMOD, BASS, OpenAL and WaveOut.
+Advanced demos and samples could be found in the project directory GXScene\Examples.
+Some additional options for compiler are in GLScene.Defines.inc (activated/deactivated, all are inactive by default):
+The option DEFINE Graphics32_SUPPORT controls support Alex Denissov's Graphics32 library 
+(http://www.graphics32.org), once activated will redirect assignments from TBitmap32 to TGLBitmap32.
+
+GLXS Team

+ 10 - 0
Help/GXSysHelp/ReadGXS.txt

@@ -0,0 +1,10 @@
+The directory for PasDoc scripts
+------------------------------------------------------------
+To generate GXSysHelp.chm you need to follow steps:
+1.Download PasDoc program from https://github.com/pasdoc/pasdoc/releases/tag/snapshot and setup it.
+2.Run the pasdoc_gui program and Open GXSysHelp.pds script 
+3.Click on the button Generate and create GXScene's help system files in HTML folder
+4.Download HTML Help Workshop 1.3 software from Microsoft site and setup it.
+5.Run the hhw.exe program from C:\Program Files (x86)\HTML Help Workshop\
+6.Open GXSysHelp.hhp project in ..GLScene\Help\GXSysHelp\HTML\ folder and compile it.
+7.Clean HTML folder using _CleanHTML.bat and find there the file GXSysHelp.chm

+ 8 - 0
Help/GXSysHelp/_CleanHTML.cmd

@@ -0,0 +1,8 @@
+rem del *.chm /s
+del *.html /s
+del *.htm /s
+del *.gif /s
+del *.hhc /s
+del *.hhk /s
+del *.hhp /s
+del *.log /s

+ 0 - 16
Help/License.txt

@@ -1,16 +0,0 @@
-Licensing GLScene 
-
-GLScene is distributed under Mozilla Public Licence (MPL 2.0), which means, in short, 
-that it is free for both freeware and commercial use. 
-The code is still copyrighted (in that it isn't public domain), but you can use it in products with closed or open-source freely. 
-The only requirements are:
-Acknowledge GLScene is used somewhere in your application (in an about box, credits page or printed manual, etc.
-with at least a link to http://glscene.org or https://github.com/glscene)
-Modifications made to GLScene units must be made public (no need to publish the full code, 
-only to state which parts were altered, and how), but feel welcome to open-source your code.
-Some units, API headers and DLLs are included in the GLScene package for convenience 
-but are not part of GLScene, may use different licensing scheme and have different copyright owners, 
-such files have an explicit notice attached to them or placed in their directory.
-
-------------------------------------------------------------------------------
-GLS Team

+ 2 - 2
Packages/GLScene_RT.dpk

@@ -78,7 +78,6 @@ contains
   GLS.Context in '..\Source\GLS.Context.pas',
   GLS.Context in '..\Source\GLS.Context.pas',
   GLS.Coordinates in '..\Source\GLS.Coordinates.pas',
   GLS.Coordinates in '..\Source\GLS.Coordinates.pas',
   GLS.CyborgManager in '..\Source\GLS.CyborgManager.pas',
   GLS.CyborgManager in '..\Source\GLS.CyborgManager.pas',
-  GLScene.CurvesAndSurfaces in '..\Source\GLScene.CurvesAndSurfaces.pas',
   GLS.DCE in '..\Source\GLS.DCE.pas',
   GLS.DCE in '..\Source\GLS.DCE.pas',
   GLS.DynamicTexture in '..\Source\GLS.DynamicTexture.pas',
   GLS.DynamicTexture in '..\Source\GLS.DynamicTexture.pas',
   GLS.EParticleMasksManager in '..\Source\GLS.EParticleMasksManager.pas',
   GLS.EParticleMasksManager in '..\Source\GLS.EParticleMasksManager.pas',
@@ -268,7 +267,8 @@ contains
   PasJSON in '..\Source\PasJSON.pas',
   PasJSON in '..\Source\PasJSON.pas',
   GLS.OpenGLAdapter in '..\Source\GLS.OpenGLAdapter.pas',
   GLS.OpenGLAdapter in '..\Source\GLS.OpenGLAdapter.pas',
   gnuGettext in '..\Source\gnuGettext.pas',
   gnuGettext in '..\Source\gnuGettext.pas',
-  gnuGettextInit in '..\Source\gnuGettextInit.pas';
+  gnuGettextInit in '..\Source\gnuGettextInit.pas',
+  GLS.CurvesAndSurfaces in '..\Source\GLS.CurvesAndSurfaces.pas';
 
 
 end.
 end.
 
 

+ 1 - 1
Packages/GLScene_RT.dproj

@@ -203,7 +203,6 @@
         <DCCReference Include="..\Source\GLS.Context.pas"/>
         <DCCReference Include="..\Source\GLS.Context.pas"/>
         <DCCReference Include="..\Source\GLS.Coordinates.pas"/>
         <DCCReference Include="..\Source\GLS.Coordinates.pas"/>
         <DCCReference Include="..\Source\GLS.CyborgManager.pas"/>
         <DCCReference Include="..\Source\GLS.CyborgManager.pas"/>
-        <DCCReference Include="..\Source\GLScene.CurvesAndSurfaces.pas"/>
         <DCCReference Include="..\Source\GLS.DCE.pas"/>
         <DCCReference Include="..\Source\GLS.DCE.pas"/>
         <DCCReference Include="..\Source\GLS.DynamicTexture.pas"/>
         <DCCReference Include="..\Source\GLS.DynamicTexture.pas"/>
         <DCCReference Include="..\Source\GLS.EParticleMasksManager.pas"/>
         <DCCReference Include="..\Source\GLS.EParticleMasksManager.pas"/>
@@ -394,6 +393,7 @@
         <DCCReference Include="..\Source\GLS.OpenGLAdapter.pas"/>
         <DCCReference Include="..\Source\GLS.OpenGLAdapter.pas"/>
         <DCCReference Include="..\Source\gnuGettext.pas"/>
         <DCCReference Include="..\Source\gnuGettext.pas"/>
         <DCCReference Include="..\Source\gnuGettextInit.pas"/>
         <DCCReference Include="..\Source\gnuGettextInit.pas"/>
+        <DCCReference Include="..\Source\GLS.CurvesAndSurfaces.pas"/>
         <None Include="..\Source\GLScene.Defines.inc"/>
         <None Include="..\Source\GLScene.Defines.inc"/>
         <BuildConfiguration Include="Base">
         <BuildConfiguration Include="Base">
             <Key>Base</Key>
             <Key>Base</Key>

+ 2 - 2
Packages/GXScene_RT.dpk

@@ -240,7 +240,7 @@ contains
   GLScene.Manager in '..\Source\GLScene.Manager.pas',
   GLScene.Manager in '..\Source\GLScene.Manager.pas',
   GLScene.Generics in '..\Source\GLScene.Generics.pas',
   GLScene.Generics in '..\Source\GLScene.Generics.pas',
   GLScene.GeometryBB in '..\Source\GLScene.GeometryBB.pas',
   GLScene.GeometryBB in '..\Source\GLScene.GeometryBB.pas',
-  GLScene.CurvesAndSurfaces in '..\Source\GLScene.CurvesAndSurfaces.pas',
+  GXS.CurvesAndSurfaces in '..\Sourcex\GXS.CurvesAndSurfaces.pas',
   GLScene.AnimationUtils in '..\Source\GLScene.AnimationUtils.pas',
   GLScene.AnimationUtils in '..\Source\GLScene.AnimationUtils.pas',
   Formats.X in '..\Source\Formats.X.pas',
   Formats.X in '..\Source\Formats.X.pas',
   GLScene.TextureFormat in '..\Source\GLScene.TextureFormat.pas',
   GLScene.TextureFormat in '..\Source\GLScene.TextureFormat.pas',
@@ -255,7 +255,7 @@ contains
   Formats.OCT in '..\Source\Formats.OCT.pas',
   Formats.OCT in '..\Source\Formats.OCT.pas',
   Formats.Q3BSP in '..\Source\Formats.Q3BSP.pas',
   Formats.Q3BSP in '..\Source\Formats.Q3BSP.pas',
   Formats.VFW in '..\Source\Formats.VFW.pas',
   Formats.VFW in '..\Source\Formats.VFW.pas',
-  Formats.VRML in '..\Source\Formats.VRML.pas',
+  Formatx.VRML in '..\Sourcex\Formatx.VRML.pas',
   Formatx.Q3MD3 in '..\Sourcex\Formatx.Q3MD3.pas',
   Formatx.Q3MD3 in '..\Sourcex\Formatx.Q3MD3.pas',
   Formats.B3D in '..\Source\Formats.B3D.pas',
   Formats.B3D in '..\Source\Formats.B3D.pas',
   Formats.LWO in '..\Source\Formats.LWO.pas',
   Formats.LWO in '..\Source\Formats.LWO.pas',

+ 2 - 2
Packages/GXScene_RT.dproj

@@ -389,7 +389,7 @@
         <DCCReference Include="..\Source\GLScene.Manager.pas"/>
         <DCCReference Include="..\Source\GLScene.Manager.pas"/>
         <DCCReference Include="..\Source\GLScene.Generics.pas"/>
         <DCCReference Include="..\Source\GLScene.Generics.pas"/>
         <DCCReference Include="..\Source\GLScene.GeometryBB.pas"/>
         <DCCReference Include="..\Source\GLScene.GeometryBB.pas"/>
-        <DCCReference Include="..\Source\GLScene.CurvesAndSurfaces.pas"/>
+        <DCCReference Include="..\Sourcex\GXS.CurvesAndSurfaces.pas"/>
         <DCCReference Include="..\Source\GLScene.AnimationUtils.pas"/>
         <DCCReference Include="..\Source\GLScene.AnimationUtils.pas"/>
         <DCCReference Include="..\Source\Formats.X.pas"/>
         <DCCReference Include="..\Source\Formats.X.pas"/>
         <DCCReference Include="..\Source\GLScene.TextureFormat.pas"/>
         <DCCReference Include="..\Source\GLScene.TextureFormat.pas"/>
@@ -404,7 +404,7 @@
         <DCCReference Include="..\Source\Formats.OCT.pas"/>
         <DCCReference Include="..\Source\Formats.OCT.pas"/>
         <DCCReference Include="..\Source\Formats.Q3BSP.pas"/>
         <DCCReference Include="..\Source\Formats.Q3BSP.pas"/>
         <DCCReference Include="..\Source\Formats.VFW.pas"/>
         <DCCReference Include="..\Source\Formats.VFW.pas"/>
-        <DCCReference Include="..\Source\Formats.VRML.pas"/>
+        <DCCReference Include="..\Sourcex\Formatx.VRML.pas"/>
         <DCCReference Include="..\Sourcex\Formatx.Q3MD3.pas"/>
         <DCCReference Include="..\Sourcex\Formatx.Q3MD3.pas"/>
         <DCCReference Include="..\Source\Formats.B3D.pas"/>
         <DCCReference Include="..\Source\Formats.B3D.pas"/>
         <DCCReference Include="..\Source\Formats.LWO.pas"/>
         <DCCReference Include="..\Source\Formats.LWO.pas"/>

+ 10 - 10
Source/GLS.Behaviours.pas

@@ -69,12 +69,12 @@ type
   TGLBInertia = class(TGLBehaviour)
   TGLBInertia = class(TGLBehaviour)
   private
   private
     FMass: single;
     FMass: single;
-    FTranslationSpeed: TgCoordinates;
+    FTranslationSpeed: TGLCoordinates;
     FTurnSpeed, FRollSpeed, FPitchSpeed: single;
     FTurnSpeed, FRollSpeed, FPitchSpeed: single;
     FTranslationDamping, FRotationDamping: TGLDamping;
     FTranslationDamping, FRotationDamping: TGLDamping;
     FDampingEnabled: boolean;
     FDampingEnabled: boolean;
   protected
   protected
-    procedure SetTranslationSpeed(const val: TgCoordinates);
+    procedure SetTranslationSpeed(const val: TGLCoordinates);
     procedure SetTranslationDamping(const val: TGLDamping);
     procedure SetTranslationDamping(const val: TGLDamping);
     procedure SetRotationDamping(const val: TGLDamping);
     procedure SetRotationDamping(const val: TGLDamping);
     procedure WriteToFiler(writer: TWriter); override;
     procedure WriteToFiler(writer: TWriter); override;
@@ -104,7 +104,7 @@ type
     procedure SurfaceBounce(const surfaceNormal: TGLVector; restitution: single);
     procedure SurfaceBounce(const surfaceNormal: TGLVector; restitution: single);
   published
   published
     property Mass: single read FMass write FMass;
     property Mass: single read FMass write FMass;
-    property TranslationSpeed: TgCoordinates read FTranslationSpeed write SetTranslationSpeed;
+    property TranslationSpeed: TGLCoordinates read FTranslationSpeed write SetTranslationSpeed;
     property TurnSpeed: single read FTurnSpeed write FTurnSpeed;
     property TurnSpeed: single read FTurnSpeed write FTurnSpeed;
     property RollSpeed: single read FRollSpeed write FRollSpeed;
     property RollSpeed: single read FRollSpeed write FRollSpeed;
     property PitchSpeed: single read FPitchSpeed write FPitchSpeed;
     property PitchSpeed: single read FPitchSpeed write FPitchSpeed;
@@ -128,9 +128,9 @@ type
   // Applies a constant acceleration to a TGLBInertia.  
   // Applies a constant acceleration to a TGLBInertia.  
   TGLBAcceleration = class(TGLBehaviour)
   TGLBAcceleration = class(TGLBehaviour)
   private
   private
-    FAcceleration: TgCoordinates;
+    FAcceleration: TGLCoordinates;
   protected
   protected
-    procedure SetAcceleration(const val: TgCoordinates);
+    procedure SetAcceleration(const val: TGLCoordinates);
     procedure WriteToFiler(writer: TWriter); override;
     procedure WriteToFiler(writer: TWriter); override;
     procedure ReadFromFiler(reader: TReader); override;
     procedure ReadFromFiler(reader: TReader); override;
   public
   public
@@ -142,7 +142,7 @@ type
     class function UniqueItem: boolean; override;
     class function UniqueItem: boolean; override;
     procedure DoProgress(const progressTime: TGLProgressTimes); override;
     procedure DoProgress(const progressTime: TGLProgressTimes); override;
   published
   published
-    property Acceleration: TgCoordinates read FAcceleration write FAcceleration;
+    property Acceleration: TGLCoordinates read FAcceleration write FAcceleration;
   end;
   end;
 
 
 (* Returns or creates the TGLBInertia within the given behaviours. 
 (* Returns or creates the TGLBInertia within the given behaviours. 
@@ -306,7 +306,7 @@ end;
 constructor TGLBInertia.Create(aOwner: TXCollection);
 constructor TGLBInertia.Create(aOwner: TXCollection);
 begin
 begin
   inherited Create(aOwner);
   inherited Create(aOwner);
-  FTranslationSpeed := TgCoordinates.CreateInitialized(Self, NullHmgVector, csVector);
+  FTranslationSpeed := TGLCoordinates.CreateInitialized(Self, NullHmgVector, csVector);
   FMass := 1;
   FMass := 1;
   FDampingEnabled := True;
   FDampingEnabled := True;
   FTranslationDamping := TGLDamping.Create(Self);
   FTranslationDamping := TGLDamping.Create(Self);
@@ -371,7 +371,7 @@ begin
   end;
   end;
 end;
 end;
 
 
-procedure TGLBInertia.SetTranslationSpeed(const val: TgCoordinates);
+procedure TGLBInertia.SetTranslationSpeed(const val: TGLCoordinates);
 begin
 begin
   FTranslationSpeed.Assign(val);
   FTranslationSpeed.Assign(val);
 end;
 end;
@@ -519,7 +519,7 @@ begin
   if aOwner <> nil then
   if aOwner <> nil then
     if not (csReading in TComponent(aOwner.Owner).ComponentState) then
     if not (csReading in TComponent(aOwner.Owner).ComponentState) then
       GetOrCreateInertia(TGLBehaviours(aOwner));
       GetOrCreateInertia(TGLBehaviours(aOwner));
-  FAcceleration := TgCoordinates.CreateInitialized(Self, NullHmgVector, csVector);
+  FAcceleration := TGLCoordinates.CreateInitialized(Self, NullHmgVector, csVector);
 end;
 end;
 
 
 destructor TGLBAcceleration.Destroy;
 destructor TGLBAcceleration.Destroy;
@@ -557,7 +557,7 @@ begin
   end;
   end;
 end;
 end;
 
 
-procedure TGLBAcceleration.SetAcceleration(const val: TgCoordinates);
+procedure TGLBAcceleration.SetAcceleration(const val: TGLCoordinates);
 begin
 begin
   FAcceleration.Assign(val);
   FAcceleration.Assign(val);
 end;
 end;

+ 4 - 4
Source/GLS.BumpmapHDS.pas

@@ -109,13 +109,13 @@ type
 (*  Some useful methods for setting up bump maps. *)
 (*  Some useful methods for setting up bump maps. *)
 procedure CalcObjectSpaceLightVectors(Light : TAffineVector;
 procedure CalcObjectSpaceLightVectors(Light : TAffineVector;
                                       Vertices: TGLAffineVectorList;
                                       Vertices: TGLAffineVectorList;
-                                      Colors: TGVectorList);
+                                      Colors: TGLVectorList);
 procedure SetupTangentSpace(Vertices, Normals, TexCoords,
 procedure SetupTangentSpace(Vertices, Normals, TexCoords,
                             Tangents, BiNormals : TGLAffineVectorList);
                             Tangents, BiNormals : TGLAffineVectorList);
 procedure CalcTangentSpaceLightVectors(Light : TAffineVector;
 procedure CalcTangentSpaceLightVectors(Light : TAffineVector;
                                        Vertices, Normals,
                                        Vertices, Normals,
                                        Tangents, BiNormals : TGLAffineVectorList;
                                        Tangents, BiNormals : TGLAffineVectorList;
-                                       Colors: TGVectorList);
+                                       Colors: TGLVectorList);
 function CreateObjectSpaceNormalMap(Width, Height : Integer;
 function CreateObjectSpaceNormalMap(Width, Height : Integer;
                                     HiNormals,HiTexCoords : TGLAffineVectorList) : TBitmap;
                                     HiNormals,HiTexCoords : TGLAffineVectorList) : TBitmap;
 function CreateTangentSpaceNormalMap(Width, Height : Integer;
 function CreateTangentSpaceNormalMap(Width, Height : Integer;
@@ -349,7 +349,7 @@ end;
 
 
 //----------------- BumpMapping routines ---------------------
 //----------------- BumpMapping routines ---------------------
 
 
-procedure CalcObjectSpaceLightVectors(Light: TAffineVector; Vertices: TGLAffineVectorList; Colors: TGVectorList);
+procedure CalcObjectSpaceLightVectors(Light: TAffineVector; Vertices: TGLAffineVectorList; Colors: TGLVectorList);
 var
 var
   i: Integer;
   i: Integer;
   vec: TAffineVector;
   vec: TAffineVector;
@@ -456,7 +456,7 @@ end;
 
 
 procedure CalcTangentSpaceLightVectors(Light: TAffineVector;
 procedure CalcTangentSpaceLightVectors(Light: TAffineVector;
   Vertices, Normals, Tangents, BiNormals: TGLAffineVectorList;
   Vertices, Normals, Tangents, BiNormals: TGLAffineVectorList;
-  Colors: TGVectorList);
+  Colors: TGLVectorList);
 var
 var
   i: Integer;
   i: Integer;
   mat: TAffineMatrix;
   mat: TAffineMatrix;

+ 2 - 2
Source/GLS.CgShader.pas

@@ -185,7 +185,7 @@ type
     procedure EnableTexture;
     procedure EnableTexture;
     procedure DisableTexture;
     procedure DisableTexture;
     // Procedures for setting varying parameters with an array of values.
     // Procedures for setting varying parameters with an array of values.
-    procedure SetParameterPointer(Values: TGVectorList); overload;
+    procedure SetParameterPointer(Values: TGLVectorList); overload;
     procedure SetParameterPointer(Values: TGLAffineVectorList); overload;
     procedure SetParameterPointer(Values: TGLAffineVectorList); overload;
     procedure EnableClientState;
     procedure EnableClientState;
     procedure DisableClientState;
     procedure DisableClientState;
@@ -949,7 +949,7 @@ begin
   cgGLSetParameterPointer(FHandle, 3, GL_FLOAT, 0, Values.List);
   cgGLSetParameterPointer(FHandle, 3, GL_FLOAT, 0, Values.List);
 end;
 end;
 
 
-procedure TCgParameter.SetParameterPointer(Values: TGVectorList);
+procedure TCgParameter.SetParameterPointer(Values: TGLVectorList);
 begin
 begin
   Assert(FVariability = CG_VARYING);
   Assert(FVariability = CG_VARYING);
   cgGLSetParameterPointer(FHandle, 4, GL_FLOAT, 0, Values.List);
   cgGLSetParameterPointer(FHandle, 4, GL_FLOAT, 0, Values.List);

+ 78 - 78
Source/GLS.Coordinates.pas

@@ -5,7 +5,7 @@ unit GLS.Coordinates;
 (*
 (*
   Coordinate related classes and functions.
   Coordinate related classes and functions.
   The registered classes are:
   The registered classes are:
-    [TgCoordinates2, TgCoordinates3, TgCoordinates4]
+    [TGLCoordinates2, TGLCoordinates3, TGLCoordinates4]
 *)
 *)
 interface
 interface
 
 
@@ -22,22 +22,22 @@ uses
 
 
 type
 type
 
 
-  (* Identifies the type of data stored within a TgCustomCoordinates.
+  (* Identifies the type of data stored within a TGLCustomCoordinates.
      csPoint2D : a simple 2D point (Z=0, W=0)
      csPoint2D : a simple 2D point (Z=0, W=0)
      csPoint : a point (W=1)
      csPoint : a point (W=1)
      csVector : a vector (W=0)
      csVector : a vector (W=0)
      csUnknown : no constraint *)
      csUnknown : no constraint *)
-  TgCoordinatesStyle = (csPoint2D, csPoint, csVector, csUnknown);
+  TGLCoordinatesStyle = (csPoint2D, csPoint, csVector, csUnknown);
 
 
   (* Stores any homogeneous vector.
   (* Stores any homogeneous vector.
     This class is basicly a container for a TGLVector, allowing proper use of
     This class is basicly a container for a TGLVector, allowing proper use of
     property editors and editing in the IDE. Vector/Coordinates
     property editors and editing in the IDE. Vector/Coordinates
     manipulation methods are only minimal.
     manipulation methods are only minimal.
     Handles dynamic default values to save resource file space.  *)
     Handles dynamic default values to save resource file space.  *)
-  TgCustomCoordinates = class(TGLUpdateAbleObject)
+  TGLCustomCoordinates = class(TGLUpdateAbleObject)
   private
   private
     FCoords: TGLVector;
     FCoords: TGLVector;
-    FStyle: TgCoordinatesStyle; // NOT Persistent
+    FStyle: TGLCoordinatesStyle; // NOT Persistent
     FPDefaultCoords: PGLVector;
     FPDefaultCoords: PGLVector;
     procedure SetAsPoint2D(const Value: TVector2f);
     procedure SetAsPoint2D(const Value: TVector2f);
     procedure SetAsVector(const Value: TGLVector);
     procedure SetAsVector(const Value: TGLVector);
@@ -56,7 +56,7 @@ type
     procedure WriteData(Stream: TStream);
     procedure WriteData(Stream: TStream);
   public
   public
     constructor CreateInitialized(AOwner: TPersistent; const AValue: TGLVector;
     constructor CreateInitialized(AOwner: TPersistent; const AValue: TGLVector;
-      const AStyle: TgCoordinatesStyle = CsUnknown);
+      const AStyle: TGLCoordinatesStyle = CsUnknown);
     destructor Destroy; override;
     destructor Destroy; override;
     procedure Assign(Source: TPersistent); override;
     procedure Assign(Source: TPersistent); override;
     procedure WriteToFiler(Writer: TWriter);
     procedure WriteToFiler(Writer: TWriter);
@@ -66,10 +66,10 @@ type
     (* Identifies the coordinates styles.
     (* Identifies the coordinates styles.
       The property is NOT persistent, csUnknown by default, and should be
       The property is NOT persistent, csUnknown by default, and should be
       managed by owner object only (internally).
       managed by owner object only (internally).
-      It is used by the TgCustomCoordinates for internal "assertion" checks
+      It is used by the TGLCustomCoordinates for internal "assertion" checks
       to detect "misuses" or "misunderstandings" of what the homogeneous
       to detect "misuses" or "misunderstandings" of what the homogeneous
       coordinates system implies. *)
       coordinates system implies. *)
-    property Style: TgCoordinatesStyle read FStyle write FStyle;
+    property Style: TGLCoordinatesStyle read FStyle write FStyle;
     procedure Translate(const TranslationVector: TGLVector); overload;
     procedure Translate(const TranslationVector: TGLVector); overload;
     procedure Translate(const TranslationVector: TAffineVector); overload;
     procedure Translate(const TranslationVector: TAffineVector); overload;
     procedure AddScaledVector(const Factor: Single; const TranslationVector: TGLVector); overload;
     procedure AddScaledVector(const Factor: Single; const TranslationVector: TGLVector); overload;
@@ -124,23 +124,23 @@ type
     property DirectW: Single index 3 read GetDirectCoordinate write SetDirectCoordinate;
     property DirectW: Single index 3 read GetDirectCoordinate write SetDirectCoordinate;
   end;
   end;
 
 
-  // A TgCustomCoordinates that publishes X, Y properties.
-  TgCoordinates2 = class(TgCustomCoordinates)
+  // A TGLCustomCoordinates that publishes X, Y properties.
+  TGLCoordinates2 = class(TGLCustomCoordinates)
   published
   published
     property X stored False;
     property X stored False;
     property Y stored False;
     property Y stored False;
   end;
   end;
 
 
-  // A TgCustomCoordinates that publishes X, Y, Z properties.
-  TgCoordinates3 = class(TgCustomCoordinates)
+  // A TGLCustomCoordinates that publishes X, Y, Z properties.
+  TGLCoordinates3 = class(TGLCustomCoordinates)
   published
   published
     property X stored False;
     property X stored False;
     property Y stored False;
     property Y stored False;
     property Z stored False;
     property Z stored False;
   end;
   end;
 
 
-  // A TgCustomCoordinates that publishes X, Y, Z, W properties.
-  TgCoordinates4 = class(TgCustomCoordinates)
+  // A TGLCustomCoordinates that publishes X, Y, Z, W properties.
+  TGLCoordinates4 = class(TGLCustomCoordinates)
   published
   published
     property X stored False;
     property X stored False;
     property Y stored False;
     property Y stored False;
@@ -148,19 +148,19 @@ type
     property W stored False;
     property W stored False;
   end;
   end;
 
 
-  TgCoordinates = TgCoordinates3;
+  TGLCoordinates = TGLCoordinates3;
 
 
-  (* Actually Sender should be TgCustomCoordinates, but that would require
+  (* Actually Sender should be TGLCustomCoordinates, but that would require
      changes in a some other GLScene units and some other projects that use
      changes in a some other GLScene units and some other projects that use
-     TgCoordinatesUpdateAbleComponent *)
-  IGCoordinatesUpdateAble = interface(IInterface)
+     TGLCoordinatesUpdateAbleComponent *)
+  IGLCoordinatesUpdateAble = interface(IInterface)
     ['{ACB98D20-8905-43A7-AFA5-225CF5FA6FF5}']
     ['{ACB98D20-8905-43A7-AFA5-225CF5FA6FF5}']
-    procedure CoordinateChanged(Sender: TgCustomCoordinates);
+    procedure CoordinateChanged(Sender: TGLCustomCoordinates);
   end;
   end;
 
 
-  TgCoordinatesUpdateAbleComponent = class(TGLUpdateAbleComponent, IGCoordinatesUpdateAble)
+  TGLCoordinatesUpdateAbleComponent = class(TGLUpdateAbleComponent, IGLCoordinatesUpdateAble)
   public
   public
-    procedure CoordinateChanged(Sender: TgCustomCoordinates); virtual; abstract;
+    procedure CoordinateChanged(Sender: TGLCustomCoordinates); virtual; abstract;
   end;
   end;
 
 
 (* Calculates the barycentric coordinates for the point p on the triangle
 (* Calculates the barycentric coordinates for the point p on the triangle
@@ -307,7 +307,7 @@ procedure BipolarCylindrical_Cartesian(const u, v, z1, a: double;
   var x, y, z: double; var ierr: integer); overload;
   var x, y, z: double; var ierr: integer); overload;
 
 
 var
 var
-  (* Specifies if TgCustomCoordinates should allocate memory for
+  (* Specifies if TGLCustomCoordinates should allocate memory for
     their default values (ie. design-time) or not (run-time) *)
     their default values (ie. design-time) or not (run-time) *)
   VUseDefaultCoordinateSets: Boolean = False;
   VUseDefaultCoordinateSets: Boolean = False;
 
 
@@ -319,25 +319,25 @@ const
   csPoint2DHelp = 'When getting assertions here use one of the SetVector or SetPoint procedures';
   csPoint2DHelp = 'When getting assertions here use one of the SetVector or SetPoint procedures';
 
 
   // ------------------
   // ------------------
-  // ------------------ TgCustomCoordinates ------------------
+  // ------------------ TGLCustomCoordinates ------------------
   // ------------------
   // ------------------
 
 
-constructor TgCustomCoordinates.CreateInitialized(AOwner: TPersistent;
-  const AValue: TGLVector; const AStyle: TgCoordinatesStyle = CsUnknown);
+constructor TGLCustomCoordinates.CreateInitialized(AOwner: TPersistent;
+  const AValue: TGLVector; const AStyle: TGLCoordinatesStyle = CsUnknown);
 begin
 begin
   Create(AOwner);
   Create(AOwner);
   Initialize(AValue);
   Initialize(AValue);
   FStyle := AStyle;
   FStyle := AStyle;
 end;
 end;
 
 
-destructor TgCustomCoordinates.Destroy;
+destructor TGLCustomCoordinates.Destroy;
 begin
 begin
   if Assigned(FPDefaultCoords) then
   if Assigned(FPDefaultCoords) then
     Dispose(FPDefaultCoords);
     Dispose(FPDefaultCoords);
   inherited;
   inherited;
 end;
 end;
 
 
-procedure TgCustomCoordinates.Initialize(const Value: TGLVector);
+procedure TGLCustomCoordinates.Initialize(const Value: TGLVector);
 begin
 begin
   FCoords := Value;
   FCoords := Value;
   if VUseDefaultCoordinateSets then
   if VUseDefaultCoordinateSets then
@@ -348,15 +348,15 @@ begin
   end;
   end;
 end;
 end;
 
 
-procedure TgCustomCoordinates.Assign(Source: TPersistent);
+procedure TGLCustomCoordinates.Assign(Source: TPersistent);
 begin
 begin
-  if Source is TgCustomCoordinates then
-    FCoords := TgCustomCoordinates(Source).FCoords
+  if Source is TGLCustomCoordinates then
+    FCoords := TGLCustomCoordinates(Source).FCoords
   else
   else
     inherited;
     inherited;
 end;
 end;
 
 
-procedure TgCustomCoordinates.WriteToFiler(Writer: TWriter);
+procedure TGLCustomCoordinates.WriteToFiler(Writer: TWriter);
 var
 var
   WriteCoords: Boolean;
   WriteCoords: Boolean;
 begin
 begin
@@ -373,7 +373,7 @@ begin
   end;
   end;
 end;
 end;
 
 
-procedure TgCustomCoordinates.ReadFromFiler(Reader: TReader);
+procedure TGLCustomCoordinates.ReadFromFiler(Reader: TReader);
 var
 var
   N: Integer;
   N: Integer;
 begin
 begin
@@ -391,33 +391,33 @@ begin
   end;
   end;
 end;
 end;
 
 
-procedure TgCustomCoordinates.DefineProperties(Filer: TFiler);
+procedure TGLCustomCoordinates.DefineProperties(Filer: TFiler);
 begin
 begin
   inherited;
   inherited;
   Filer.DefineBinaryProperty('Coordinates', ReadData, WriteData,
   Filer.DefineBinaryProperty('Coordinates', ReadData, WriteData,
     not(Assigned(FPDefaultCoords) and VectorEquals(FPDefaultCoords^, FCoords)));
     not(Assigned(FPDefaultCoords) and VectorEquals(FPDefaultCoords^, FCoords)));
 end;
 end;
 
 
-procedure TgCustomCoordinates.ReadData(Stream: TStream);
+procedure TGLCustomCoordinates.ReadData(Stream: TStream);
 begin
 begin
   Stream.Read(FCoords, SizeOf(FCoords));
   Stream.Read(FCoords, SizeOf(FCoords));
 end;
 end;
 
 
-procedure TgCustomCoordinates.WriteData(Stream: TStream);
+procedure TGLCustomCoordinates.WriteData(Stream: TStream);
 begin
 begin
   Stream.Write(FCoords, SizeOf(FCoords));
   Stream.Write(FCoords, SizeOf(FCoords));
 end;
 end;
 
 
-procedure TgCustomCoordinates.NotifyChange(Sender: TObject);
+procedure TGLCustomCoordinates.NotifyChange(Sender: TObject);
 var
 var
-  Int: IGCoordinatesUpdateAble;
+  Int: IGLCoordinatesUpdateAble;
 begin
 begin
-  if Supports(Owner, IGCoordinatesUpdateAble, Int) then
-    Int.CoordinateChanged(TgCoordinates(Self));
+  if Supports(Owner, IGLCoordinatesUpdateAble, Int) then
+    Int.CoordinateChanged(TGLCoordinates(Self));
   inherited NotifyChange(Sender);
   inherited NotifyChange(Sender);
 end;
 end;
 
 
-procedure TgCustomCoordinates.Translate(const TranslationVector: TGLVector);
+procedure TGLCustomCoordinates.Translate(const TranslationVector: TGLVector);
 begin
 begin
   FCoords.X := FCoords.X + TranslationVector.X;
   FCoords.X := FCoords.X + TranslationVector.X;
   FCoords.Y := FCoords.Y + TranslationVector.Y;
   FCoords.Y := FCoords.Y + TranslationVector.Y;
@@ -425,7 +425,7 @@ begin
   NotifyChange(Self);
   NotifyChange(Self);
 end;
 end;
 
 
-procedure TgCustomCoordinates.Translate(const TranslationVector
+procedure TGLCustomCoordinates.Translate(const TranslationVector
   : TAffineVector);
   : TAffineVector);
 begin
 begin
   FCoords.X := FCoords.X + TranslationVector.X;
   FCoords.X := FCoords.X + TranslationVector.X;
@@ -434,7 +434,7 @@ begin
   NotifyChange(Self);
   NotifyChange(Self);
 end;
 end;
 
 
-procedure TgCustomCoordinates.AddScaledVector(const Factor: Single;
+procedure TGLCustomCoordinates.AddScaledVector(const Factor: Single;
   const TranslationVector: TGLVector);
   const TranslationVector: TGLVector);
 var
 var
   F: Single;
   F: Single;
@@ -444,7 +444,7 @@ begin
   NotifyChange(Self);
   NotifyChange(Self);
 end;
 end;
 
 
-procedure TgCustomCoordinates.AddScaledVector(const Factor: Single;
+procedure TGLCustomCoordinates.AddScaledVector(const Factor: Single;
   const TranslationVector: TAffineVector);
   const TranslationVector: TAffineVector);
 var
 var
   F: Single;
   F: Single;
@@ -454,92 +454,92 @@ begin
   NotifyChange(Self);
   NotifyChange(Self);
 end;
 end;
 
 
-procedure TgCustomCoordinates.Rotate(const AnAxis: TAffineVector;
+procedure TGLCustomCoordinates.Rotate(const AnAxis: TAffineVector;
   AnAngle: Single);
   AnAngle: Single);
 begin
 begin
   RotateVector(FCoords, AnAxis, AnAngle);
   RotateVector(FCoords, AnAxis, AnAngle);
   NotifyChange(Self);
   NotifyChange(Self);
 end;
 end;
 
 
-procedure TgCustomCoordinates.Rotate(const AnAxis: TGLVector; AnAngle: Single);
+procedure TGLCustomCoordinates.Rotate(const AnAxis: TGLVector; AnAngle: Single);
 begin
 begin
   RotateVector(FCoords, AnAxis, AnAngle);
   RotateVector(FCoords, AnAxis, AnAngle);
   NotifyChange(Self);
   NotifyChange(Self);
 end;
 end;
 
 
-procedure TgCustomCoordinates.Normalize;
+procedure TGLCustomCoordinates.Normalize;
 begin
 begin
   NormalizeVector(FCoords);
   NormalizeVector(FCoords);
   NotifyChange(Self);
   NotifyChange(Self);
 end;
 end;
 
 
-procedure TgCustomCoordinates.Invert;
+procedure TGLCustomCoordinates.Invert;
 begin
 begin
   NegateVector(FCoords);
   NegateVector(FCoords);
   NotifyChange(Self);
   NotifyChange(Self);
 end;
 end;
 
 
-procedure TgCustomCoordinates.Scale(Factor: Single);
+procedure TGLCustomCoordinates.Scale(Factor: Single);
 begin
 begin
   ScaleVector(PAffineVector(@FCoords)^, Factor);
   ScaleVector(PAffineVector(@FCoords)^, Factor);
   NotifyChange(Self);
   NotifyChange(Self);
 end;
 end;
 
 
-function TgCustomCoordinates.VectorLength: Single;
+function TGLCustomCoordinates.VectorLength: Single;
 begin
 begin
   Result := GLScene.VectorGeometry.VectorLength(FCoords);
   Result := GLScene.VectorGeometry.VectorLength(FCoords);
 end;
 end;
 
 
-function TgCustomCoordinates.VectorNorm: Single;
+function TGLCustomCoordinates.VectorNorm: Single;
 begin
 begin
   Result := GLScene.VectorGeometry.VectorNorm(FCoords);
   Result := GLScene.VectorGeometry.VectorNorm(FCoords);
 end;
 end;
 
 
-function TgCustomCoordinates.MaxXYZ: Single;
+function TGLCustomCoordinates.MaxXYZ: Single;
 begin
 begin
   Result := MaxXYZComponent(FCoords);
   Result := MaxXYZComponent(FCoords);
 end;
 end;
 
 
-function TgCustomCoordinates.Equals(const AVector: TGLVector): Boolean;
+function TGLCustomCoordinates.Equals(const AVector: TGLVector): Boolean;
 begin
 begin
   Result := VectorEquals(FCoords, AVector);
   Result := VectorEquals(FCoords, AVector);
 end;
 end;
 
 
-procedure TgCustomCoordinates.SetVector(const X, Y: Single; Z: Single = 0);
+procedure TGLCustomCoordinates.SetVector(const X, Y: Single; Z: Single = 0);
 begin
 begin
   Assert(FStyle = csVector, csVectorHelp);
   Assert(FStyle = csVector, csVectorHelp);
   GLScene.VectorGeometry.SetVector(FCoords, X, Y, Z);
   GLScene.VectorGeometry.SetVector(FCoords, X, Y, Z);
   NotifyChange(Self);
   NotifyChange(Self);
 end;
 end;
 
 
-procedure TgCustomCoordinates.SetVector(const V: TAffineVector);
+procedure TGLCustomCoordinates.SetVector(const V: TAffineVector);
 begin
 begin
   Assert(FStyle = csVector, csVectorHelp);
   Assert(FStyle = csVector, csVectorHelp);
   GLScene.VectorGeometry.SetVector(FCoords, V);
   GLScene.VectorGeometry.SetVector(FCoords, V);
   NotifyChange(Self);
   NotifyChange(Self);
 end;
 end;
 
 
-procedure TgCustomCoordinates.SetVector(const V: TGLVector);
+procedure TGLCustomCoordinates.SetVector(const V: TGLVector);
 begin
 begin
   Assert(FStyle = csVector, csVectorHelp);
   Assert(FStyle = csVector, csVectorHelp);
   GLScene.VectorGeometry.SetVector(FCoords, V);
   GLScene.VectorGeometry.SetVector(FCoords, V);
   NotifyChange(Self);
   NotifyChange(Self);
 end;
 end;
 
 
-procedure TgCustomCoordinates.SetVector(const X, Y, Z, W: Single);
+procedure TGLCustomCoordinates.SetVector(const X, Y, Z, W: Single);
 begin
 begin
   Assert(FStyle = csVector, csVectorHelp);
   Assert(FStyle = csVector, csVectorHelp);
   GLScene.VectorGeometry.SetVector(FCoords, X, Y, Z, W);
   GLScene.VectorGeometry.SetVector(FCoords, X, Y, Z, W);
   NotifyChange(Self);
   NotifyChange(Self);
 end;
 end;
 
 
-procedure TgCustomCoordinates.SetDirectCoordinate(const Index: Integer;
+procedure TGLCustomCoordinates.SetDirectCoordinate(const Index: Integer;
   const AValue: Single);
   const AValue: Single);
 begin
 begin
   FCoords.V[index] := AValue;
   FCoords.V[index] := AValue;
 end;
 end;
 
 
-procedure TgCustomCoordinates.SetDirectVector(const V: TGLVector);
+procedure TGLCustomCoordinates.SetDirectVector(const V: TGLVector);
 begin
 begin
   FCoords.X := V.X;
   FCoords.X := V.X;
   FCoords.Y := V.Y;
   FCoords.Y := V.Y;
@@ -547,7 +547,7 @@ begin
   FCoords.W := V.W;
   FCoords.W := V.W;
 end;
 end;
 
 
-procedure TgCustomCoordinates.SetToZero;
+procedure TGLCustomCoordinates.SetToZero;
 begin
 begin
   FCoords.X := 0;
   FCoords.X := 0;
   FCoords.Y := 0;
   FCoords.Y := 0;
@@ -559,61 +559,61 @@ begin
   NotifyChange(Self);
   NotifyChange(Self);
 end;
 end;
 
 
-procedure TgCustomCoordinates.SetPoint(const X, Y, Z: Single);
+procedure TGLCustomCoordinates.SetPoint(const X, Y, Z: Single);
 begin
 begin
   Assert(FStyle = CsPoint, CsPointHelp);
   Assert(FStyle = CsPoint, CsPointHelp);
   MakePoint(FCoords, X, Y, Z);
   MakePoint(FCoords, X, Y, Z);
   NotifyChange(Self);
   NotifyChange(Self);
 end;
 end;
 
 
-procedure TgCustomCoordinates.SetPoint(const V: TAffineVector);
+procedure TGLCustomCoordinates.SetPoint(const V: TAffineVector);
 begin
 begin
   Assert(FStyle = CsPoint, CsPointHelp);
   Assert(FStyle = CsPoint, CsPointHelp);
   MakePoint(FCoords, V);
   MakePoint(FCoords, V);
   NotifyChange(Self);
   NotifyChange(Self);
 end;
 end;
 
 
-procedure TgCustomCoordinates.SetPoint(const V: TGLVector);
+procedure TGLCustomCoordinates.SetPoint(const V: TGLVector);
 begin
 begin
   Assert(FStyle = CsPoint, CsPointHelp);
   Assert(FStyle = CsPoint, CsPointHelp);
   MakePoint(FCoords, V);
   MakePoint(FCoords, V);
   NotifyChange(Self);
   NotifyChange(Self);
 end;
 end;
 
 
-procedure TgCustomCoordinates.SetPoint2D(const X, Y: Single);
+procedure TGLCustomCoordinates.SetPoint2D(const X, Y: Single);
 begin
 begin
   Assert(FStyle = CsPoint2D, CsPoint2DHelp);
   Assert(FStyle = CsPoint2D, CsPoint2DHelp);
   GLScene.VectorGeometry.MakeVector(FCoords, X, Y, 0);
   GLScene.VectorGeometry.MakeVector(FCoords, X, Y, 0);
   NotifyChange(Self);
   NotifyChange(Self);
 end;
 end;
 
 
-procedure TgCustomCoordinates.SetPoint2D(const Vector: TAffineVector);
+procedure TGLCustomCoordinates.SetPoint2D(const Vector: TAffineVector);
 begin
 begin
   Assert(FStyle = CsPoint2D, CsPoint2DHelp);
   Assert(FStyle = CsPoint2D, CsPoint2DHelp);
   MakeVector(FCoords, Vector);
   MakeVector(FCoords, Vector);
   NotifyChange(Self);
   NotifyChange(Self);
 end;
 end;
 
 
-procedure TgCustomCoordinates.SetPoint2D(const Vector: TGLVector);
+procedure TGLCustomCoordinates.SetPoint2D(const Vector: TGLVector);
 begin
 begin
   Assert(FStyle = CsPoint2D, CsPoint2DHelp);
   Assert(FStyle = CsPoint2D, CsPoint2DHelp);
   MakeVector(FCoords, Vector);
   MakeVector(FCoords, Vector);
   NotifyChange(Self);
   NotifyChange(Self);
 end;
 end;
 
 
-procedure TgCustomCoordinates.SetPoint2D(const Vector: TVector2f);
+procedure TGLCustomCoordinates.SetPoint2D(const Vector: TVector2f);
 begin
 begin
   Assert(FStyle = CsPoint2D, CsPoint2DHelp);
   Assert(FStyle = CsPoint2D, CsPoint2DHelp);
   MakeVector(FCoords, Vector.X, Vector.Y, 0);
   MakeVector(FCoords, Vector.X, Vector.Y, 0);
   NotifyChange(Self);
   NotifyChange(Self);
 end;
 end;
 
 
-function TgCustomCoordinates.AsAddress: PSingle;
+function TGLCustomCoordinates.AsAddress: PSingle;
 begin
 begin
   Result := @FCoords;
   Result := @FCoords;
 end;
 end;
 
 
-procedure TgCustomCoordinates.SetAsVector(const Value: TGLVector);
+procedure TGLCustomCoordinates.SetAsVector(const Value: TGLVector);
 begin
 begin
   FCoords := Value;
   FCoords := Value;
   case FStyle of
   case FStyle of
@@ -632,7 +632,7 @@ begin
   NotifyChange(Self);
   NotifyChange(Self);
 end;
 end;
 
 
-procedure TgCustomCoordinates.SetAsAffineVector(const Value: TAffineVector);
+procedure TGLCustomCoordinates.SetAsAffineVector(const Value: TAffineVector);
 begin
 begin
   case FStyle of
   case FStyle of
     CsPoint2D:
     CsPoint2D:
@@ -647,7 +647,7 @@ begin
   NotifyChange(Self);
   NotifyChange(Self);
 end;
 end;
 
 
-procedure TgCustomCoordinates.SetAsPoint2D(const Value: TVector2f);
+procedure TGLCustomCoordinates.SetAsPoint2D(const Value: TVector2f);
 begin
 begin
   case FStyle of
   case FStyle of
     CsPoint2D, CsPoint, CsVector:
     CsPoint2D, CsPoint, CsVector:
@@ -663,36 +663,36 @@ begin
   NotifyChange(Self);
   NotifyChange(Self);
 end;
 end;
 
 
-function TgCustomCoordinates.GetAsAffineVector: TAffineVector;
+function TGLCustomCoordinates.GetAsAffineVector: TAffineVector;
 begin
 begin
   GLScene.VectorGeometry.SetVector(Result, FCoords);
   GLScene.VectorGeometry.SetVector(Result, FCoords);
 end;
 end;
 
 
-function TgCustomCoordinates.GetAsPoint2D: TVector2f;
+function TGLCustomCoordinates.GetAsPoint2D: TVector2f;
 begin
 begin
   Result.X := FCoords.X;
   Result.X := FCoords.X;
   Result.Y := FCoords.Y;
   Result.Y := FCoords.Y;
 end;
 end;
 
 
-procedure TgCustomCoordinates.SetCoordinate(const AIndex: Integer;
+procedure TGLCustomCoordinates.SetCoordinate(const AIndex: Integer;
   const AValue: Single);
   const AValue: Single);
 begin
 begin
   FCoords.V[AIndex] := AValue;
   FCoords.V[AIndex] := AValue;
   NotifyChange(Self);
   NotifyChange(Self);
 end;
 end;
 
 
-function TgCustomCoordinates.GetCoordinate(const AIndex: Integer): Single;
+function TGLCustomCoordinates.GetCoordinate(const AIndex: Integer): Single;
 begin
 begin
   Result := FCoords.V[AIndex];
   Result := FCoords.V[AIndex];
 end;
 end;
 
 
-function TgCustomCoordinates.GetDirectCoordinate(
+function TGLCustomCoordinates.GetDirectCoordinate(
   const Index: Integer): Single;
   const Index: Integer): Single;
 begin
 begin
   Result := FCoords.V[index]
   Result := FCoords.V[index]
 end;
 end;
 
 
-function TgCustomCoordinates.GetAsString: String;
+function TGLCustomCoordinates.GetAsString: String;
 begin
 begin
   case Style of
   case Style of
     CsPoint2D:
     CsPoint2D:
@@ -1179,10 +1179,10 @@ end;
 
 
 initialization //------------------------------------------------------------
 initialization //------------------------------------------------------------
 
 
-RegisterClasses([TgCoordinates2, TgCoordinates3, TgCoordinates4]);
+RegisterClasses([TGLCoordinates2, TGLCoordinates3, TGLCoordinates4]);
 
 
 finalization //--------------------------------------------------------------
 finalization //--------------------------------------------------------------
 
 
-// UnRegisterClasses([TgCoordinates2, TgCoordinates3, TgCoordinates4]);
+// UnRegisterClasses([TGLCoordinates2, TGLCoordinates3, TGLCoordinates4]);
 
 
 end.
 end.

+ 1 - 1
Source/GLScene.CurvesAndSurfaces.pas → Source/GLS.CurvesAndSurfaces.pas

@@ -1,7 +1,7 @@
 //
 //
 // The graphics engine GLScene https://github.com/glscene
 // The graphics engine GLScene https://github.com/glscene
 //
 //
-unit GLScene.CurvesAndSurfaces;
+unit GLS.CurvesAndSurfaces;
 
 
 (* Bezier and B-Spline Curve and Surface Routines *)
 (* Bezier and B-Spline Curve and Surface Routines *)
 
 

+ 15 - 15
Source/GLS.DCE.pas

@@ -86,13 +86,13 @@ type
     FStatics: TList;
     FStatics: TList;
     FDynamics: TList;
     FDynamics: TList;
     FGravity: single;
     FGravity: single;
-    FWorldDirection: TgCoordinates; // Used to calculate jumps f.i.
+    FWorldDirection: TGLCoordinates; // Used to calculate jumps f.i.
     FWorldScale: single;
     FWorldScale: single;
     FMovimentScale: single;
     FMovimentScale: single;
     FStandardiseLayers: TDCECollisionSelection;
     FStandardiseLayers: TDCECollisionSelection;
     FManualStep: Boolean;
     FManualStep: Boolean;
     FOnCollision: TDCECollisionEvent;
     FOnCollision: TDCECollisionEvent;
-    procedure SetWorldDirection(const Value: TgCoordinates);
+    procedure SetWorldDirection(const Value: TGLCoordinates);
     procedure SetWorldScale(const Value: single);
     procedure SetWorldScale(const Value: single);
     function GetDynamicCount: Integer;
     function GetDynamicCount: Integer;
     function GetStaticCount: Integer;
     function GetStaticCount: Integer;
@@ -114,7 +114,7 @@ type
     property StaticCount: Integer read GetStaticCount;
     property StaticCount: Integer read GetStaticCount;
   published
   published
     property Gravity: single read FGravity write FGravity;
     property Gravity: single read FGravity write FGravity;
-    property WorldDirection: TgCoordinates read FWorldDirection
+    property WorldDirection: TGLCoordinates read FWorldDirection
       write SetWorldDirection;
       write SetWorldDirection;
     property WorldScale: single read FWorldScale write SetWorldScale;
     property WorldScale: single read FWorldScale write SetWorldScale;
     property MovimentScale: single read FMovimentScale write FMovimentScale;
     property MovimentScale: single read FMovimentScale write FMovimentScale;
@@ -137,13 +137,13 @@ type
     FSolid: Boolean;
     FSolid: Boolean;
     FFriction: single; // 0 (no friction); 100 (no movement)
     FFriction: single; // 0 (no friction); 100 (no movement)
     FBounceFactor: single; // 0 (don't bounce); 1 (bounce forever)
     FBounceFactor: single; // 0 (don't bounce); 1 (bounce forever)
-    FSize: TgCoordinates;
+    FSize: TGLCoordinates;
     // Events
     // Events
     FOnCollision: TDCEObjectCollisionEvent;
     FOnCollision: TDCEObjectCollisionEvent;
     procedure SetShape(const Value: TDCEShape);
     procedure SetShape(const Value: TDCEShape);
     procedure SetFriction(const Value: single);
     procedure SetFriction(const Value: single);
     procedure SetBounceFactor(const Value: single);
     procedure SetBounceFactor(const Value: single);
-    procedure SetSize(const Value: TgCoordinates);
+    procedure SetSize(const Value: TGLCoordinates);
   protected
   protected
     procedure SetManager(const val: TGLDCEManager);
     procedure SetManager(const val: TGLDCEManager);
     procedure WriteToFiler(writer: TWriter); override;
     procedure WriteToFiler(writer: TWriter); override;
@@ -165,7 +165,7 @@ type
     property Solid: Boolean read FSolid write FSolid;
     property Solid: Boolean read FSolid write FSolid;
     property Friction: single read FFriction write SetFriction;
     property Friction: single read FFriction write SetFriction;
     property BounceFactor: single read FBounceFactor write SetBounceFactor;
     property BounceFactor: single read FBounceFactor write SetBounceFactor;
-    property Size: TgCoordinates read FSize write SetSize;
+    property Size: TGLCoordinates read FSize write SetSize;
   end;
   end;
 
 
   TDCESlideOrBounce = (csbSlide, csbBounce);
   TDCESlideOrBounce = (csbSlide, csbBounce);
@@ -181,7 +181,7 @@ type
     // Collide and slide if true, otherwise it "walk thru walls"
     // Collide and slide if true, otherwise it "walk thru walls"
     FFriction: single; // 0 (no friction); 100 (no movement)
     FFriction: single; // 0 (no friction); 100 (no movement)
     FBounceFactor: single; // 0 (don't bounce); 1 (bounce forever)
     FBounceFactor: single; // 0 (don't bounce); 1 (bounce forever)
-    FSize: TgCoordinates;
+    FSize: TGLCoordinates;
     // Number of iterations of the collision method
     // Number of iterations of the collision method
     FMaxRecursionDepth: byte;
     FMaxRecursionDepth: byte;
     FSlideOrBounce: TDCESlideOrBounce; // gak20041122
     FSlideOrBounce: TDCESlideOrBounce; // gak20041122
@@ -200,7 +200,7 @@ type
     FOnCollision: TDCEObjectCollisionEvent;
     FOnCollision: TDCEObjectCollisionEvent;
     procedure SetFriction(const Value: single);
     procedure SetFriction(const Value: single);
     procedure SetBounceFactor(const Value: single);
     procedure SetBounceFactor(const Value: single);
-    procedure SetSize(const Value: TgCoordinates);
+    procedure SetSize(const Value: TGLCoordinates);
   protected
   protected
     procedure SetManager(const val: TGLDCEManager);
     procedure SetManager(const val: TGLDCEManager);
     procedure WriteToFiler(writer: TWriter); override;
     procedure WriteToFiler(writer: TWriter); override;
@@ -238,7 +238,7 @@ type
     property Solid: Boolean read FSolid write FSolid;
     property Solid: Boolean read FSolid write FSolid;
     property Friction: single read FFriction write SetFriction;
     property Friction: single read FFriction write SetFriction;
     property BounceFactor: single read FBounceFactor write SetBounceFactor;
     property BounceFactor: single read FBounceFactor write SetBounceFactor;
-    property Size: TgCoordinates read FSize write SetSize;
+    property Size: TGLCoordinates read FSize write SetSize;
     property SlideOrBounce: TDCESlideOrBounce read FSlideOrBounce
     property SlideOrBounce: TDCESlideOrBounce read FSlideOrBounce
       write FSlideOrBounce;
       write FSlideOrBounce;
   end;
   end;
@@ -512,7 +512,7 @@ begin
   FStatics := TList.Create;
   FStatics := TList.Create;
   FDynamics := TList.Create;
   FDynamics := TList.Create;
   FGravity := 0;
   FGravity := 0;
-  FWorldDirection := TgCoordinates.CreateInitialized(Self, YHmgVector,
+  FWorldDirection := TGLCoordinates.CreateInitialized(Self, YHmgVector,
     csVector);
     csVector);
   FWorldScale := 1;
   FWorldScale := 1;
   FMovimentScale := 1;
   FMovimentScale := 1;
@@ -768,7 +768,7 @@ begin
         DoMove(deltaTime);
         DoMove(deltaTime);
 end;
 end;
 
 
-procedure TGLDCEManager.SetWorldDirection(const Value: TgCoordinates);
+procedure TGLDCEManager.SetWorldDirection(const Value: TGLCoordinates);
 begin
 begin
   FWorldDirection := Value;
   FWorldDirection := Value;
   FWorldDirection.Normalize;
   FWorldDirection.Normalize;
@@ -866,7 +866,7 @@ constructor TGLDCEStatic.Create(AOwner: TXCollection);
 begin
 begin
   inherited Create(AOwner);
   inherited Create(AOwner);
   FActive := True;
   FActive := True;
-  FSize := TgCoordinates.CreateInitialized(Self, XYZHmgVector, csVector);
+  FSize := TGLCoordinates.CreateInitialized(Self, XYZHmgVector, csVector);
   FShape := csEllipsoid;
   FShape := csEllipsoid;
   FSolid := True;
   FSolid := True;
   FFriction := 1;
   FFriction := 1;
@@ -981,7 +981,7 @@ begin
   FShape := Value;
   FShape := Value;
 end;
 end;
 
 
-procedure TGLDCEStatic.SetSize(const Value: TgCoordinates);
+procedure TGLDCEStatic.SetSize(const Value: TGLCoordinates);
 begin
 begin
   FSize.Assign(Value);
   FSize.Assign(Value);
   if FSize.x <= 0 then
   if FSize.x <= 0 then
@@ -1049,7 +1049,7 @@ begin
   inherited Create(AOwner);
   inherited Create(AOwner);
   FActive := True;
   FActive := True;
   FUseGravity := True;
   FUseGravity := True;
-  FSize := TgCoordinates.CreateInitialized(Self, XYZHmgVector, csVector);
+  FSize := TGLCoordinates.CreateInitialized(Self, XYZHmgVector, csVector);
   FSolid := True;
   FSolid := True;
   FFriction := 1;
   FFriction := 1;
   FBounceFactor := 0;
   FBounceFactor := 0;
@@ -1302,7 +1302,7 @@ begin
   end;
   end;
 end;
 end;
 
 
-procedure TGLDCEDynamic.SetSize(const Value: TgCoordinates);
+procedure TGLDCEDynamic.SetSize(const Value: TGLCoordinates);
 begin
 begin
   FSize.Assign(Value);
   FSize.Assign(Value);
   if FSize.x <= 0 then
   if FSize.x <= 0 then

+ 6 - 6
Source/GLS.EParticleMasksManager.pas

@@ -50,8 +50,8 @@ type
   TGLEParticleMask = class(TCollectionItem, IGLMaterialLibrarySupported)
   TGLEParticleMask = class(TCollectionItem, IGLMaterialLibrarySupported)
   private
   private
     FName: string;
     FName: string;
-    FScale: TgCoordinates;
-    FPosition: TgCoordinates;
+    FScale: TGLCoordinates;
+    FPosition: TGLCoordinates;
     FYMask: TGLLibMaterialName;
     FYMask: TGLLibMaterialName;
     FZMask: TGLLibMaterialName;
     FZMask: TGLLibMaterialName;
     FXMask: TGLLibMaterialName;
     FXMask: TGLLibMaterialName;
@@ -97,8 +97,8 @@ type
       TGLEProjectedParticleMask; Depth: Integer);
       TGLEProjectedParticleMask; Depth: Integer);
   published
   published
     // scales and positions
     // scales and positions
-    property Scale: TgCoordinates read FScale write FScale;
-    property Position: TgCoordinates read FPosition write FPosition;
+    property Scale: TGLCoordinates read FScale write FScale;
+    property Position: TGLCoordinates read FPosition write FPosition;
     // the reference name of the particle mask
     // the reference name of the particle mask
     property Name: string read FName write SetName;
     property Name: string read FName write SetName;
     property MaterialLibrary: TGLMaterialLibrary read FMaterialLibrary write SetMaterialLibrary;
     property MaterialLibrary: TGLMaterialLibrary read FMaterialLibrary write SetMaterialLibrary;
@@ -210,8 +210,8 @@ begin
 
 
   FName := 'ParticleMask' + IntToStr(ID);
   FName := 'ParticleMask' + IntToStr(ID);
 
 
-  FScale := TgCoordinates.CreateInitialized(Self, XYZHMGVector, csPoint);
-  FPosition := TgCoordinates.CreateInitialized(Self, NullHmgPoint, csPoint);
+  FScale := TGLCoordinates.CreateInitialized(Self, XYZHMGVector, csPoint);
+  FPosition := TGLCoordinates.CreateInitialized(Self, NullHmgPoint, csPoint);
   FMaterialLibrary := nil;
   FMaterialLibrary := nil;
 
 
   FMaskColor := clWhite;
   FMaskColor := clWhite;

+ 5 - 5
Source/GLS.ExplosionFx.pas

@@ -48,14 +48,14 @@ type
     FEnabled: boolean;
     FEnabled: boolean;
     FFaceCount: integer;
     FFaceCount: integer;
     FSpeed: single;
     FSpeed: single;
-    FDirection: TgCoordinates;
+    FDirection: TGLCoordinates;
     FMaxSteps: integer;
     FMaxSteps: integer;
     FStep: integer;
     FStep: integer;
     procedure SetTriList(Value: TGLAffineVectorList);
     procedure SetTriList(Value: TGLAffineVectorList);
     procedure SetRotList(Value: TGLAffineVectorList);
     procedure SetRotList(Value: TGLAffineVectorList);
     procedure SetDirList(Value: TGLAffineVectorList);
     procedure SetDirList(Value: TGLAffineVectorList);
     procedure SetPosList(Value: TGLAffineVectorList);
     procedure SetPosList(Value: TGLAffineVectorList);
-    procedure SetDirection(value: TgCoordinates);
+    procedure SetDirection(value: TGLCoordinates);
     procedure SetEnabled(value: boolean);
     procedure SetEnabled(value: boolean);
   protected
   protected
     property TriList: TGLAffineVectorList read FTriList write SetTriList;
     property TriList: TGLAffineVectorList read FTriList write SetTriList;
@@ -78,7 +78,7 @@ type
   published
   published
     property MaxSteps: integer read FMaxSteps write FMaxSteps;
     property MaxSteps: integer read FMaxSteps write FMaxSteps;
     property Speed: single read FSpeed write FSpeed;
     property Speed: single read FSpeed write FSpeed;
-    property Direction: TgCoordinates read FDirection write SetDirection;
+    property Direction: TGLCoordinates read FDirection write SetDirection;
   end;
   end;
 
 
 //-------------------------------------------------------------------------
 //-------------------------------------------------------------------------
@@ -96,7 +96,7 @@ begin
   FRotList := TGLAffineVectorList.Create;
   FRotList := TGLAffineVectorList.Create;
   FDirList := TGLAffineVectorList.Create;
   FDirList := TGLAffineVectorList.Create;
   FPosList := TGLAffineVectorList.Create;
   FPosList := TGLAffineVectorList.Create;
-  FDirection := TgCoordinates.CreateInitialized(Self, NullHmgVector, csPoint);
+  FDirection := TGLCoordinates.CreateInitialized(Self, NullHmgVector, csPoint);
 end;
 end;
 
 
 destructor TGLBExplosionFX.Destroy;
 destructor TGLBExplosionFX.Destroy;
@@ -140,7 +140,7 @@ begin
   FPosList.Assign(Value);
   FPosList.Assign(Value);
 end;
 end;
 
 
-procedure TGLBExplosionFx.SetDirection(Value: TgCoordinates);
+procedure TGLBExplosionFx.SetDirection(Value: TGLCoordinates);
 begin
 begin
   Value.Normalize;
   Value.Normalize;
   FDirection.Assign(Value);
   FDirection.Assign(Value);

+ 4 - 4
Source/GLS.Feedback.pas

@@ -64,7 +64,7 @@ type
     procedure BuildMeshFromBuffer(
     procedure BuildMeshFromBuffer(
       Vertices: TGLAffineVectorList = nil;
       Vertices: TGLAffineVectorList = nil;
       Normals: TGLAffineVectorList = nil;
       Normals: TGLAffineVectorList = nil;
-      Colors: TGVectorList = nil;
+      Colors: TGLVectorList = nil;
       TexCoords: TGLAffineVectorList = nil;
       TexCoords: TGLAffineVectorList = nil;
       VertexIndices: TgIntegerList = nil);
       VertexIndices: TgIntegerList = nil);
     // True when there is data in the buffer ready for parsing
     // True when there is data in the buffer ready for parsing
@@ -187,7 +187,7 @@ end;
 procedure TGLFeedback.BuildMeshFromBuffer(
 procedure TGLFeedback.BuildMeshFromBuffer(
   Vertices: TGLAffineVectorList = nil;
   Vertices: TGLAffineVectorList = nil;
   Normals: TGLAffineVectorList = nil;
   Normals: TGLAffineVectorList = nil;
-  Colors: TGVectorList = nil;
+  Colors: TGLVectorList = nil;
   TexCoords: TGLAffineVectorList = nil;
   TexCoords: TGLAffineVectorList = nil;
   VertexIndices: TgIntegerList = nil);
   VertexIndices: TgIntegerList = nil);
 var
 var
@@ -195,14 +195,14 @@ var
   i, j, LCount, skip: Integer;
   i, j, LCount, skip: Integer;
   vertex, color, texcoord: TGLVector;
   vertex, color, texcoord: TGLVector;
   tempVertices, tempNormals, tempTexCoords: TGLAffineVectorList;
   tempVertices, tempNormals, tempTexCoords: TGLAffineVectorList;
-  tempColors: TGVectorList;
+  tempColors: TGLVectorList;
   tempIndices: TgIntegerList;
   tempIndices: TgIntegerList;
   ColorBuffered, TexCoordBuffered: Boolean;
   ColorBuffered, TexCoordBuffered: Boolean;
 begin
 begin
   Assert(FMode <> fm2D, 'Cannot build mesh from fm2D feedback mode.');
   Assert(FMode <> fm2D, 'Cannot build mesh from fm2D feedback mode.');
 
 
   tempVertices := TGLAffineVectorList.Create;
   tempVertices := TGLAffineVectorList.Create;
-  tempColors := TGVectorList.Create;
+  tempColors := TGLVectorList.Create;
   tempTexCoords := TGLAffineVectorList.Create;
   tempTexCoords := TGLAffineVectorList.Create;
 
 
   ColorBuffered := (FMode = fm3DColor) or
   ColorBuffered := (FMode = fm3DColor) or

+ 21 - 21
Source/GLS.File3DSSceneObjects.pas

@@ -30,32 +30,32 @@ uses
 type
 type
   TGLFile3DSLight = class(TGLLightSource)
   TGLFile3DSLight = class(TGLLightSource)
   private
   private
-    FTargetPos: TgCoordinates;
+    FTargetPos: TGLCoordinates;
     FHotSpot: Single;
     FHotSpot: Single;
     FMultipler: Single;
     FMultipler: Single;
   public
   public
     constructor Create(AOwner: TComponent); override;
     constructor Create(AOwner: TComponent); override;
     procedure DoRender(var rci: TGLRenderContextInfo; renderSelf, renderChildren: Boolean); override;
     procedure DoRender(var rci: TGLRenderContextInfo; renderSelf, renderChildren: Boolean); override;
-    procedure CoordinateChanged(Sender: TgCustomCoordinates); override;
+    procedure CoordinateChanged(Sender: TGLCustomCoordinates); override;
     destructor Destroy; override;
     destructor Destroy; override;
   published
   published
-    property SpotTargetPos: TgCoordinates read FTargetPos;
+    property SpotTargetPos: TGLCoordinates read FTargetPos;
     property HotSpot: Single read FHotSpot write FHotSpot;
     property HotSpot: Single read FHotSpot write FHotSpot;
     property Multipler: Single read FMultipler write FMultipler;
     property Multipler: Single read FMultipler write FMultipler;
   end;
   end;
 
 
   TGLFile3DSCamera = class(TGLCamera)
   TGLFile3DSCamera = class(TGLCamera)
   private
   private
-    FTargetPos: TgCoordinates;
+    FTargetPos: TGLCoordinates;
     FQuadCyl: array[0..1] of PGLUquadric;
     FQuadCyl: array[0..1] of PGLUquadric;
     FQuadDisk: array[0..1] of PGLUquadric;
     FQuadDisk: array[0..1] of PGLUquadric;
   public
   public
     constructor Create(AOwner: TComponent); override;
     constructor Create(AOwner: TComponent); override;
     procedure DoRender(var rci: TGLRenderContextInfo; renderSelf, renderChildren: Boolean); override;
     procedure DoRender(var rci: TGLRenderContextInfo; renderSelf, renderChildren: Boolean); override;
-    procedure CoordinateChanged(Sender: TgCustomCoordinates); override;
+    procedure CoordinateChanged(Sender: TGLCustomCoordinates); override;
     destructor Destroy; override;
     destructor Destroy; override;
   published
   published
-    property CameraTargetPos: TgCoordinates read FTargetPos;
+    property CameraTargetPos: TGLCoordinates read FTargetPos;
     property RollAngle;
     property RollAngle;
   end;
   end;
 
 
@@ -71,9 +71,9 @@ type
   private
   private
     FTransfMat, FScaleMat, ParentMatrix: TGLMatrix;
     FTransfMat, FScaleMat, ParentMatrix: TGLMatrix;
 
 
-    FS_Rot3DS: TgCoordinates4;
-    FRot3DS: TgCoordinates4;
-    FScale3DS: TgCoordinates4;
+    FS_Rot3DS: TGLCoordinates4;
+    FRot3DS: TGLCoordinates4;
+    FScale3DS: TGLCoordinates4;
     procedure ReadMesh(Stream: TStream);
     procedure ReadMesh(Stream: TStream);
     procedure WriteMesh(Stream: TStream);
     procedure WriteMesh(Stream: TStream);
   protected
   protected
@@ -83,13 +83,13 @@ type
     constructor Create(AOWner: TComponent); override;
     constructor Create(AOWner: TComponent); override;
     destructor Destroy; override;
     destructor Destroy; override;
     procedure BuildList(var rci: TGLRenderContextInfo); override;
     procedure BuildList(var rci: TGLRenderContextInfo); override;
-    procedure CoordinateChanged(Sender: TgCustomCoordinates); override;
+    procedure CoordinateChanged(Sender: TGLCustomCoordinates); override;
     function AxisAlignedDimensionsUnscaled: TGLVector; override;
     function AxisAlignedDimensionsUnscaled: TGLVector; override;
     function BarycenterAbsolutePosition: TGLVector; override;
     function BarycenterAbsolutePosition: TGLVector; override;
   published
   published
-    property S_Rot3DS: TgCoordinates4 read FS_Rot3DS;
-    property Rot3DS: TgCoordinates4 read FRot3DS;
-    property Scale3DS: TgCoordinates4 read FScale3DS;
+    property S_Rot3DS: TGLCoordinates4 read FS_Rot3DS;
+    property Rot3DS: TGLCoordinates4 read FRot3DS;
+    property Scale3DS: TGLCoordinates4 read FScale3DS;
   end;
   end;
 
 
 var
 var
@@ -163,7 +163,7 @@ constructor TGLFile3DSLight.Create(AOwner: TComponent);
 begin
 begin
   inherited;
   inherited;
 
 
-  FTargetPos := TgCoordinates.CreateInitialized(self, VectorMake(NullVector), csPoint);
+  FTargetPos := TGLCoordinates.CreateInitialized(self, VectorMake(NullVector), csPoint);
   FHotSpot := 1;
   FHotSpot := 1;
   FMultipler := 1;
   FMultipler := 1;
 end;
 end;
@@ -215,7 +215,7 @@ begin
   gl.PopMatrix;
   gl.PopMatrix;
 end;
 end;
 
 
-procedure TGLFile3DSLight.CoordinateChanged(Sender: TgCustomCoordinates);
+procedure TGLFile3DSLight.CoordinateChanged(Sender: TGLCustomCoordinates);
 begin
 begin
   inherited;
   inherited;
 
 
@@ -235,7 +235,7 @@ var
 begin
 begin
   inherited;
   inherited;
 
 
-  FTargetPos := TgCoordinates.CreateInitialized(self, VectorMake(NullVector), csPoint);
+  FTargetPos := TGLCoordinates.CreateInitialized(self, VectorMake(NullVector), csPoint);
 
 
   for I := 0 to 1 do
   for I := 0 to 1 do
   begin
   begin
@@ -302,7 +302,7 @@ begin
   rci.GLStates.PolygonMode := pmFill;
   rci.GLStates.PolygonMode := pmFill;
 end;
 end;
 
 
-procedure TGLFile3DSCamera.CoordinateChanged(Sender: TgCustomCoordinates);
+procedure TGLFile3DSCamera.CoordinateChanged(Sender: TGLCustomCoordinates);
 begin
 begin
   inherited;
   inherited;
 
 
@@ -356,9 +356,9 @@ begin
   FRefMat := IdentityHmgMatrix;
   FRefMat := IdentityHmgMatrix;
   FTransfMat := IdentityHmgMatrix;
   FTransfMat := IdentityHmgMatrix;
   FScaleMat := IdentityHmgMatrix;
   FScaleMat := IdentityHmgMatrix;
-  FS_Rot3DS := TgCoordinates4.CreateInitialized(self, VectorMake(1, 0, 0), csVector);
-  FRot3DS := TgCoordinates4.CreateInitialized(self, VectorMake(1, 0, 0), csVector);
-  FScale3DS := TgCoordinates4.CreateInitialized(self, VectorMake(1, 1, 1), csVector);
+  FS_Rot3DS := TGLCoordinates4.CreateInitialized(self, VectorMake(1, 0, 0), csVector);
+  FRot3DS := TGLCoordinates4.CreateInitialized(self, VectorMake(1, 0, 0), csVector);
+  FScale3DS := TGLCoordinates4.CreateInitialized(self, VectorMake(1, 1, 1), csVector);
 
 
   ObjectStyle := [osDirectDraw];
   ObjectStyle := [osDirectDraw];
 end;
 end;
@@ -434,7 +434,7 @@ begin
   ParentMatrix := MatrixMultiply(FTransfMat, ParentMatrix);
   ParentMatrix := MatrixMultiply(FTransfMat, ParentMatrix);
 end;
 end;
 
 
-procedure TGLFile3DSFreeForm.CoordinateChanged(Sender: TgCustomCoordinates);
+procedure TGLFile3DSFreeForm.CoordinateChanged(Sender: TGLCustomCoordinates);
 var
 var
   quat, quat1, quat2: TQuaternion;
   quat, quat1, quat2: TQuaternion;
 begin
 begin

+ 9 - 9
Source/GLS.FireFX.pas

@@ -52,7 +52,7 @@ type
   private
   private
     FClients: TList;
     FClients: TList;
     FFireParticles: PGLFireParticleArray;
     FFireParticles: PGLFireParticleArray;
-    FFireDir, FInitialDir: TgCoordinates;
+    FFireDir, FInitialDir: TGLCoordinates;
     FCadencer: TGLCadencer;
     FCadencer: TGLCadencer;
     FMaxParticles, FParticleLife: Integer;
     FMaxParticles, FParticleLife: Integer;
     FParticleSize, FFireDensity, FFireEvaporation: Single;
     FParticleSize, FFireDensity, FFireEvaporation: Single;
@@ -67,8 +67,8 @@ type
     procedure RegisterClient(aClient: TGLBFireFX);
     procedure RegisterClient(aClient: TGLBFireFX);
     procedure DeRegisterClient(aClient: TGLBFireFX);
     procedure DeRegisterClient(aClient: TGLBFireFX);
     procedure DeRegisterAllClients;
     procedure DeRegisterAllClients;
-    procedure SetFireDir(const val: TgCoordinates);
-    procedure SetInitialDir(const val: TgCoordinates);
+    procedure SetFireDir(const val: TGLCoordinates);
+    procedure SetInitialDir(const val: TGLCoordinates);
     procedure SetCadencer(const val: TGLCadencer);
     procedure SetCadencer(const val: TGLCadencer);
     function StoreParticleSize: Boolean;
     function StoreParticleSize: Boolean;
     procedure SetInnerColor(const val: TGColor);
     procedure SetInnerColor(const val: TGColor);
@@ -100,9 +100,9 @@ type
     procedure DoProgress(const progressTime: TGLProgressTimes); override;
     procedure DoProgress(const progressTime: TGLProgressTimes); override;
   published
   published
     // Adjusts the acceleration direction (abs coordinates).
     // Adjusts the acceleration direction (abs coordinates).
-    property FireDir: TgCoordinates read FFireDir write SetFireDir;
+    property FireDir: TGLCoordinates read FFireDir write SetFireDir;
     // Adjusts the initial direction (abs coordinates).
     // Adjusts the initial direction (abs coordinates).
-    property InitialDir: TgCoordinates read FInitialDir write SetInitialDir;
+    property InitialDir: TGLCoordinates read FInitialDir write SetInitialDir;
     // The cadencer that will "drive" the animation of the system.
     // The cadencer that will "drive" the animation of the system.
     property Cadencer: TGLCadencer read FCadencer write SetCadencer;
     property Cadencer: TGLCadencer read FCadencer write SetCadencer;
     // Maximum number of simultaneous particles in the system.
     // Maximum number of simultaneous particles in the system.
@@ -210,8 +210,8 @@ begin
   inherited Create(AOwner);
   inherited Create(AOwner);
   FClients := TList.Create;
   FClients := TList.Create;
   RegisterManager(Self);
   RegisterManager(Self);
-  FFireDir := TgCoordinates.CreateInitialized(Self, VectorMake(0, 0.5, 0), csPoint);
-  FInitialDir := TgCoordinates.CreateInitialized(Self, YHmgVector, csPoint);
+  FFireDir := TGLCoordinates.CreateInitialized(Self, VectorMake(0, 0.5, 0), csPoint);
+  FInitialDir := TGLCoordinates.CreateInitialized(Self, YHmgVector, csPoint);
   FMaxParticles := 256;
   FMaxParticles := 256;
   FParticleSize := 1.0;
   FParticleSize := 1.0;
   FInnerColor := TGColor.Create(Self);
   FInnerColor := TGColor.Create(Self);
@@ -280,13 +280,13 @@ begin
 end;
 end;
 
 
 
 
-procedure TGLFireFXManager.SetFireDir(const val: TgCoordinates);
+procedure TGLFireFXManager.SetFireDir(const val: TGLCoordinates);
 begin
 begin
   FFireDir.Assign(val);
   FFireDir.Assign(val);
 end;
 end;
 
 
 
 
-procedure TGLFireFXManager.SetInitialDir(const val: TgCoordinates);
+procedure TGLFireFXManager.SetInitialDir(const val: TGLCoordinates);
 begin
 begin
   FInitialDir.Assign(val);
   FInitialDir.Assign(val);
 end;
 end;

+ 5 - 5
Source/GLS.Gizmo.pas

@@ -63,12 +63,12 @@ type
   TGLGizmoUndoItem = class(TCollectionItem)
   TGLGizmoUndoItem = class(TCollectionItem)
   private
   private
     FOldLibMaterialName: string;
     FOldLibMaterialName: string;
-    FOldAutoScaling: TgCoordinates;
+    FOldAutoScaling: TGLCoordinates;
     FEffectedObject: TGLCustomSceneObject;
     FEffectedObject: TGLCustomSceneObject;
     FOldMatr: TGLMatrix;
     FOldMatr: TGLMatrix;
     FOldMatrix: TGLMatrix;
     FOldMatrix: TGLMatrix;
     procedure SetEffectedObject(const Value: TGLCustomSceneObject);
     procedure SetEffectedObject(const Value: TGLCustomSceneObject);
-    procedure SetOldAutoScaling(const Value: TgCoordinates);
+    procedure SetOldAutoScaling(const Value: TGLCoordinates);
     procedure SetOldMatrix(const Value: TGLMatrix);
     procedure SetOldMatrix(const Value: TGLMatrix);
   protected
   protected
     procedure DoUndo; virtual;
     procedure DoUndo; virtual;
@@ -85,7 +85,7 @@ type
   published
   published
     property EffectedObject: TGLCustomSceneObject read FEffectedObject
     property EffectedObject: TGLCustomSceneObject read FEffectedObject
       write SetEffectedObject;
       write SetEffectedObject;
-    property OldAutoScaling: TgCoordinates read FOldAutoScaling
+    property OldAutoScaling: TGLCoordinates read FOldAutoScaling
       write SetOldAutoScaling;
       write SetOldAutoScaling;
     property OldLibMaterialName: string read FOldLibMaterialName
     property OldLibMaterialName: string read FOldLibMaterialName
       write FOldLibMaterialName;
       write FOldLibMaterialName;
@@ -1717,7 +1717,7 @@ end;
 constructor TGLGizmoUndoItem.Create(AOwner: TCollection);
 constructor TGLGizmoUndoItem.Create(AOwner: TCollection);
 begin
 begin
   inherited;
   inherited;
-  FOldAutoScaling := TgCoordinates.CreateInitialized(Self,
+  FOldAutoScaling := TGLCoordinates.CreateInitialized(Self,
     NullHmgVector, CsPoint);
     NullHmgVector, CsPoint);
 end;
 end;
 
 
@@ -1768,7 +1768,7 @@ begin
     FEffectedObject.FreeNotification(GetGizmo);
     FEffectedObject.FreeNotification(GetGizmo);
 end;
 end;
 
 
-procedure TGLGizmoUndoItem.SetOldAutoScaling(const Value: TgCoordinates);
+procedure TGLGizmoUndoItem.SetOldAutoScaling(const Value: TGLCoordinates);
 begin
 begin
   FOldAutoScaling.Assign(Value);
   FOldAutoScaling.Assign(Value);
 end;
 end;

+ 9 - 9
Source/GLS.Gui.pas

@@ -79,9 +79,9 @@ type
 
 
   TGLGuiElement = class(TCollectionItem)
   TGLGuiElement = class(TCollectionItem)
   private
   private
-    FTopLeft: TgCoordinates2;
-    FBottomRight: TgCoordinates2;
-    FScale: TgCoordinates2;
+    FTopLeft: TGLCoordinates2;
+    FBottomRight: TGLCoordinates2;
+    FScale: TGLCoordinates2;
     FAlign: TGUIAlignments;
     FAlign: TGUIAlignments;
     FName: TGLGuiElementName;
     FName: TGLGuiElementName;
   protected
   protected
@@ -92,9 +92,9 @@ type
     destructor Destroy; override;
     destructor Destroy; override;
     procedure AssignTo(Dest: TPersistent); override;
     procedure AssignTo(Dest: TPersistent); override;
   published
   published
-    property TopLeft: TgCoordinates2 read FTopLeft write FTopLeft;
-    property BottomRight: TgCoordinates2 read FBottomRight write FBottomRight;
-    property Scale: TgCoordinates2 read FScale write FScale;
+    property TopLeft: TGLCoordinates2 read FTopLeft write FTopLeft;
+    property BottomRight: TGLCoordinates2 read FBottomRight write FBottomRight;
+    property Scale: TGLCoordinates2 read FScale write FScale;
     property Align: TGUIAlignments read FAlign write FAlign;
     property Align: TGUIAlignments read FAlign write FAlign;
     property Name: TGLGuiElementName read FName write SetName;
     property Name: TGLGuiElementName read FName write SetName;
   end;
   end;
@@ -1166,10 +1166,10 @@ end;
 constructor TGLGuiElement.Create(Collection: TCollection);
 constructor TGLGuiElement.Create(Collection: TCollection);
 begin
 begin
   inherited;
   inherited;
-  FTopLeft := TgCoordinates2.CreateInitialized(Self, NullHmgVector, csPoint2D);
-  FBottomRight := TgCoordinates2.CreateInitialized(Self, NullHmgVector,
+  FTopLeft := TGLCoordinates2.CreateInitialized(Self, NullHmgVector, csPoint2D);
+  FBottomRight := TGLCoordinates2.CreateInitialized(Self, NullHmgVector,
     csPoint2D);
     csPoint2D);
-  FScale := TgCoordinates2.CreateInitialized(Self, XYHmgVector, csPoint2D);
+  FScale := TGLCoordinates2.CreateInitialized(Self, XYHmgVector, csPoint2D);
 end;
 end;
 
 
 destructor TGLGuiElement.Destroy;
 destructor TGLGuiElement.Destroy;

+ 5 - 5
Source/GLS.Imposter.pas

@@ -114,7 +114,7 @@ type
   TGLImposterBuilder = class(TGLUpdateAbleComponent)
   TGLImposterBuilder = class(TGLUpdateAbleComponent)
   private
   private
     FBackColor: TGColor;
     FBackColor: TGColor;
-    FBuildOffset: TgCoordinates;
+    FBuildOffset: TGLCoordinates;
     FImposterRegister: TgPersistentObjectList;
     FImposterRegister: TgPersistentObjectList;
     FRenderPoint: TGLRenderPoint;
     FRenderPoint: TGLRenderPoint;
     FImposterOptions: TImposterOptions;
     FImposterOptions: TImposterOptions;
@@ -126,7 +126,7 @@ type
     procedure SetRenderPoint(AValue: TGLRenderPoint);
     procedure SetRenderPoint(AValue: TGLRenderPoint);
     procedure RenderPointFreed(Sender: TObject);
     procedure RenderPointFreed(Sender: TObject);
     procedure SetBackColor(AValue: TGColor);
     procedure SetBackColor(AValue: TGColor);
-    procedure SetBuildOffset(AValue: TgCoordinates);
+    procedure SetBuildOffset(AValue: TGLCoordinates);
     procedure SetImposterReference(AValue: TImposterReference);
     procedure SetImposterReference(AValue: TImposterReference);
     procedure InitializeImpostorTexture(const TextureSize: TPoint);
     procedure InitializeImpostorTexture(const TextureSize: TPoint);
     property ImposterRegister: TgPersistentObjectList read FImposterRegister;
     property ImposterRegister: TgPersistentObjectList read FImposterRegister;
@@ -166,7 +166,7 @@ type
     property BackColor: TGColor read FBackColor write SetBackColor;
     property BackColor: TGColor read FBackColor write SetBackColor;
     (* Offset applied to the impostor'ed object during imposter construction.
     (* Offset applied to the impostor'ed object during imposter construction.
        Can be used to manually tune the centering of objects. *)
        Can be used to manually tune the centering of objects. *)
-    property BuildOffset: TgCoordinates read FBuildOffset write SetBuildOffset;
+    property BuildOffset: TGLCoordinates read FBuildOffset write SetBuildOffset;
     // Imposter rendering options.
     // Imposter rendering options.
     property ImposterOptions: TImposterOptions read FImposterOptions write
     property ImposterOptions: TImposterOptions read FImposterOptions write
       FImposterOptions default cDefaultImposterOptions;
       FImposterOptions default cDefaultImposterOptions;
@@ -549,7 +549,7 @@ begin
   inherited;
   inherited;
   FImposterRegister := TgPersistentObjectList.Create;
   FImposterRegister := TgPersistentObjectList.Create;
   FBackColor := TGColor.CreateInitialized(Self, clrTransparent);
   FBackColor := TGColor.CreateInitialized(Self, clrTransparent);
-  FBuildOffset := TgCoordinates.CreateInitialized(Self, NullHmgPoint, CsPoint);
+  FBuildOffset := TGLCoordinates.CreateInitialized(Self, NullHmgPoint, CsPoint);
   FImposterOptions := cDefaultImposterOptions;
   FImposterOptions := cDefaultImposterOptions;
   FAlphaTreshold := 0.5;
   FAlphaTreshold := 0.5;
 end;
 end;
@@ -718,7 +718,7 @@ begin
   FBackColor.Assign(AValue);
   FBackColor.Assign(AValue);
 end;
 end;
 
 
-procedure TGLImposterBuilder.SetBuildOffset(AValue: TgCoordinates);
+procedure TGLImposterBuilder.SetBuildOffset(AValue: TGLCoordinates);
 begin
 begin
   FBuildOffset.Assign(AValue);
   FBuildOffset.Assign(AValue);
 end;
 end;

+ 9 - 9
Source/GLS.Material.pas

@@ -457,7 +457,7 @@ type
   TGLLibMaterial = class(TGLAbstractLibMaterial, IGLTextureNotifyAble)
   TGLLibMaterial = class(TGLAbstractLibMaterial, IGLTextureNotifyAble)
   private
   private
     FMaterial: TGLMaterial;
     FMaterial: TGLMaterial;
-    FTextureOffset, FTextureScale: TgCoordinates;
+    FTextureOffset, FTextureScale: TGLCoordinates;
     FTextureRotate: Single;
     FTextureRotate: Single;
     FTextureMatrixIsIdentity: Boolean;
     FTextureMatrixIsIdentity: Boolean;
     FTextureOverride: Boolean;
     FTextureOverride: Boolean;
@@ -468,8 +468,8 @@ type
   protected
   protected
     procedure Loaded; override;
     procedure Loaded; override;
     procedure SetMaterial(const val: TGLMaterial);
     procedure SetMaterial(const val: TGLMaterial);
-    procedure SetTextureOffset(const val: TgCoordinates);
-    procedure SetTextureScale(const val: TgCoordinates);
+    procedure SetTextureOffset(const val: TGLCoordinates);
+    procedure SetTextureScale(const val: TGLCoordinates);
     procedure SetTextureMatrix(const Value: TGLMatrix);
     procedure SetTextureMatrix(const Value: TGLMatrix);
     procedure SetTexture2Name(const val: TGLLibMaterialName);
     procedure SetTexture2Name(const val: TGLLibMaterialName);
     procedure SetShader(const val: TGLShader);
     procedure SetShader(const val: TGLShader);
@@ -495,13 +495,13 @@ type
   published
   published
     property Material: TGLMaterial read FMaterial write SetMaterial;
     property Material: TGLMaterial read FMaterial write SetMaterial;
     // Texture offset in texture coordinates. The offset is applied after scaling
     // Texture offset in texture coordinates. The offset is applied after scaling
-    property TextureOffset: TgCoordinates read FTextureOffset write
+    property TextureOffset: TGLCoordinates read FTextureOffset write
       SetTextureOffset;
       SetTextureOffset;
     (* Texture coordinates scaling.
     (* Texture coordinates scaling.
        Scaling is applied <i>before</i> applying the offset, and is applied
        Scaling is applied <i>before</i> applying the offset, and is applied
        to the texture coordinates, meaning that a scale factor of (2, 2, 2)
        to the texture coordinates, meaning that a scale factor of (2, 2, 2)
        will make your texture look twice smaller *)
        will make your texture look twice smaller *)
-    property TextureScale: TgCoordinates read FTextureScale write
+    property TextureScale: TGLCoordinates read FTextureScale write
       SetTextureScale;
       SetTextureScale;
     property TextureRotate: Single read FTextureRotate write
     property TextureRotate: Single read FTextureRotate write
       SetTextureRotate stored StoreTextureRotate;
       SetTextureRotate stored StoreTextureRotate;
@@ -1741,9 +1741,9 @@ begin
   inherited Create(ACollection);
   inherited Create(ACollection);
   FMaterial := TGLMaterial.Create(Self);
   FMaterial := TGLMaterial.Create(Self);
   FMaterial.Texture.OnTextureNeeded := DoOnTextureNeeded;
   FMaterial.Texture.OnTextureNeeded := DoOnTextureNeeded;
-  FTextureOffset := TgCoordinates.CreateInitialized(Self, NullHmgVector, csPoint);
+  FTextureOffset := TGLCoordinates.CreateInitialized(Self, NullHmgVector, csPoint);
   FTextureOffset.OnNotifyChange := OnNotifyChange;
   FTextureOffset.OnNotifyChange := OnNotifyChange;
-  FTextureScale := TgCoordinates.CreateInitialized(Self, XYZHmgVector, csPoint);
+  FTextureScale := TGLCoordinates.CreateInitialized(Self, XYZHmgVector, csPoint);
   FTextureScale.OnNotifyChange := OnNotifyChange;
   FTextureScale.OnNotifyChange := OnNotifyChange;
   FTextureRotate := 0;
   FTextureRotate := 0;
   FTextureOverride := False;
   FTextureOverride := False;
@@ -1957,13 +1957,13 @@ begin
   FMaterial.Assign(val);
   FMaterial.Assign(val);
 end;
 end;
 
 
-procedure TGLLibMaterial.SetTextureOffset(const val: TgCoordinates);
+procedure TGLLibMaterial.SetTextureOffset(const val: TGLCoordinates);
 begin
 begin
   FTextureOffset.AsVector := val.AsVector;
   FTextureOffset.AsVector := val.AsVector;
   CalculateTextureMatrix;
   CalculateTextureMatrix;
 end;
 end;
 
 
-procedure TGLLibMaterial.SetTextureScale(const val: TgCoordinates);
+procedure TGLLibMaterial.SetTextureScale(const val: TGLCoordinates);
 begin
 begin
   FTextureScale.AsVector := val.AsVector;
   FTextureScale.AsVector := val.AsVector;
   CalculateTextureMatrix;
   CalculateTextureMatrix;

+ 41 - 41
Source/GLS.MaterialEx.pas

@@ -403,43 +403,43 @@ type
     FLibSamplerName: TGLMaterialComponentName;
     FLibSamplerName: TGLMaterialComponentName;
     FLibTexture: TGLAbstractTexture;
     FLibTexture: TGLAbstractTexture;
     FLibSampler: TGLTextureSampler;
     FLibSampler: TGLTextureSampler;
-    FTextureOffset, FTextureScale: TgCoordinates;
+    FTextureOffset, FTextureScale: TGLCoordinates;
     FTextureRotate: Single;
     FTextureRotate: Single;
     FTextureMatrixIsIdentity: Boolean;
     FTextureMatrixIsIdentity: Boolean;
     FTextureOverride: Boolean;
     FTextureOverride: Boolean;
     FTextureMatrix: TGLMatrix;
     FTextureMatrix: TGLMatrix;
     FMappingMode: TGLTextureMappingMode;
     FMappingMode: TGLTextureMappingMode;
     FEnvColor: TGColor;
     FEnvColor: TGColor;
-    FMapSCoordinates: TgCoordinates4;
-    FMapTCoordinates: TgCoordinates4;
-    FMapRCoordinates: TgCoordinates4;
-    FMapQCoordinates: TgCoordinates4;
+    FMapSCoordinates: TGLCoordinates4;
+    FMapTCoordinates: TGLCoordinates4;
+    FMapRCoordinates: TGLCoordinates4;
+    FMapQCoordinates: TGLCoordinates4;
     FSwizzling: TGLTextureSwizzling;
     FSwizzling: TGLTextureSwizzling;
     function GetLibTextureName: TGLMaterialComponentName;
     function GetLibTextureName: TGLMaterialComponentName;
     function GetLibSamplerName: TGLMaterialComponentName;
     function GetLibSamplerName: TGLMaterialComponentName;
     procedure SetLibTextureName(const AValue: TGLMaterialComponentName);
     procedure SetLibTextureName(const AValue: TGLMaterialComponentName);
     procedure SetLibSamplerName(const AValue: TGLMaterialComponentName);
     procedure SetLibSamplerName(const AValue: TGLMaterialComponentName);
-    function GetTextureOffset: TgCoordinates;
-    procedure SetTextureOffset(const AValue: TgCoordinates);
+    function GetTextureOffset: TGLCoordinates;
+    procedure SetTextureOffset(const AValue: TGLCoordinates);
     function StoreTextureOffset: Boolean;
     function StoreTextureOffset: Boolean;
-    function GetTextureScale: TgCoordinates;
-    procedure SetTextureScale(const AValue: TgCoordinates);
+    function GetTextureScale: TGLCoordinates;
+    procedure SetTextureScale(const AValue: TGLCoordinates);
     function StoreTextureScale: Boolean;
     function StoreTextureScale: Boolean;
     procedure SetTextureMatrix(const AValue: TGLMatrix);
     procedure SetTextureMatrix(const AValue: TGLMatrix);
     procedure SetTextureRotate(AValue: Single);
     procedure SetTextureRotate(AValue: Single);
     function StoreTextureRotate: Boolean;
     function StoreTextureRotate: Boolean;
     procedure SetMappingMode(const AValue: TGLTextureMappingMode);
     procedure SetMappingMode(const AValue: TGLTextureMappingMode);
-    function GetMappingSCoordinates: TgCoordinates4;
-    procedure SetMappingSCoordinates(const AValue: TgCoordinates4);
+    function GetMappingSCoordinates: TGLCoordinates4;
+    procedure SetMappingSCoordinates(const AValue: TGLCoordinates4);
     function StoreMappingSCoordinates: Boolean;
     function StoreMappingSCoordinates: Boolean;
-    function GetMappingTCoordinates: TgCoordinates4;
-    procedure SetMappingTCoordinates(const AValue: TgCoordinates4);
+    function GetMappingTCoordinates: TGLCoordinates4;
+    procedure SetMappingTCoordinates(const AValue: TGLCoordinates4);
     function StoreMappingTCoordinates: Boolean;
     function StoreMappingTCoordinates: Boolean;
-    function GetMappingRCoordinates: TgCoordinates4;
-    procedure SetMappingRCoordinates(const AValue: TgCoordinates4);
+    function GetMappingRCoordinates: TGLCoordinates4;
+    procedure SetMappingRCoordinates(const AValue: TGLCoordinates4);
     function StoreMappingRCoordinates: Boolean;
     function StoreMappingRCoordinates: Boolean;
-    function GetMappingQCoordinates: TgCoordinates4;
-    procedure SetMappingQCoordinates(const AValue: TgCoordinates4);
+    function GetMappingQCoordinates: TGLCoordinates4;
+    procedure SetMappingQCoordinates(const AValue: TGLCoordinates4);
     function StoreMappingQCoordinates: Boolean;
     function StoreMappingQCoordinates: Boolean;
     procedure SetSwizzling(const AValue: TGLTextureSwizzling);
     procedure SetSwizzling(const AValue: TGLTextureSwizzling);
     function StoreSwizzling: Boolean;
     function StoreSwizzling: Boolean;
@@ -464,13 +464,13 @@ type
       write SetLibTextureName;
       write SetLibTextureName;
     property LibSamplerName: TGLMaterialComponentName read GetLibSamplerName
     property LibSamplerName: TGLMaterialComponentName read GetLibSamplerName
       write SetLibSamplerName;
       write SetLibSamplerName;
-    property TextureOffset: TgCoordinates read GetTextureOffset write
+    property TextureOffset: TGLCoordinates read GetTextureOffset write
       SetTextureOffset stored StoreTextureOffset;
       SetTextureOffset stored StoreTextureOffset;
     (* Texture coordinates scaling.
     (* Texture coordinates scaling.
        Scaling is applied before applying the offset, and is applied
        Scaling is applied before applying the offset, and is applied
        to the texture coordinates, meaning that a scale factor of (2, 2, 2)
        to the texture coordinates, meaning that a scale factor of (2, 2, 2)
        will make your texture look twice smaller. *)
        will make your texture look twice smaller. *)
-    property TextureScale: TgCoordinates read GetTextureScale write
+    property TextureScale: TGLCoordinates read GetTextureScale write
       SetTextureScale stored StoreTextureScale;
       SetTextureScale stored StoreTextureScale;
     (* Texture coordinates rotating.
     (* Texture coordinates rotating.
        Rotating is applied after applying offset and scale,
        Rotating is applied after applying offset and scale,
@@ -486,13 +486,13 @@ type
     (* Texture mapping coordinates mode for S, T, R and Q axis.
     (* Texture mapping coordinates mode for S, T, R and Q axis.
     This property stores the coordinates for automatic texture
     This property stores the coordinates for automatic texture
     coordinates generation. *)
     coordinates generation. *)
-    property MappingSCoordinates: TgCoordinates4 read GetMappingSCoordinates
+    property MappingSCoordinates: TGLCoordinates4 read GetMappingSCoordinates
       write SetMappingSCoordinates stored StoreMappingSCoordinates;
       write SetMappingSCoordinates stored StoreMappingSCoordinates;
-    property MappingTCoordinates: TgCoordinates4 read GetMappingTCoordinates
+    property MappingTCoordinates: TGLCoordinates4 read GetMappingTCoordinates
       write SetMappingTCoordinates stored StoreMappingTCoordinates;
       write SetMappingTCoordinates stored StoreMappingTCoordinates;
-    property MappingRCoordinates: TgCoordinates4 read GetMappingRCoordinates
+    property MappingRCoordinates: TGLCoordinates4 read GetMappingRCoordinates
       write SetMappingRCoordinates stored StoreMappingRCoordinates;
       write SetMappingRCoordinates stored StoreMappingRCoordinates;
-    property MappingQCoordinates: TgCoordinates4 read GetMappingQCoordinates
+    property MappingQCoordinates: TGLCoordinates4 read GetMappingQCoordinates
       write SetMappingQCoordinates stored StoreMappingQCoordinates;
       write SetMappingQCoordinates stored StoreMappingQCoordinates;
     // Texture color fetching parameters.
     // Texture color fetching parameters.
     property Swizzling: TGLTextureSwizzling read FSwizzling write
     property Swizzling: TGLTextureSwizzling read FSwizzling write
@@ -3710,51 +3710,51 @@ begin
     Result := '';
     Result := '';
 end;
 end;
 
 
-function TGLTextureProperties.GetMappingQCoordinates: TgCoordinates4;
+function TGLTextureProperties.GetMappingQCoordinates: TGLCoordinates4;
 begin
 begin
   if not Assigned(FMapQCoordinates) then
   if not Assigned(FMapQCoordinates) then
-    FMapQCoordinates := TgCoordinates4.CreateInitialized(Self, WHmgVector,
+    FMapQCoordinates := TGLCoordinates4.CreateInitialized(Self, WHmgVector,
       csVector);
       csVector);
   Result := FMapQCoordinates;
   Result := FMapQCoordinates;
 end;
 end;
 
 
-function TGLTextureProperties.GetMappingRCoordinates: TgCoordinates4;
+function TGLTextureProperties.GetMappingRCoordinates: TGLCoordinates4;
 begin
 begin
   if not Assigned(FMapRCoordinates) then
   if not Assigned(FMapRCoordinates) then
-    FMapRCoordinates := TgCoordinates4.CreateInitialized(Self, ZHmgVector,
+    FMapRCoordinates := TGLCoordinates4.CreateInitialized(Self, ZHmgVector,
       csVector);
       csVector);
   Result := FMapRCoordinates;
   Result := FMapRCoordinates;
 end;
 end;
 
 
-function TGLTextureProperties.GetMappingSCoordinates: TgCoordinates4;
+function TGLTextureProperties.GetMappingSCoordinates: TGLCoordinates4;
 begin
 begin
   if not Assigned(FMapSCoordinates) then
   if not Assigned(FMapSCoordinates) then
-    FMapSCoordinates := TgCoordinates4.CreateInitialized(Self, XHmgVector,
+    FMapSCoordinates := TGLCoordinates4.CreateInitialized(Self, XHmgVector,
       csVector);
       csVector);
   Result := FMapSCoordinates;
   Result := FMapSCoordinates;
 end;
 end;
 
 
-function TGLTextureProperties.GetMappingTCoordinates: TgCoordinates4;
+function TGLTextureProperties.GetMappingTCoordinates: TGLCoordinates4;
 begin
 begin
   if not Assigned(FMapTCoordinates) then
   if not Assigned(FMapTCoordinates) then
-    FMapTCoordinates := TgCoordinates4.CreateInitialized(Self, YHmgVector,
+    FMapTCoordinates := TGLCoordinates4.CreateInitialized(Self, YHmgVector,
       csVector);
       csVector);
   Result := FMapTCoordinates;
   Result := FMapTCoordinates;
 end;
 end;
 
 
-function TGLTextureProperties.GetTextureOffset: TgCoordinates;
+function TGLTextureProperties.GetTextureOffset: TGLCoordinates;
 begin
 begin
   if not Assigned(FTextureOffset) then
   if not Assigned(FTextureOffset) then
     FTextureOffset :=
     FTextureOffset :=
-      TgCoordinates3.CreateInitialized(Self, NullHmgVector, csPoint);
+      TGLCoordinates3.CreateInitialized(Self, NullHmgVector, csPoint);
   Result := FTextureOffset;
   Result := FTextureOffset;
 end;
 end;
 
 
-function TGLTextureProperties.GetTextureScale: TgCoordinates;
+function TGLTextureProperties.GetTextureScale: TGLCoordinates;
 begin
 begin
   if not Assigned(FTextureScale) then
   if not Assigned(FTextureScale) then
     FTextureScale :=
     FTextureScale :=
-      TgCoordinates3.CreateInitialized(Self, VectorMake(1, 1, 1, 1), csVector);
+      TGLCoordinates3.CreateInitialized(Self, VectorMake(1, 1, 1, 1), csVector);
   Result := FTextureScale;
   Result := FTextureScale;
 end;
 end;
 
 
@@ -3874,25 +3874,25 @@ begin
 end;
 end;
 
 
 procedure TGLTextureProperties.SetMappingQCoordinates(
 procedure TGLTextureProperties.SetMappingQCoordinates(
-  const AValue: TgCoordinates4);
+  const AValue: TGLCoordinates4);
 begin
 begin
   MappingQCoordinates.Assign(AValue);
   MappingQCoordinates.Assign(AValue);
 end;
 end;
 
 
 procedure TGLTextureProperties.SetMappingRCoordinates(
 procedure TGLTextureProperties.SetMappingRCoordinates(
-  const AValue: TgCoordinates4);
+  const AValue: TGLCoordinates4);
 begin
 begin
   MappingRCoordinates.Assign(AValue);
   MappingRCoordinates.Assign(AValue);
 end;
 end;
 
 
 procedure TGLTextureProperties.SetMappingSCoordinates(
 procedure TGLTextureProperties.SetMappingSCoordinates(
-  const AValue: TgCoordinates4);
+  const AValue: TGLCoordinates4);
 begin
 begin
   MappingSCoordinates.Assign(AValue);
   MappingSCoordinates.Assign(AValue);
 end;
 end;
 
 
 procedure TGLTextureProperties.SetMappingTCoordinates(
 procedure TGLTextureProperties.SetMappingTCoordinates(
-  const AValue: TgCoordinates4);
+  const AValue: TGLCoordinates4);
 begin
 begin
   MappingTCoordinates.Assign(AValue);
   MappingTCoordinates.Assign(AValue);
 end;
 end;
@@ -3911,7 +3911,7 @@ begin
   NotifyChange(Self);
   NotifyChange(Self);
 end;
 end;
 
 
-procedure TGLTextureProperties.SetTextureOffset(const AValue: TgCoordinates);
+procedure TGLTextureProperties.SetTextureOffset(const AValue: TGLCoordinates);
 begin
 begin
   TextureOffset.Assign(AValue);
   TextureOffset.Assign(AValue);
   CalculateTextureMatrix;
   CalculateTextureMatrix;
@@ -3927,7 +3927,7 @@ begin
   end;
   end;
 end;
 end;
 
 
-procedure TGLTextureProperties.SetTextureScale(const AValue: TgCoordinates);
+procedure TGLTextureProperties.SetTextureScale(const AValue: TGLCoordinates);
 begin
 begin
   TextureScale.Assign(AValue);
   TextureScale.Assign(AValue);
   CalculateTextureMatrix;
   CalculateTextureMatrix;

+ 2 - 2
Source/GLS.MaterialScript.pas

@@ -95,9 +95,9 @@ type
     Infini: Longint;
     Infini: Longint;
     Done: Boolean;
     Done: Boolean;
     NewMat: TGLLibMaterial;
     NewMat: TGLLibMaterial;
-    TmpCoords: TgCoordinates;
+    TmpCoords: TGLCoordinates;
     TmpColor: TGColor;
     TmpColor: TGColor;
-    TmpCoords4: TgCoordinates4;
+    TmpCoords4: TGLCoordinates4;
     TmpStr: string;
     TmpStr: string;
     procedure SeTGLShaderItems(const Value: TGLShaderItems);
     procedure SeTGLShaderItems(const Value: TGLShaderItems);
     procedure SeTGLMaterialLibraryItems(const Value: TGLMaterialLibraryItems);
     procedure SeTGLMaterialLibraryItems(const Value: TGLMaterialLibraryItems);

+ 1 - 1
Source/GLS.MeshLines.pas

@@ -108,7 +108,7 @@ type
   published
   published
   end;
   end;
 
 
-  TGLLightmapBounds = class(TgCustomCoordinates)
+  TGLLightmapBounds = class(TGLCustomCoordinates)
   private
   private
     function GetLeft: TGLFloat;
     function GetLeft: TGLFloat;
     function GetTop: TGLFloat;
     function GetTop: TGLFloat;

+ 3 - 3
Source/GLS.MultiPolygon.pas

@@ -139,7 +139,7 @@ type
     constructor Create(AOwner: TComponent); override;
     constructor Create(AOwner: TComponent); override;
     destructor Destroy; override;
     destructor Destroy; override;
     procedure Assign(Source: TPersistent); override;
     procedure Assign(Source: TPersistent); override;
-    procedure AddNode(const i: Integer; const coords: TgCoordinates); overload;
+    procedure AddNode(const i: Integer; const coords: TGLCoordinates); overload;
     procedure AddNode(const i: Integer; const X, Y, Z: TGLfloat); overload;
     procedure AddNode(const i: Integer; const X, Y, Z: TGLfloat); overload;
     procedure AddNode(const i: Integer; const value: TGLVector); overload;
     procedure AddNode(const i: Integer; const value: TGLVector); overload;
     procedure AddNode(const i: Integer; const value: TAffineVector); overload;
     procedure AddNode(const i: Integer; const value: TAffineVector); overload;
@@ -169,7 +169,7 @@ type
   end;
   end;
 
 
   (* Page oriented pointer array, with persistent pointer target memory.
   (* Page oriented pointer array, with persistent pointer target memory.
-    In TGVectorList a pointer to a vector will not be valid any more after
+    In TGLVectorList a pointer to a vector will not be valid any more after
     a call to SetCapacity, which might be done implicitely during Add.
     a call to SetCapacity, which might be done implicitely during Add.
     The TGLVectorPool keeps memory in its original position during its
     The TGLVectorPool keeps memory in its original position during its
     whole lifetime. *)
     whole lifetime. *)
@@ -436,7 +436,7 @@ begin
 end;
 end;
 
 
 
 
-procedure TGLMultiPolygonBase.AddNode(const i: Integer; const coords: TgCoordinates);
+procedure TGLMultiPolygonBase.AddNode(const i: Integer; const coords: TGLCoordinates);
 begin
 begin
   Path[i].AddNode(coords);
   Path[i].AddNode(coords);
 end;
 end;

+ 55 - 55
Source/GLS.NGDManager.pas

@@ -147,10 +147,10 @@ type
     FSolverModel: TGLNGDSolverModels; // Default=Exact
     FSolverModel: TGLNGDSolverModels; // Default=Exact
     FFrictionModel: TGLNGDFrictionModels; // Default=Exact
     FFrictionModel: TGLNGDFrictionModels; // Default=Exact
     FMinimumFrameRate: Integer; // Default=60
     FMinimumFrameRate: Integer; // Default=60
-    FWorldSizeMin: TgCoordinates; // Default=-100, -100, -100
-    FWorldSizeMax: TgCoordinates; // Default=100, 100, 100
+    FWorldSizeMin: TGLCoordinates; // Default=-100, -100, -100
+    FWorldSizeMax: TGLCoordinates; // Default=100, 100, 100
     FThreadCount: Integer; // Default=1
     FThreadCount: Integer; // Default=1
-    FGravity: TgCoordinates; // Default=(0,-9.81,0)
+    FGravity: TGLCoordinates; // Default=(0,-9.81,0)
     FNewtonSurfaceItem: TCollection;
     FNewtonSurfaceItem: TCollection;
     FNewtonSurfacePair: TOwnedCollection;
     FNewtonSurfacePair: TOwnedCollection;
     FNewtonJointGroup: TOwnedCollection;
     FNewtonJointGroup: TOwnedCollection;
@@ -171,7 +171,7 @@ type
     procedure SetGLLines(const Value: TGLLines);
     procedure SetGLLines(const Value: TGLLines);
     function GetBodyCount: Integer;
     function GetBodyCount: Integer;
     function GetConstraintCount: Integer;
     function GetConstraintCount: Integer;
-    procedure AddNode(const coords: TgCustomCoordinates); overload;
+    procedure AddNode(const coords: TGLCustomCoordinates); overload;
     procedure AddNode(const X, Y, Z: Single); overload;
     procedure AddNode(const X, Y, Z: Single); overload;
     procedure AddNode(const Value: TGLVector); overload;
     procedure AddNode(const Value: TGLVector); overload;
     procedure AddNode(const Value: TAffineVector); overload;
     procedure AddNode(const Value: TAffineVector); overload;
@@ -196,9 +196,9 @@ type
     property DllVersion: Integer read FDllVersion;
     property DllVersion: Integer read FDllVersion;
     property NewtonBodyCount: Integer read GetBodyCount;
     property NewtonBodyCount: Integer read GetBodyCount;
     property NewtonConstraintCount: Integer read GetConstraintCount;
     property NewtonConstraintCount: Integer read GetConstraintCount;
-    property Gravity: TgCoordinates read FGravity write FGravity;
-    property WorldSizeMin: TgCoordinates read FWorldSizeMin write FWorldSizeMin;
-    property WorldSizeMax: TgCoordinates read FWorldSizeMax write FWorldSizeMax;
+    property Gravity: TGLCoordinates read FGravity write FGravity;
+    property WorldSizeMin: TGLCoordinates read FWorldSizeMin write FWorldSizeMin;
+    property WorldSizeMax: TGLCoordinates read FWorldSizeMax write FWorldSizeMax;
     property NewtonSurfaceItem: TCollection read FNewtonSurfaceItem write FNewtonSurfaceItem;
     property NewtonSurfaceItem: TCollection read FNewtonSurfaceItem write FNewtonSurfaceItem;
     property NewtonSurfacePair: TOwnedCollection read FNewtonSurfacePair write FNewtonSurfacePair;
     property NewtonSurfacePair: TOwnedCollection read FNewtonSurfacePair write FNewtonSurfacePair;
     property DebugOption: TGLNGDDebugOption read FNewtonDebugOption write FNewtonDebugOption;
     property DebugOption: TGLNGDDebugOption read FNewtonDebugOption write FNewtonDebugOption;
@@ -289,14 +289,14 @@ type
 
 
   TGLNGDDynamic = class(TGLNGDBehaviour)
   TGLNGDDynamic = class(TGLNGDBehaviour)
   strict private
   strict private
-    FAABBmin: TgCoordinates;
-    FAABBmax: TgCoordinates;
-    FForce: TgCoordinates;
-    FTorque: TgCoordinates;
-    FCenterOfMass: TgCoordinates;
+    FAABBmin: TGLCoordinates;
+    FAABBmax: TGLCoordinates;
+    FForce: TGLCoordinates;
+    FTorque: TGLCoordinates;
+    FCenterOfMass: TGLCoordinates;
     FAutoSleep: Boolean; // Default=True
     FAutoSleep: Boolean; // Default=True
     FLinearDamping: Single; // default=0.1
     FLinearDamping: Single; // default=0.1
-    FAngularDamping: TgCoordinates; // Default=0.1
+    FAngularDamping: TGLCoordinates; // Default=0.1
     FDensity: Single; // Default=1
     FDensity: Single; // Default=1
     FUseGravity: Boolean; // Default=True
     FUseGravity: Boolean; // Default=True
     FNullCollisionVolume: Single; // Default=0
     FNullCollisionVolume: Single; // Default=0
@@ -306,10 +306,10 @@ type
     // Read Only
     // Read Only
     FVolume: Single;
     FVolume: Single;
     FMass: Single;
     FMass: Single;
-    FAppliedForce: TgCoordinates;
-    FAppliedTorque: TgCoordinates;
-    FAppliedOmega: TgCoordinates;
-    FAppliedVelocity: TgCoordinates;
+    FAppliedForce: TGLCoordinates;
+    FAppliedTorque: TGLCoordinates;
+    FAppliedOmega: TGLCoordinates;
+    FAppliedVelocity: TGLCoordinates;
     function StoredDensity: Boolean;
     function StoredDensity: Boolean;
     function StoredLinearDamping: Boolean;
     function StoredLinearDamping: Boolean;
     function StoredNullCollisionVolume: Boolean;
     function StoredNullCollisionVolume: Boolean;
@@ -349,22 +349,22 @@ type
     property Velocity: TGLVector read GetVelocity write SetVelocity;
     property Velocity: TGLVector read GetVelocity write SetVelocity;
     property Omega: TGLVector read GetOmega write SetOmega;
     property Omega: TGLVector read GetOmega write SetOmega;
   published
   published
-    property Force: TgCoordinates read FForce write FForce;
-    property Torque: TgCoordinates read FTorque write FTorque;
-    property CenterOfMass: TgCoordinates read FCenterOfMass write FCenterOfMass;
+    property Force: TGLCoordinates read FForce write FForce;
+    property Torque: TGLCoordinates read FTorque write FTorque;
+    property CenterOfMass: TGLCoordinates read FCenterOfMass write FCenterOfMass;
     property AutoSleep: Boolean read FAutoSleep write SetAutoSleep default True;
     property AutoSleep: Boolean read FAutoSleep write SetAutoSleep default True;
     property LinearDamping: Single read FLinearDamping write SetLinearDamping
     property LinearDamping: Single read FLinearDamping write SetLinearDamping
       stored StoredLinearDamping;
       stored StoredLinearDamping;
-    property AngularDamping: TgCoordinates read FAngularDamping write FAngularDamping;
+    property AngularDamping: TGLCoordinates read FAngularDamping write FAngularDamping;
     property Density: Single read FDensity write SetDensity stored StoredDensity;
     property Density: Single read FDensity write SetDensity stored StoredDensity;
     property UseGravity: Boolean read FUseGravity write FUseGravity default True;
     property UseGravity: Boolean read FUseGravity write FUseGravity default True;
     property NullCollisionVolume: Single read FNullCollisionVolume write FNullCollisionVolume
     property NullCollisionVolume: Single read FNullCollisionVolume write FNullCollisionVolume
       stored StoredNullCollisionVolume;
       stored StoredNullCollisionVolume;
     // Read Only
     // Read Only
-    property AppliedOmega: TgCoordinates read FAppliedOmega;
-    property AppliedVelocity: TgCoordinates read FAppliedVelocity;
-    property AppliedForce: TgCoordinates read FAppliedForce;
-    property AppliedTorque: TgCoordinates read FAppliedTorque;
+    property AppliedOmega: TGLCoordinates read FAppliedOmega;
+    property AppliedVelocity: TGLCoordinates read FAppliedVelocity;
+    property AppliedForce: TGLCoordinates read FAppliedForce;
+    property AppliedTorque: TGLCoordinates read FAppliedTorque;
     property Volume: Single read FVolume;
     property Volume: Single read FVolume;
     property Mass: Single read FMass;
     property Mass: Single read FMass;
   end;
   end;
@@ -448,33 +448,33 @@ type
   TGLNGDJointPivot = class(TPersistent)
   TGLNGDJointPivot = class(TPersistent)
   private
   private
     FManager: TGLNGDManager;
     FManager: TGLNGDManager;
-    FPivotPoint: TgCoordinates;
+    FPivotPoint: TGLCoordinates;
     FOuter: TGLNGDJoint;
     FOuter: TGLNGDJoint;
   public
   public
     constructor Create(AOwner: TComponent; aOuter: TGLNGDJoint); virtual;
     constructor Create(AOwner: TComponent; aOuter: TGLNGDJoint); virtual;
     destructor Destroy; override;
     destructor Destroy; override;
   published
   published
-    property PivotPoint: TgCoordinates read FPivotPoint write FPivotPoint;
+    property PivotPoint: TGLCoordinates read FPivotPoint write FPivotPoint;
   end;
   end;
 
 
   TGLNGDJointPin = class(TGLNGDJointPivot)
   TGLNGDJointPin = class(TGLNGDJointPivot)
   private
   private
-    FPinDirection: TgCoordinates;
+    FPinDirection: TGLCoordinates;
   public
   public
     constructor Create(AOwner: TComponent; aOuter: TGLNGDJoint); override;
     constructor Create(AOwner: TComponent; aOuter: TGLNGDJoint); override;
     destructor Destroy; override;
     destructor Destroy; override;
   published
   published
-    property PinDirection: TgCoordinates read FPinDirection write FPinDirection;
+    property PinDirection: TGLCoordinates read FPinDirection write FPinDirection;
   end;
   end;
 
 
   TGLNGDJointPin2 = class(TGLNGDJointPin)
   TGLNGDJointPin2 = class(TGLNGDJointPin)
   private
   private
-    FPinDirection2: TgCoordinates;
+    FPinDirection2: TGLCoordinates;
   public
   public
     constructor Create(AOwner: TComponent; aOuter: TGLNGDJoint); override;
     constructor Create(AOwner: TComponent; aOuter: TGLNGDJoint); override;
     destructor Destroy; override;
     destructor Destroy; override;
   published
   published
-    property PinDirection2: TgCoordinates read FPinDirection2 write FPinDirection2;
+    property PinDirection2: TGLCoordinates read FPinDirection2 write FPinDirection2;
   end;
   end;
 
 
   TGLNGDJointBallAndSocket = class(TGLNGDJointPivot)
   TGLNGDJointBallAndSocket = class(TGLNGDJointPivot)
@@ -565,7 +565,7 @@ type
     // nj_KinematicController
     // nj_KinematicController
     FNewtonUserJoint: Pointer;
     FNewtonUserJoint: Pointer;
     // nj_UpVector
     // nj_UpVector
-    FUPVectorDirection: TgCoordinates;
+    FUPVectorDirection: TGLCoordinates;
     FBallAndSocketOptions: TGLNGDJointPivot;
     FBallAndSocketOptions: TGLNGDJointPivot;
     FHingeOptions: TGLNGDJointPin;
     FHingeOptions: TGLNGDJointPin;
     FSliderOptions: TGLNGDJointPin;
     FSliderOptions: TGLNGDJointPin;
@@ -607,7 +607,7 @@ type
     property ChildObject: TGLBaseSceneObject read FChildObject write SetChildObject;
     property ChildObject: TGLBaseSceneObject read FChildObject write SetChildObject;
     property CollisionState: Boolean read FCollisionState write SetCollisionState default False;
     property CollisionState: Boolean read FCollisionState write SetCollisionState default False;
     property Stiffness: Single read FStiffness write SetStiffness stored StoredStiffness;
     property Stiffness: Single read FStiffness write SetStiffness stored StoredStiffness;
-    property UPVectorDirection: TgCoordinates read FUPVectorDirection write FUPVectorDirection;
+    property UPVectorDirection: TGLCoordinates read FUPVectorDirection write FUPVectorDirection;
   end;
   end;
 
 
   // Global function
   // Global function
@@ -731,7 +731,7 @@ begin
   end;
   end;
 end;
 end;
 
 
-procedure TGLNGDManager.AddNode(const coords: TgCustomCoordinates);
+procedure TGLNGDManager.AddNode(const coords: TGLCustomCoordinates);
 begin
 begin
   if Assigned(FGLLines) then
   if Assigned(FGLLines) then
   begin
   begin
@@ -769,16 +769,16 @@ begin
   FSolverModel := smExact;
   FSolverModel := smExact;
   FFrictionModel := fmExact;
   FFrictionModel := fmExact;
   FMinimumFrameRate := 60;
   FMinimumFrameRate := 60;
-  FWorldSizeMin := TgCoordinates.CreateInitialized(self, VectorMake(-100, -100, -100, 0), csPoint);
-  FWorldSizeMax := TgCoordinates.CreateInitialized(self, VectorMake(100, 100, 100, 0), csPoint);
+  FWorldSizeMin := TGLCoordinates.CreateInitialized(self, VectorMake(-100, -100, -100, 0), csPoint);
+  FWorldSizeMax := TGLCoordinates.CreateInitialized(self, VectorMake(100, 100, 100, 0), csPoint);
 
 
   // Using Events because we need to call API Function when
   // Using Events because we need to call API Function when
-  // theses TgCoordinates change.
+  // theses TGLCoordinates change.
   FWorldSizeMin.OnNotifyChange := NotifyWorldSizeChange;
   FWorldSizeMin.OnNotifyChange := NotifyWorldSizeChange;
   FWorldSizeMax.OnNotifyChange := NotifyWorldSizeChange;
   FWorldSizeMax.OnNotifyChange := NotifyWorldSizeChange;
 
 
   FThreadCount := 1;
   FThreadCount := 1;
-  FGravity := TgCoordinates3.CreateInitialized(self, VectorMake(0, -9.81, 0, 0), csVector);
+  FGravity := TGLCoordinates3.CreateInitialized(self, VectorMake(0, -9.81, 0, 0), csVector);
 
 
   FNewtonWorld := NewtonCreate(nil, nil);
   FNewtonWorld := NewtonCreate(nil, nil);
   FDllVersion := NewtonWorldGetVersion(FNewtonWorld);
   FDllVersion := NewtonWorldGetVersion(FNewtonWorld);
@@ -1209,8 +1209,8 @@ begin
         BuildOneJoint(NewtonJoint.Items[I] as TGLNGDJoint);
         BuildOneJoint(NewtonJoint.Items[I] as TGLNGDJoint);
     if (Sender is TGLNGDJoint) then
     if (Sender is TGLNGDJoint) then
       BuildOneJoint((Sender as TGLNGDJoint));
       BuildOneJoint((Sender as TGLNGDJoint));
-    if Sender is TgCoordinates then
-      BuildOneJoint(((Sender as TgCoordinates).Owner as TGLNGDJoint));
+    if Sender is TGLCoordinates then
+      BuildOneJoint(((Sender as TGLCoordinates).Owner as TGLNGDJoint));
     NotifyChange(self);
     NotifyChange(self);
   end;
   end;
 end;
 end;
@@ -1866,20 +1866,20 @@ begin
   inherited;
   inherited;
   FAutoSleep := True;
   FAutoSleep := True;
   FLinearDamping := 0.1;
   FLinearDamping := 0.1;
-  FAngularDamping := TgCoordinates.CreateInitialized(self, VectorMake(0.1, 0.1, 0.1, 0), csPoint);
+  FAngularDamping := TGLCoordinates.CreateInitialized(self, VectorMake(0.1, 0.1, 0.1, 0), csPoint);
   FAngularDamping.OnNotifyChange := NotifyAngularDampingChange;
   FAngularDamping.OnNotifyChange := NotifyAngularDampingChange;
   FDensity := 1;
   FDensity := 1;
   FVolume := 1;
   FVolume := 1;
-  FForce := TgCoordinates.CreateInitialized(self, NullHmgVector, csVector);
-  FTorque := TgCoordinates.CreateInitialized(self, NullHmgVector, csVector);
-  FCenterOfMass := TgCoordinates.CreateInitialized(self, NullHmgVector, csPoint);
+  FForce := TGLCoordinates.CreateInitialized(self, NullHmgVector, csVector);
+  FTorque := TGLCoordinates.CreateInitialized(self, NullHmgVector, csVector);
+  FCenterOfMass := TGLCoordinates.CreateInitialized(self, NullHmgVector, csPoint);
   FCenterOfMass.OnNotifyChange := NotifyCenterOfMassChange;
   FCenterOfMass.OnNotifyChange := NotifyCenterOfMassChange;
-  FAABBmin := TgCoordinates.CreateInitialized(self, NullHmgVector, csPoint);
-  FAABBmax := TgCoordinates.CreateInitialized(self, NullHmgVector, csPoint);
-  FAppliedOmega := TgCoordinates.CreateInitialized(self, NullHmgVector, csVector);
-  FAppliedVelocity := TgCoordinates.CreateInitialized(self, NullHmgVector, csVector);
-  FAppliedForce := TgCoordinates.CreateInitialized(self, NullHmgVector, csVector);
-  FAppliedTorque := TgCoordinates.CreateInitialized(self, NullHmgVector, csVector);
+  FAABBmin := TGLCoordinates.CreateInitialized(self, NullHmgVector, csPoint);
+  FAABBmax := TGLCoordinates.CreateInitialized(self, NullHmgVector, csPoint);
+  FAppliedOmega := TGLCoordinates.CreateInitialized(self, NullHmgVector, csVector);
+  FAppliedVelocity := TGLCoordinates.CreateInitialized(self, NullHmgVector, csVector);
+  FAppliedForce := TGLCoordinates.CreateInitialized(self, NullHmgVector, csVector);
+  FAppliedTorque := TGLCoordinates.CreateInitialized(self, NullHmgVector, csVector);
   FUseGravity := True;
   FUseGravity := True;
   FNullCollisionVolume := 0;
   FNullCollisionVolume := 0;
 
 
@@ -1938,7 +1938,7 @@ end;
 
 
 procedure TGLNGDDynamic.Render;
 procedure TGLNGDDynamic.Render;
 
 
-  procedure DrawAABB(min, max: TgCoordinates3);
+  procedure DrawAABB(min, max: TGLCoordinates3);
   begin
   begin
     (*
     (*
       //    H________G
       //    H________G
@@ -2485,7 +2485,7 @@ begin
   FCustomSliderOptions := TGLNGDJointSlider.Create(FManager, self);
   FCustomSliderOptions := TGLNGDJointSlider.Create(FManager, self);
   FKinematicOptions := TGLNGDJointKinematicController.Create;
   FKinematicOptions := TGLNGDJointKinematicController.Create;
 
 
-  FUPVectorDirection := TgCoordinates.CreateInitialized(self, YHmgVector, csVector);
+  FUPVectorDirection := TGLCoordinates.CreateInitialized(self, YHmgVector, csVector);
   FUPVectorDirection.OnNotifyChange := FManager.RebuildAllJoint;
   FUPVectorDirection.OnNotifyChange := FManager.RebuildAllJoint;
 end;
 end;
 
 
@@ -2743,7 +2743,7 @@ constructor TGLNGDJointPivot.Create(AOwner: TComponent; aOuter: TGLNGDJoint);
 begin
 begin
   FManager := AOwner as TGLNGDManager;
   FManager := AOwner as TGLNGDManager;
   FOuter := aOuter;
   FOuter := aOuter;
-  FPivotPoint := TgCoordinates.CreateInitialized(aOuter, NullHMGPoint, csPoint);
+  FPivotPoint := TGLCoordinates.CreateInitialized(aOuter, NullHMGPoint, csPoint);
   FPivotPoint.OnNotifyChange := FManager.RebuildAllJoint;
   FPivotPoint.OnNotifyChange := FManager.RebuildAllJoint;
 end;
 end;
 
 
@@ -2759,7 +2759,7 @@ end;
 constructor TGLNGDJointPin.Create(AOwner: TComponent; aOuter: TGLNGDJoint);
 constructor TGLNGDJointPin.Create(AOwner: TComponent; aOuter: TGLNGDJoint);
 begin
 begin
   inherited;
   inherited;
-  FPinDirection := TgCoordinates.CreateInitialized(aOuter, NullHmgVector, csVector);
+  FPinDirection := TGLCoordinates.CreateInitialized(aOuter, NullHmgVector, csVector);
   FPinDirection.OnNotifyChange := FManager.RebuildAllJoint;
   FPinDirection.OnNotifyChange := FManager.RebuildAllJoint;
 end;
 end;
 
 
@@ -2776,7 +2776,7 @@ end;
 constructor TGLNGDJointPin2.Create(AOwner: TComponent; aOuter: TGLNGDJoint);
 constructor TGLNGDJointPin2.Create(AOwner: TComponent; aOuter: TGLNGDJoint);
 begin
 begin
   inherited;
   inherited;
-  FPinDirection2 := TgCoordinates.CreateInitialized(aOuter, NullHmgVector, csVector);
+  FPinDirection2 := TGLCoordinates.CreateInitialized(aOuter, NullHmgVector, csVector);
   FPinDirection2.OnNotifyChange := FManager.RebuildAllJoint;
   FPinDirection2.OnNotifyChange := FManager.RebuildAllJoint;
 end;
 end;
 
 

+ 5 - 5
Source/GLS.Navigator.pas

@@ -57,7 +57,7 @@ type
   private
   private
     FObject: TGLBaseSceneObject;
     FObject: TGLBaseSceneObject;
     FVirtualRight: TGLVector;
     FVirtualRight: TGLVector;
-    FVirtualUp: TgCoordinates;
+    FVirtualUp: TGLCoordinates;
     FUseVirtualUp: boolean;
     FUseVirtualUp: boolean;
     FAutoUpdateObject: boolean;
     FAutoUpdateObject: boolean;
     FMaxAngle: single;
     FMaxAngle: single;
@@ -72,7 +72,7 @@ type
       Operation: TOperation); override;
       Operation: TOperation); override;
     procedure SetObject(NewObject: TGLBaseSceneObject); virtual;
     procedure SetObject(NewObject: TGLBaseSceneObject); virtual;
     procedure SetUseVirtualUp(UseIt: boolean);
     procedure SetUseVirtualUp(UseIt: boolean);
-    procedure SetVirtualUp(Up: TgCoordinates);
+    procedure SetVirtualUp(Up: TGLCoordinates);
     function CalcRight: TGLVector;
     function CalcRight: TGLVector;
   public
   public
     constructor Create(AOwner: TComponent); override;
     constructor Create(AOwner: TComponent); override;
@@ -94,7 +94,7 @@ type
     property InvertHorizontalSteeringWhenUpsideDown: boolean
     property InvertHorizontalSteeringWhenUpsideDown: boolean
       read FInvertHorizontalSteeringWhenUpsideDown
       read FInvertHorizontalSteeringWhenUpsideDown
       write FInvertHorizontalSteeringWhenUpsideDown default False;
       write FInvertHorizontalSteeringWhenUpsideDown default False;
-    property VirtualUp: TgCoordinates read FVirtualUp write SetVirtualUp;
+    property VirtualUp: TGLCoordinates read FVirtualUp write SetVirtualUp;
     property MovingObject: TGLBaseSceneObject read FObject write SetObject;
     property MovingObject: TGLBaseSceneObject read FObject write SetObject;
     property UseVirtualUp: boolean read FUseVirtualUp write SetUseVirtualUp
     property UseVirtualUp: boolean read FUseVirtualUp write SetUseVirtualUp
       default False;
       default False;
@@ -191,7 +191,7 @@ implementation
 constructor TGLNavigator.Create(AOwner: TComponent);
 constructor TGLNavigator.Create(AOwner: TComponent);
 begin
 begin
   inherited;
   inherited;
-  FVirtualUp := TgCoordinates.CreateInitialized(Self, ZHmgVector, csPoint);
+  FVirtualUp := TGLCoordinates.CreateInitialized(Self, ZHmgVector, csPoint);
   FCurrentVAngle := 0;
   FCurrentVAngle := 0;
   FCurrentHAngle := 0;
   FCurrentHAngle := 0;
 end;
 end;
@@ -411,7 +411,7 @@ begin
     FVirtualRight := CalcRight;
     FVirtualRight := CalcRight;
 end;
 end;
 
 
-procedure TGLNavigator.SetVirtualUp(Up: TgCoordinates);
+procedure TGLNavigator.SetVirtualUp(Up: TGLCoordinates);
 begin
 begin
   FVirtualUp.Assign(Up);
   FVirtualUp.Assign(Up);
   if csdesigning in componentstate then
   if csdesigning in componentstate then

+ 3 - 3
Source/GLS.Nodes.pas

@@ -72,8 +72,8 @@ type
     function Last: TGLNode;
     function Last: TGLNode;
     procedure NotifyChange; virtual;
     procedure NotifyChange; virtual;
     procedure EndUpdate; override;
     procedure EndUpdate; override;
-    // AddNode (TgCustomCoordinates)
-    procedure AddNode(const Coords: TgCustomCoordinates); overload;
+    // AddNode (TGLCustomCoordinates)
+    procedure AddNode(const Coords: TGLCustomCoordinates); overload;
     procedure AddNode(const X, Y, Z: TGLfloat); overload;
     procedure AddNode(const X, Y, Z: TGLfloat); overload;
     procedure AddNode(const Value: TGLVector); overload;
     procedure AddNode(const Value: TGLVector); overload;
     procedure AddNode(const Value: TAffineVector); overload;
     procedure AddNode(const Value: TAffineVector); overload;
@@ -267,7 +267,7 @@ begin
     NotifyChange;
     NotifyChange;
 end;
 end;
 
 
-procedure TGLNodes.AddNode(const Coords: TgCustomCoordinates);
+procedure TGLNodes.AddNode(const Coords: TGLCustomCoordinates);
 begin
 begin
   Add.AsVector := Coords.AsVector;
   Add.AsVector := Coords.AsVector;
 end;
 end;

+ 63 - 63
Source/GLS.ODEManager.pas

@@ -59,7 +59,7 @@ type
     FWorld: PdxWorld;
     FWorld: PdxWorld;
     FSpace: PdxSpace;
     FSpace: PdxSpace;
     FContactGroup: TdJointGroupID;
     FContactGroup: TdJointGroupID;
-    FGravity: TgCoordinates;
+    FGravity: TGLCoordinates;
     FOnCollision: TGLODECollisionEvent;
     FOnCollision: TGLODECollisionEvent;
     FOnCustomCollision: TGLODECustomCollisionEvent;
     FOnCustomCollision: TGLODECustomCollisionEvent;
     FNumContactJoints,
     FNumContactJoints,
@@ -82,7 +82,7 @@ type
     procedure Collision(g1, g2: PdxGeom);
     procedure Collision(g1, g2: PdxGeom);
     procedure GravityChange(Sender: TObject);
     procedure GravityChange(Sender: TObject);
     procedure SetMaxContacts(const Value: Integer);
     procedure SetMaxContacts(const Value: Integer);
-    procedure SetGravity(Value: TgCoordinates);
+    procedure SetGravity(Value: TGLCoordinates);
     procedure SetIterations(const val: Integer);
     procedure SetIterations(const val: Integer);
     function GetODEBehaviour(index: Integer): TGLODEBehaviour;
     function GetODEBehaviour(index: Integer): TGLODEBehaviour;
     procedure RegisterODEBehaviour(ODEBehaviour: TGLODEBehaviour);
     procedure RegisterODEBehaviour(ODEBehaviour: TGLODEBehaviour);
@@ -109,7 +109,7 @@ type
     property ContactGroup: TdJointGroupID read FContactGroup;
     property ContactGroup: TdJointGroupID read FContactGroup;
     property NumContactJoints: Integer read FNumContactJoints;
     property NumContactJoints: Integer read FNumContactJoints;
   published
   published
-    property Gravity: TgCoordinates read FGravity write SetGravity;
+    property Gravity: TGLCoordinates read FGravity write SetGravity;
     property OnCollision: TGLODECollisionEvent read FOnCollision write FOnCollision;
     property OnCollision: TGLODECollisionEvent read FOnCollision write FOnCollision;
     property OnCustomCollision: TGLODECustomCollisionEvent read FOnCustomCollision write FOnCustomCollision;
     property OnCustomCollision: TGLODECustomCollisionEvent read FOnCustomCollision write FOnCustomCollision;
     property Solver: TGLODESolverMethod read FSolver write FSolver;
     property Solver: TGLODESolverMethod read FSolver write FSolver;
@@ -293,7 +293,7 @@ type
 	FGeomElement: PdxGeom;
 	FGeomElement: PdxGeom;
     FPosition, 
     FPosition, 
 	FDirection, 
 	FDirection, 
-	FUp: TgCoordinates;
+	FUp: TGLCoordinates;
     FLocalMatrix: TGLMatrix;
     FLocalMatrix: TGLMatrix;
     FRealignODE,
     FRealignODE,
 	FInitialized,
 	FInitialized,
@@ -316,9 +316,9 @@ type
     procedure SetDensity(const Value: TdReal);
     procedure SetDensity(const Value: TdReal);
     procedure SetMatrix(const Value: TGLMatrix);
     procedure SetMatrix(const Value: TGLMatrix);
     function GetMatrix: TGLMatrix;
     function GetMatrix: TGLMatrix;
-    procedure SetPosition(const Value: TgCoordinates);
-    procedure SetDirection(const Value: TgCoordinates);
-    procedure SetUp(const Value: TgCoordinates);
+    procedure SetPosition(const Value: TGLCoordinates);
+    procedure SetDirection(const Value: TGLCoordinates);
+    procedure SetUp(const Value: TGLCoordinates);
   public
   public
     constructor Create(AOwner: TXCollection); override;
     constructor Create(AOwner: TXCollection); override;
     destructor Destroy; override;
     destructor Destroy; override;
@@ -331,9 +331,9 @@ type
     property Initialized: Boolean read FInitialized;
     property Initialized: Boolean read FInitialized;
   published
   published
     property Density: TdReal read FDensity write SetDensity;
     property Density: TdReal read FDensity write SetDensity;
-    property Position: TgCoordinates read FPosition write SetPosition;
-    property Direction: TgCoordinates read FDirection write SetDirection;
-    property Up: TgCoordinates read FUp write SetUp;
+    property Position: TGLCoordinates read FPosition write SetPosition;
+    property Direction: TGLCoordinates read FDirection write SetDirection;
+    property Up: TGLCoordinates read FUp write SetUp;
   end;
   end;
 
 
   // ODE box implementation
   // ODE box implementation
@@ -634,13 +634,13 @@ type
   TGLODEJointHinge = class(TGLODEJointBase)
   TGLODEJointHinge = class(TGLODEJointBase)
   private
   private
     FAnchor, 
     FAnchor, 
-	FAxis: TgCoordinates;
+	FAxis: TGLCoordinates;
     FAxisParams: TGLODEJointParams;
     FAxisParams: TGLODEJointParams;
   protected
   protected
     procedure WriteToFiler(writer: TWriter); override;
     procedure WriteToFiler(writer: TWriter); override;
     procedure ReadFromFiler(reader: TReader); override;
     procedure ReadFromFiler(reader: TReader); override;
-    procedure SetAnchor(const Value: TgCoordinates);
-    procedure SetAxis(const Value: TgCoordinates);
+    procedure SetAnchor(const Value: TGLCoordinates);
+    procedure SetAxis(const Value: TGLCoordinates);
     procedure AnchorChange(Sender: TObject);
     procedure AnchorChange(Sender: TObject);
     procedure AxisChange(Sender: TObject);
     procedure AxisChange(Sender: TObject);
     procedure SetAxisParams(const Value: TGLODEJointParams);
     procedure SetAxisParams(const Value: TGLODEJointParams);
@@ -654,19 +654,19 @@ type
     class function FriendlyName: String; override;
     class function FriendlyName: String; override;
     class function FriendlyDescription: String; override;
     class function FriendlyDescription: String; override;
   published
   published
-    property Anchor: TgCoordinates read FAnchor write SetAnchor;
-    property Axis: TgCoordinates read FAxis write SetAxis;
+    property Anchor: TGLCoordinates read FAnchor write SetAnchor;
+    property Axis: TGLCoordinates read FAxis write SetAxis;
     property AxisParams: TGLODEJointParams read FAxisParams write SetAxisParams;
     property AxisParams: TGLODEJointParams read FAxisParams write SetAxisParams;
   end;
   end;
 
 
   // ODE ball joint implementation
   // ODE ball joint implementation
   TGLODEJointBall = class(TGLODEJointBase)
   TGLODEJointBall = class(TGLODEJointBase)
   private
   private
-    FAnchor: TgCoordinates;
+    FAnchor: TGLCoordinates;
   protected
   protected
     procedure WriteToFiler(writer: TWriter); override;
     procedure WriteToFiler(writer: TWriter); override;
     procedure ReadFromFiler(reader: TReader); override;
     procedure ReadFromFiler(reader: TReader); override;
-    procedure SetAnchor(const Value: TgCoordinates);
+    procedure SetAnchor(const Value: TGLCoordinates);
     procedure AnchorChange(Sender: TObject);
     procedure AnchorChange(Sender: TObject);
   public
   public
     constructor Create(AOwner: TXCollection); override;
     constructor Create(AOwner: TXCollection); override;
@@ -676,18 +676,18 @@ type
     class function FriendlyName: String; override;
     class function FriendlyName: String; override;
     class function FriendlyDescription: String; override;
     class function FriendlyDescription: String; override;
   published
   published
-    property Anchor: TgCoordinates read FAnchor write SetAnchor;
+    property Anchor: TGLCoordinates read FAnchor write SetAnchor;
   end;
   end;
 
 
   // ODE slider joint implementation
   // ODE slider joint implementation
   TGLODEJointSlider = class(TGLODEJointBase)
   TGLODEJointSlider = class(TGLODEJointBase)
   private
   private
-    FAxis: TgCoordinates;
+    FAxis: TGLCoordinates;
     FAxisParams: TGLODEJointParams;
     FAxisParams: TGLODEJointParams;
   protected
   protected
     procedure WriteToFiler(writer: TWriter); override;
     procedure WriteToFiler(writer: TWriter); override;
     procedure ReadFromFiler(reader: TReader); override;
     procedure ReadFromFiler(reader: TReader); override;
-    procedure SetAxis(const Value: TgCoordinates);
+    procedure SetAxis(const Value: TGLCoordinates);
     procedure AxisChange(Sender: TObject);
     procedure AxisChange(Sender: TObject);
     procedure SetAxisParams(const Value: TGLODEJointParams);
     procedure SetAxisParams(const Value: TGLODEJointParams);
     function SetAxisParam(Param: Integer; const Value: TdReal): Boolean;
     function SetAxisParam(Param: Integer; const Value: TdReal): Boolean;
@@ -700,7 +700,7 @@ type
     class function FriendlyName: String; override;
     class function FriendlyName: String; override;
     class function FriendlyDescription: String; override;
     class function FriendlyDescription: String; override;
   published
   published
-    property Axis: TgCoordinates read FAxis write SetAxis;
+    property Axis: TGLCoordinates read FAxis write SetAxis;
     property AxisParams: TGLODEJointParams read FAxisParams write SetAxisParams;
     property AxisParams: TGLODEJointParams read FAxisParams write SetAxisParams;
   end;
   end;
 
 
@@ -720,15 +720,15 @@ type
   private
   private
     FAnchor,
     FAnchor,
 	FAxis1,
 	FAxis1,
-	FAxis2: TgCoordinates;
+	FAxis2: TGLCoordinates;
     FAxis1Params,
     FAxis1Params,
 	FAxis2Params: TGLODEJointParams;
 	FAxis2Params: TGLODEJointParams;
   protected
   protected
     procedure WriteToFiler(writer: TWriter); override;
     procedure WriteToFiler(writer: TWriter); override;
     procedure ReadFromFiler(reader: TReader); override;
     procedure ReadFromFiler(reader: TReader); override;
-    procedure SetAnchor(const Value: TgCoordinates);
-    procedure SetAxis1(const Value: TgCoordinates);
-    procedure SetAxis2(const Value: TgCoordinates);
+    procedure SetAnchor(const Value: TGLCoordinates);
+    procedure SetAxis1(const Value: TGLCoordinates);
+    procedure SetAxis2(const Value: TGLCoordinates);
     procedure AnchorChange(Sender: TObject);
     procedure AnchorChange(Sender: TObject);
     procedure Axis1Change(Sender: TObject);
     procedure Axis1Change(Sender: TObject);
     procedure Axis2Change(Sender: TObject);
     procedure Axis2Change(Sender: TObject);
@@ -746,9 +746,9 @@ type
     class function FriendlyName: String; override;
     class function FriendlyName: String; override;
     class function FriendlyDescription: String; override;
     class function FriendlyDescription: String; override;
   published
   published
-    property Anchor: TgCoordinates read FAnchor write SetAnchor;
-    property Axis1: TgCoordinates read FAxis1 write SetAxis1;
-    property Axis2: TgCoordinates read FAxis2 write SetAxis2;
+    property Anchor: TGLCoordinates read FAnchor write SetAnchor;
+    property Axis1: TGLCoordinates read FAxis1 write SetAxis1;
+    property Axis2: TGLCoordinates read FAxis2 write SetAxis2;
     property Axis1Params: TGLODEJointParams read FAxis1Params write SetAxis1Params;
     property Axis1Params: TGLODEJointParams read FAxis1Params write SetAxis1Params;
     property Axis2Params: TGLODEJointParams read FAxis2Params write SetAxis2Params;
     property Axis2Params: TGLODEJointParams read FAxis2Params write SetAxis2Params;
   end;
   end;
@@ -758,15 +758,15 @@ type
   private
   private
     FAnchor,
     FAnchor,
 	FAxis1,
 	FAxis1,
-	FAxis2: TgCoordinates;
+	FAxis2: TGLCoordinates;
     FAxis1Params,
     FAxis1Params,
 	FAxis2Params: TGLODEJointParams;
 	FAxis2Params: TGLODEJointParams;
   protected
   protected
     procedure WriteToFiler(writer: TWriter); override;
     procedure WriteToFiler(writer: TWriter); override;
     procedure ReadFromFiler(reader: TReader); override;
     procedure ReadFromFiler(reader: TReader); override;
-    procedure SetAnchor(const Value: TgCoordinates);
-    procedure SetAxis1(const Value: TgCoordinates);
-    procedure SetAxis2(const Value: TgCoordinates);
+    procedure SetAnchor(const Value: TGLCoordinates);
+    procedure SetAxis1(const Value: TGLCoordinates);
+    procedure SetAxis2(const Value: TGLCoordinates);
     procedure AnchorChange(Sender: TObject);
     procedure AnchorChange(Sender: TObject);
     procedure Axis1Change(Sender: TObject);
     procedure Axis1Change(Sender: TObject);
     procedure Axis2Change(Sender: TObject);
     procedure Axis2Change(Sender: TObject);
@@ -784,9 +784,9 @@ type
     class function FriendlyName: String; override;
     class function FriendlyName: String; override;
     class function FriendlyDescription: String; override;
     class function FriendlyDescription: String; override;
   published
   published
-    property Anchor: TgCoordinates read FAnchor write SetAnchor;
-    property Axis1: TgCoordinates read FAxis1 write SetAxis1;
-    property Axis2: TgCoordinates read FAxis2 write SetAxis2;
+    property Anchor: TGLCoordinates read FAnchor write SetAnchor;
+    property Axis1: TGLCoordinates read FAxis1 write SetAxis1;
+    property Axis2: TGLCoordinates read FAxis2 write SetAxis2;
     property Axis1Params: TGLODEJointParams read FAxis1Params write SetAxis1Params;
     property Axis1Params: TGLODEJointParams read FAxis1Params write SetAxis1Params;
     property Axis2Params: TGLODEJointParams read FAxis2Params write SetAxis2Params;
     property Axis2Params: TGLODEJointParams read FAxis2Params write SetAxis2Params;
   end;
   end;
@@ -1297,7 +1297,7 @@ begin
   FODEBehaviours:= TgPersistentObjectList.Create;
   FODEBehaviours:= TgPersistentObjectList.Create;
   FRFContactList:= TList.Create;
   FRFContactList:= TList.Create;
 
 
-  FGravity:= TgCoordinates.CreateInitialized(Self, NullHmgPoint, csVector);
+  FGravity:= TGLCoordinates.CreateInitialized(Self, NullHmgPoint, csVector);
   FGravity.OnNotifyChange:= GravityChange;
   FGravity.OnNotifyChange:= GravityChange;
 
 
   FSolver:= osmDefault;
   FSolver:= osmDefault;
@@ -1364,7 +1364,7 @@ begin
   GravityChange(Self);
   GravityChange(Self);
 end;
 end;
 
 
-procedure TGLODEManager.SetGravity(Value: TgCoordinates);
+procedure TGLODEManager.SetGravity(Value: TGLCoordinates);
 begin
 begin
   FGravity.SetPoint(Value.DirectX, Value.DirectY, Value.DirectZ);
   FGravity.SetPoint(Value.DirectX, Value.DirectY, Value.DirectZ);
 end;
 end;
@@ -2484,11 +2484,11 @@ end;
 constructor TGLODEElementBase.Create(AOwner: TXCollection);
 constructor TGLODEElementBase.Create(AOwner: TXCollection);
 begin
 begin
   inherited;
   inherited;
-  FPosition := TgCoordinates.CreateInitialized(Self, NullHmgPoint, csPoint);
+  FPosition := TGLCoordinates.CreateInitialized(Self, NullHmgPoint, csPoint);
   FPosition.OnNotifyChange := NotifyChange;
   FPosition.OnNotifyChange := NotifyChange;
-  FDirection := TgCoordinates.CreateInitialized(Self, ZHmgVector, csVector);
+  FDirection := TGLCoordinates.CreateInitialized(Self, ZHmgVector, csVector);
   FDirection.OnNotifyChange := CoordinateChanged;
   FDirection.OnNotifyChange := CoordinateChanged;
-  FUp := TgCoordinates.CreateInitialized(Self, YHmgVector, csVector);
+  FUp := TGLCoordinates.CreateInitialized(Self, YHmgVector, csVector);
   FUp.OnNotifyChange := CoordinateChanged;
   FUp.OnNotifyChange := CoordinateChanged;
   FDensity := 1;
   FDensity := 1;
   FInitialized := False;
   FInitialized := False;
@@ -2775,17 +2775,17 @@ begin
     TGLODEElements(Owner).NotifyChange(Self);
     TGLODEElements(Owner).NotifyChange(Self);
 end;
 end;
 
 
-procedure TGLODEElementBase.SetPosition(const Value: TgCoordinates);
+procedure TGLODEElementBase.SetPosition(const Value: TGLCoordinates);
 begin
 begin
   FPosition.Assign(Value);
   FPosition.Assign(Value);
 end;
 end;
 
 
-procedure TGLODEElementBase.SetDirection(const Value: TgCoordinates);
+procedure TGLODEElementBase.SetDirection(const Value: TGLCoordinates);
 begin
 begin
   FDirection.Assign(Value);
   FDirection.Assign(Value);
 end;
 end;
 
 
-procedure TGLODEElementBase.SetUp(const Value: TgCoordinates);
+procedure TGLODEElementBase.SetUp(const Value: TGLCoordinates);
 begin
 begin
   FUp.Assign(Value);
   FUp.Assign(Value);
 end;
 end;
@@ -4300,9 +4300,9 @@ end;
 constructor TGLODEJointHinge.Create(AOwner: TXCollection);
 constructor TGLODEJointHinge.Create(AOwner: TXCollection);
 begin
 begin
   inherited;
   inherited;
-  FAnchor := TgCoordinates.CreateInitialized(Self, NullHmgPoint, csPoint);
+  FAnchor := TGLCoordinates.CreateInitialized(Self, NullHmgPoint, csPoint);
   FAnchor.OnNotifyChange := AnchorChange;
   FAnchor.OnNotifyChange := AnchorChange;
-  FAxis := TgCoordinates.CreateInitialized(Self, ZHmgVector, csVector);
+  FAxis := TGLCoordinates.CreateInitialized(Self, ZHmgVector, csVector);
   FAxis.OnNotifyChange := AxisChange;
   FAxis.OnNotifyChange := AxisChange;
   FAxisParams := TGLODEJointParams.Create(Self);
   FAxisParams := TGLODEJointParams.Create(Self);
   FAxisParams.SetCallback := SetAxisParam;
   FAxisParams.SetCallback := SetAxisParam;
@@ -4385,12 +4385,12 @@ begin
   Result := 'ODE Hinge joint';
   Result := 'ODE Hinge joint';
 end;
 end;
 
 
-procedure TGLODEJointHinge.SetAnchor(const Value: TgCoordinates);
+procedure TGLODEJointHinge.SetAnchor(const Value: TGLCoordinates);
 begin
 begin
   FAnchor.Assign(Value);
   FAnchor.Assign(Value);
 end;
 end;
 
 
-procedure TGLODEJointHinge.SetAxis(const Value: TgCoordinates);
+procedure TGLODEJointHinge.SetAxis(const Value: TGLCoordinates);
 begin
 begin
   FAxis.Assign(Value);
   FAxis.Assign(Value);
 end;
 end;
@@ -4430,7 +4430,7 @@ end;
 constructor TGLODEJointBall.Create(AOwner: TXCollection);
 constructor TGLODEJointBall.Create(AOwner: TXCollection);
 begin
 begin
   inherited;
   inherited;
-  FAnchor := TgCoordinates.CreateInitialized(Self, NullHmgPoint, csPoint);
+  FAnchor := TGLCoordinates.CreateInitialized(Self, NullHmgPoint, csPoint);
   FAnchor.OnNotifyChange := AnchorChange;
   FAnchor.OnNotifyChange := AnchorChange;
 end;
 end;
 
 
@@ -4489,7 +4489,7 @@ begin
   Result := 'ODE Ball joint implementation';
   Result := 'ODE Ball joint implementation';
 end;
 end;
 
 
-procedure TGLODEJointBall.SetAnchor(const Value: TgCoordinates);
+procedure TGLODEJointBall.SetAnchor(const Value: TGLCoordinates);
 begin
 begin
   FAnchor.Assign(Value);
   FAnchor.Assign(Value);
 end;
 end;
@@ -4502,7 +4502,7 @@ end;
 constructor TGLODEJointSlider.Create(AOwner: TXCollection);
 constructor TGLODEJointSlider.Create(AOwner: TXCollection);
 begin
 begin
   inherited;
   inherited;
-  FAxis := TgCoordinates.CreateInitialized(Self, ZHmgVector, csVector);
+  FAxis := TGLCoordinates.CreateInitialized(Self, ZHmgVector, csVector);
   FAxis.OnNotifyChange := AxisChange;
   FAxis.OnNotifyChange := AxisChange;
   FAxisParams := TGLODEJointParams.Create(Self);
   FAxisParams := TGLODEJointParams.Create(Self);
   FAxisParams.SetCallback := SetAxisParam;
   FAxisParams.SetCallback := SetAxisParam;
@@ -4574,7 +4574,7 @@ begin
   Result := 'ODE Slider joint implementation';
   Result := 'ODE Slider joint implementation';
 end;
 end;
 
 
-procedure TGLODEJointSlider.SetAxis(const Value: TgCoordinates);
+procedure TGLODEJointSlider.SetAxis(const Value: TGLCoordinates);
 begin
 begin
   FAxis.Assign(Value);
   FAxis.Assign(Value);
 end;
 end;
@@ -4656,11 +4656,11 @@ end;
 constructor TGLODEJointHinge2.Create(AOwner: TXCollection);
 constructor TGLODEJointHinge2.Create(AOwner: TXCollection);
 begin
 begin
   inherited;
   inherited;
-  FAnchor := TgCoordinates.CreateInitialized(Self, NullHmgPoint, csPoint);
+  FAnchor := TGLCoordinates.CreateInitialized(Self, NullHmgPoint, csPoint);
   FAnchor.OnNotifyChange := AnchorChange;
   FAnchor.OnNotifyChange := AnchorChange;
-  FAxis1 := TgCoordinates.CreateInitialized(Self, ZHmgVector, csVector);
+  FAxis1 := TGLCoordinates.CreateInitialized(Self, ZHmgVector, csVector);
   FAxis1.OnNotifyChange := Axis1Change;
   FAxis1.OnNotifyChange := Axis1Change;
-  FAxis2 := TgCoordinates.CreateInitialized(Self, ZHmgVector, csVector);
+  FAxis2 := TGLCoordinates.CreateInitialized(Self, ZHmgVector, csVector);
   FAxis2.OnNotifyChange := Axis2Change;
   FAxis2.OnNotifyChange := Axis2Change;
   FAxis1Params := TGLODEJointParams.Create(Self);
   FAxis1Params := TGLODEJointParams.Create(Self);
   FAxis1Params.SetCallback := SetAxis1Param;
   FAxis1Params.SetCallback := SetAxis1Param;
@@ -4765,17 +4765,17 @@ begin
   Result := 'ODE Double Axis Hinge joint implementation';
   Result := 'ODE Double Axis Hinge joint implementation';
 end;
 end;
 
 
-procedure TGLODEJointHinge2.SetAnchor(const Value: TgCoordinates);
+procedure TGLODEJointHinge2.SetAnchor(const Value: TGLCoordinates);
 begin
 begin
   FAnchor.Assign(Value);
   FAnchor.Assign(Value);
 end;
 end;
 
 
-procedure TGLODEJointHinge2.SetAxis1(const Value: TgCoordinates);
+procedure TGLODEJointHinge2.SetAxis1(const Value: TGLCoordinates);
 begin
 begin
   FAxis1.Assign(Value);
   FAxis1.Assign(Value);
 end;
 end;
 
 
-procedure TGLODEJointHinge2.SetAxis2(const Value: TgCoordinates);
+procedure TGLODEJointHinge2.SetAxis2(const Value: TGLCoordinates);
 begin
 begin
   FAxis2.Assign(Value);
   FAxis2.Assign(Value);
 end;
 end;
@@ -4841,11 +4841,11 @@ end;
 constructor TGLODEJointUniversal.Create(AOwner: TXCollection);
 constructor TGLODEJointUniversal.Create(AOwner: TXCollection);
 begin
 begin
   inherited;
   inherited;
-  FAnchor := TgCoordinates.CreateInitialized(Self, NullHmgPoint, csPoint);
+  FAnchor := TGLCoordinates.CreateInitialized(Self, NullHmgPoint, csPoint);
   FAnchor.OnNotifyChange := AnchorChange;
   FAnchor.OnNotifyChange := AnchorChange;
-  FAxis1 := TgCoordinates.CreateInitialized(Self, ZHmgVector, csVector);
+  FAxis1 := TGLCoordinates.CreateInitialized(Self, ZHmgVector, csVector);
   FAxis1.OnNotifyChange := Axis1Change;
   FAxis1.OnNotifyChange := Axis1Change;
-  FAxis2 := TgCoordinates.CreateInitialized(Self, XHmgVector, csVector);
+  FAxis2 := TGLCoordinates.CreateInitialized(Self, XHmgVector, csVector);
   FAxis2.OnNotifyChange := Axis2Change;
   FAxis2.OnNotifyChange := Axis2Change;
   FAxis1Params := TGLODEJointParams.Create(Self);
   FAxis1Params := TGLODEJointParams.Create(Self);
   FAxis1Params.SetCallback := SetAxis1Param;
   FAxis1Params.SetCallback := SetAxis1Param;
@@ -4951,17 +4951,17 @@ begin
   Result := 'ODE Universal joint implementation';
   Result := 'ODE Universal joint implementation';
 end;
 end;
 
 
-procedure TGLODEJointUniversal.SetAnchor(const Value: TgCoordinates);
+procedure TGLODEJointUniversal.SetAnchor(const Value: TGLCoordinates);
 begin
 begin
   FAnchor.Assign(Value);
   FAnchor.Assign(Value);
 end;
 end;
 
 
-procedure TGLODEJointUniversal.SetAxis1(const Value: TgCoordinates);
+procedure TGLODEJointUniversal.SetAxis1(const Value: TGLCoordinates);
 begin
 begin
   FAxis1.Assign(Value);
   FAxis1.Assign(Value);
 end;
 end;
 
 
-procedure TGLODEJointUniversal.SetAxis2(const Value: TgCoordinates);
+procedure TGLODEJointUniversal.SetAxis2(const Value: TGLCoordinates);
 begin
 begin
   FAxis2.Assign(Value);
   FAxis2.Assign(Value);
 end;
 end;

+ 14 - 14
Source/GLS.Objects.pas

@@ -238,13 +238,13 @@ type
     FEnabled: Boolean;
     FEnabled: Boolean;
     FMinSize, FMaxSize: Single;
     FMinSize, FMaxSize: Single;
     FFadeTresholdSize: Single;
     FFadeTresholdSize: Single;
-    FDistanceAttenuation: TgCoordinates;
+    FDistanceAttenuation: TGLCoordinates;
   protected
   protected
     procedure SetEnabled(const val: Boolean);
     procedure SetEnabled(const val: Boolean);
     procedure SetMinSize(const val: Single);
     procedure SetMinSize(const val: Single);
     procedure SetMaxSize(const val: Single);
     procedure SetMaxSize(const val: Single);
     procedure SetFadeTresholdSize(const val: Single);
     procedure SetFadeTresholdSize(const val: Single);
-    procedure SetDistanceAttenuation(const val: TgCoordinates);
+    procedure SetDistanceAttenuation(const val: TGLCoordinates);
     procedure DefineProperties(Filer: TFiler); override;
     procedure DefineProperties(Filer: TFiler); override;
     procedure ReadData(Stream: TStream);
     procedure ReadData(Stream: TStream);
     procedure WriteData(Stream: TStream);
     procedure WriteData(Stream: TStream);
@@ -261,7 +261,7 @@ type
     property FadeTresholdSize: Single read FFadeTresholdSize
     property FadeTresholdSize: Single read FFadeTresholdSize
       write SetFadeTresholdSize stored False;
       write SetFadeTresholdSize stored False;
     // Components XYZ are for constant, linear and quadratic attenuation.
     // Components XYZ are for constant, linear and quadratic attenuation.
-    property DistanceAttenuation: TgCoordinates read FDistanceAttenuation
+    property DistanceAttenuation: TGLCoordinates read FDistanceAttenuation
       write SetDistanceAttenuation;
       write SetDistanceAttenuation;
   end;
   end;
 
 
@@ -271,7 +271,7 @@ type
   TGLPoints = class(TGLImmaterialSceneObject)
   TGLPoints = class(TGLImmaterialSceneObject)
   private
   private
     FPositions: TGLAffineVectorList;
     FPositions: TGLAffineVectorList;
-    FColors: TGVectorList;
+    FColors: TGLVectorList;
     FSize: Single;
     FSize: Single;
     FStyle: TGLPointStyle;
     FStyle: TGLPointStyle;
     FPointParameters: TGLPointParameters;
     FPointParameters: TGLPointParameters;
@@ -282,7 +282,7 @@ type
     procedure SetStatic(const val: Boolean);
     procedure SetStatic(const val: Boolean);
     procedure SetSize(const val: Single);
     procedure SetSize(const val: Single);
     procedure SetPositions(const val: TGLAffineVectorList); inline;
     procedure SetPositions(const val: TGLAffineVectorList); inline;
-    procedure SetColors(const val: TGVectorList);
+    procedure SetColors(const val: TGLVectorList);
     procedure SetStyle(const val: TGLPointStyle);
     procedure SetStyle(const val: TGLPointStyle);
     procedure SetPointParameters(const val: TGLPointParameters);
     procedure SetPointParameters(const val: TGLPointParameters);
   public
   public
@@ -297,7 +297,7 @@ type
       if contains a single color, all points will use that color
       if contains a single color, all points will use that color
       if contains N colors, the first N points (at max) will be rendered
       if contains N colors, the first N points (at max) will be rendered
       using the corresponding colors *)
       using the corresponding colors *)
-    property Colors: TGVectorList read FColors write SetColors;
+    property Colors: TGLVectorList read FColors write SetColors;
   published
   published
     // If true points do not write their Z to the depth buffer.
     // If true points do not write their Z to the depth buffer.
     property NoZWrite: Boolean read FNoZWrite write SetNoZWrite;
     property NoZWrite: Boolean read FNoZWrite write SetNoZWrite;
@@ -412,7 +412,7 @@ type
     destructor Destroy; override;
     destructor Destroy; override;
     procedure Assign(Source: TPersistent); override;
     procedure Assign(Source: TPersistent); override;
     function AxisAlignedDimensionsUnscaled: TGLVector; override;
     function AxisAlignedDimensionsUnscaled: TGLVector; override;
-    procedure AddNode(const coords: TgCoordinates); overload;
+    procedure AddNode(const coords: TGLCoordinates); overload;
     procedure AddNode(const X, Y, Z: TGLFloat); overload;
     procedure AddNode(const X, Y, Z: TGLFloat); overload;
     procedure AddNode(const Value: TGLVector); overload;
     procedure AddNode(const Value: TGLVector); overload;
     procedure AddNode(const Value: TAffineVector); overload;
     procedure AddNode(const Value: TAffineVector); overload;
@@ -616,7 +616,7 @@ type
     destructor Destroy; override;
     destructor Destroy; override;
     procedure Assign(Source: TPersistent); override;
     procedure Assign(Source: TPersistent); override;
     procedure NotifyChange(Sender: TObject); override;
     procedure NotifyChange(Sender: TObject); override;
-    procedure AddNode(const coords: TgCoordinates); overload;
+    procedure AddNode(const coords: TGLCoordinates); overload;
     procedure AddNode(const X, Y, Z: TGLFloat); overload;
     procedure AddNode(const X, Y, Z: TGLFloat); overload;
     procedure AddNode(const Value: TGLVector); overload;
     procedure AddNode(const Value: TGLVector); overload;
     procedure AddNode(const Value: TAffineVector); overload;
     procedure AddNode(const Value: TAffineVector); overload;
@@ -1447,7 +1447,7 @@ begin
   FMinSize := 0;
   FMinSize := 0;
   FMaxSize := 128;
   FMaxSize := 128;
   FFadeTresholdSize := 1;
   FFadeTresholdSize := 1;
-  FDistanceAttenuation := TgCoordinates.CreateInitialized(Self, XHmgVector,
+  FDistanceAttenuation := TGLCoordinates.CreateInitialized(Self, XHmgVector,
     csVector);
     csVector);
 end;
 end;
 
 
@@ -1567,7 +1567,7 @@ begin
   end;
   end;
 end;
 end;
 
 
-procedure TGLPointParameters.SetDistanceAttenuation(const val: TgCoordinates);
+procedure TGLPointParameters.SetDistanceAttenuation(const val: TGLCoordinates);
 begin
 begin
   FDistanceAttenuation.Assign(val);
   FDistanceAttenuation.Assign(val);
 end;
 end;
@@ -1584,7 +1584,7 @@ begin
   FSize := cDefaultPointSize;
   FSize := cDefaultPointSize;
   FPositions := TGLAffineVectorList.Create;
   FPositions := TGLAffineVectorList.Create;
   FPositions.Add(NullVector);
   FPositions.Add(NullVector);
-  FColors := TGVectorList.Create;
+  FColors := TGLVectorList.Create;
   FPointParameters := TGLPointParameters.Create(Self);
   FPointParameters := TGLPointParameters.Create(Self);
 end;
 end;
 
 
@@ -1736,7 +1736,7 @@ begin
   StructureChanged;
   StructureChanged;
 end;
 end;
 
 
-procedure TGLPoints.SetColors(const val: TGVectorList);
+procedure TGLPoints.SetColors(const val: TGLVectorList);
 begin
 begin
   FColors.Assign(val);
   FColors.Assign(val);
   StructureChanged;
   StructureChanged;
@@ -2040,7 +2040,7 @@ begin
   // DivideVector(Result, Scale.AsVector);     //DanB ?
   // DivideVector(Result, Scale.AsVector);     //DanB ?
 end;
 end;
 
 
-procedure TGLNodedLines.AddNode(const coords: TgCoordinates);
+procedure TGLNodedLines.AddNode(const coords: TGLCoordinates);
 var
 var
   n: TGLNode;
   n: TGLNode;
 begin
 begin
@@ -3117,7 +3117,7 @@ begin
   end;
   end;
 end;
 end;
 
 
-procedure TGLPolygonBase.AddNode(const coords: TgCoordinates);
+procedure TGLPolygonBase.AddNode(const coords: TGLCoordinates);
 var
 var
   n: TGLNode;
   n: TGLNode;
 begin
 begin

+ 1 - 1
Source/GLS.ParametricSurfaces.pas

@@ -36,7 +36,7 @@ uses
   GLS.OpenGLAdapter,
   GLS.OpenGLAdapter,
   GLScene.OpenGLTokens,
   GLScene.OpenGLTokens,
   GLScene.VectorTypes,
   GLScene.VectorTypes,
-  GLScene.CurvesAndSurfaces,
+  GLS.CurvesAndSurfaces,
   GLScene.VectorGeometry,
   GLScene.VectorGeometry,
   GLS.VectorLists,
   GLS.VectorLists,
   GLS.PersistentClasses,
   GLS.PersistentClasses,

+ 21 - 21
Source/GLS.ParticleFX.pas

@@ -351,9 +351,9 @@ type
   // Simple Particles Source.
   // Simple Particles Source.
   TGLSourcePFXEffect = class(TGLParticleFXEffect)
   TGLSourcePFXEffect = class(TGLParticleFXEffect)
   private
   private
-    FInitialVelocity: TgCoordinates;
-    FInitialPosition: TgCoordinates;
-    FPositionDispersionRange: TgCoordinates;
+    FInitialVelocity: TGLCoordinates;
+    FInitialPosition: TGLCoordinates;
+    FPositionDispersionRange: TGLCoordinates;
     FVelocityDispersion: Single;
     FVelocityDispersion: Single;
     FPositionDispersion: Single;
     FPositionDispersion: Single;
     FParticleInterval: Single;
     FParticleInterval: Single;
@@ -365,9 +365,9 @@ type
     FTimeRemainder: Double;
     FTimeRemainder: Double;
     FRotationDispersion: Single;
     FRotationDispersion: Single;
   protected
   protected
-    procedure SetInitialVelocity(const val: TgCoordinates);
-    procedure SetInitialPosition(const val: TgCoordinates);
-    procedure SetPositionDispersionRange(const val: TgCoordinates);
+    procedure SetInitialVelocity(const val: TGLCoordinates);
+    procedure SetInitialPosition(const val: TGLCoordinates);
+    procedure SetPositionDispersionRange(const val: TGLCoordinates);
     procedure SetParticleInterval(const val: Single);
     procedure SetParticleInterval(const val: Single);
     procedure WriteToFiler(writer: TWriter); override;
     procedure WriteToFiler(writer: TWriter); override;
     procedure ReadFromFiler(reader: TReader); override;
     procedure ReadFromFiler(reader: TReader); override;
@@ -384,11 +384,11 @@ type
       minInitialSpeed, maxInitialSpeed: Single;
       minInitialSpeed, maxInitialSpeed: Single;
       nbParticles: Integer);
       nbParticles: Integer);
   published
   published
-    property InitialVelocity: TgCoordinates read FInitialVelocity write SetInitialVelocity;
+    property InitialVelocity: TGLCoordinates read FInitialVelocity write SetInitialVelocity;
     property VelocityDispersion: Single read FVelocityDispersion write FVelocityDispersion;
     property VelocityDispersion: Single read FVelocityDispersion write FVelocityDispersion;
-    property InitialPosition: TgCoordinates read FInitialPosition write SetInitialPosition;
+    property InitialPosition: TGLCoordinates read FInitialPosition write SetInitialPosition;
     property PositionDispersion: Single read FPositionDispersion write FPositionDispersion;
     property PositionDispersion: Single read FPositionDispersion write FPositionDispersion;
-    property PositionDispersionRange: TgCoordinates read FPositionDispersionRange write SetPositionDispersionRange;
+    property PositionDispersionRange: TGLCoordinates read FPositionDispersionRange write SetPositionDispersionRange;
     property ParticleInterval: Single read FParticleInterval write SetParticleInterval;
     property ParticleInterval: Single read FParticleInterval write SetParticleInterval;
     property VelocityMode: TGLSourcePFXVelocityMode read FVelocityMode write FVelocityMode default svmAbsolute;
     property VelocityMode: TGLSourcePFXVelocityMode read FVelocityMode write FVelocityMode default svmAbsolute;
     property PositionMode: TGLSourcePFXPositionMode read FPositionMode write FPositionMode default spmAbsoluteOffset;
     property PositionMode: TGLSourcePFXPositionMode read FPositionMode write FPositionMode default spmAbsoluteOffset;
@@ -403,12 +403,12 @@ type
    (simple velocity and const acceleration integration). *)
    (simple velocity and const acceleration integration). *)
   TGLDynamicPFXManager = class(TGLParticleFXManager)
   TGLDynamicPFXManager = class(TGLParticleFXManager)
   private
   private
-    FAcceleration: TgCoordinates;
+    FAcceleration: TGLCoordinates;
     FFriction: Single;
     FFriction: Single;
     FCurrentTime: Double;
     FCurrentTime: Double;
     //FRotationCenter: TAffineVector;
     //FRotationCenter: TAffineVector;
   protected
   protected
-    procedure SetAcceleration(const val: TgCoordinates);
+    procedure SetAcceleration(const val: TGLCoordinates);
     (* Returns the maximum age for a particle.
     (* Returns the maximum age for a particle.
        Particles older than that will be killed by DoProgress. *)
        Particles older than that will be killed by DoProgress. *)
     function MaxParticleAge: Single; virtual; abstract;
     function MaxParticleAge: Single; virtual; abstract;
@@ -419,7 +419,7 @@ type
     procedure DoProgress(const progressTime: TGLProgressTimes); override;
     procedure DoProgress(const progressTime: TGLProgressTimes); override;
   published
   published
     // Oriented acceleration applied to the particles.
     // Oriented acceleration applied to the particles.
-    property Acceleration: TgCoordinates read FAcceleration write SetAcceleration;
+    property Acceleration: TGLCoordinates read FAcceleration write SetAcceleration;
     (* Friction applied to the particles.
     (* Friction applied to the particles.
        Friction is applied as a speed scaling factor over 1 second, ie.
        Friction is applied as a speed scaling factor over 1 second, ie.
        a friction of 0.5 will half speed over 1 second, a friction of 3
        a friction of 0.5 will half speed over 1 second, a friction of 3
@@ -744,7 +744,7 @@ end;
 
 
 procedure RndVector(const dispersion: TGLSourcePFXDispersionMode;
 procedure RndVector(const dispersion: TGLSourcePFXDispersionMode;
   var v: TAffineVector; var f: Single;
   var v: TAffineVector; var f: Single;
-  dispersionRange: TgCoordinates);
+  dispersionRange: TGLCoordinates);
 
 
   function GetRandomVector(NotIsotropic : boolean) : TVector3f;
   function GetRandomVector(NotIsotropic : boolean) : TVector3f;
   // Isotropic gives constrainted vector within a radius
   // Isotropic gives constrainted vector within a radius
@@ -1502,9 +1502,9 @@ end;
 constructor TGLSourcePFXEffect.Create(aOwner: TXCollection);
 constructor TGLSourcePFXEffect.Create(aOwner: TXCollection);
 begin
 begin
   inherited;
   inherited;
-  FInitialVelocity := TgCoordinates.CreateInitialized(Self, NullHmgVector, csVector);
-  FInitialPosition := TgCoordinates.CreateInitialized(Self, NullHmgVector, csPoint);
-  FPositionDispersionRange := TgCoordinates.CreateInitialized(Self, XYZHmgVector, csPoint);
+  FInitialVelocity := TGLCoordinates.CreateInitialized(Self, NullHmgVector, csVector);
+  FInitialPosition := TGLCoordinates.CreateInitialized(Self, NullHmgVector, csPoint);
+  FPositionDispersionRange := TGLCoordinates.CreateInitialized(Self, XYZHmgVector, csPoint);
   FVelocityDispersion := 0;
   FVelocityDispersion := 0;
   FPositionDispersion := 0;
   FPositionDispersion := 0;
   FParticleInterval := 0.1;
   FParticleInterval := 0.1;
@@ -1589,17 +1589,17 @@ begin
   end;
   end;
 end;
 end;
 
 
-procedure TGLSourcePFXEffect.SetInitialVelocity(const val: TgCoordinates);
+procedure TGLSourcePFXEffect.SetInitialVelocity(const val: TGLCoordinates);
 begin
 begin
   FInitialVelocity.Assign(val);
   FInitialVelocity.Assign(val);
 end;
 end;
 
 
-procedure TGLSourcePFXEffect.SetInitialPosition(const val: TgCoordinates);
+procedure TGLSourcePFXEffect.SetInitialPosition(const val: TGLCoordinates);
 begin
 begin
   FInitialPosition.Assign(val);
   FInitialPosition.Assign(val);
 end;
 end;
 
 
-procedure TGLSourcePFXEffect.SetPositionDispersionRange(const val: TgCoordinates);
+procedure TGLSourcePFXEffect.SetPositionDispersionRange(const val: TGLCoordinates);
 begin
 begin
   FPositionDispersionRange.Assign(val);
   FPositionDispersionRange.Assign(val);
 end;
 end;
@@ -1894,7 +1894,7 @@ end;
 constructor TGLDynamicPFXManager.Create(aOwner: TComponent);
 constructor TGLDynamicPFXManager.Create(aOwner: TComponent);
 begin
 begin
   inherited;
   inherited;
-  FAcceleration := TgCoordinates.CreateInitialized(Self, NullHmgVector, csVector);
+  FAcceleration := TGLCoordinates.CreateInitialized(Self, NullHmgVector, csVector);
   FFriction := 1;
   FFriction := 1;
 end;
 end;
 
 
@@ -1982,7 +1982,7 @@ begin
     Particles.Pack;
     Particles.Pack;
 end;
 end;
 
 
-procedure TGLDynamicPFXManager.SetAcceleration(const val: TgCoordinates);
+procedure TGLDynamicPFXManager.SetAcceleration(const val: TGLCoordinates);
 begin
 begin
   FAcceleration.Assign(val);
   FAcceleration.Assign(val);
 end;
 end;

+ 5 - 5
Source/GLS.PhysFields.pas

@@ -20,9 +20,9 @@ uses
 type
 type
   TGLUniformGravityEmitter = class(TGLBaseForceFieldEmitter)
   TGLUniformGravityEmitter = class(TGLBaseForceFieldEmitter)
   private
   private
-    fGravity: TgCoordinates;
+    fGravity: TGLCoordinates;
   protected
   protected
-    procedure SetGravity(const val: TgCoordinates);
+    procedure SetGravity(const val: TGLCoordinates);
   public
   public
     constructor Create(aOwner: TXCollection); override;
     constructor Create(aOwner: TXCollection); override;
     destructor Destroy; override;
     destructor Destroy; override;
@@ -35,7 +35,7 @@ type
     function CalculateForceField(Body: TGLBaseSceneObject)
     function CalculateForceField(Body: TGLBaseSceneObject)
       : TAffineVector; override;
       : TAffineVector; override;
   published
   published
-    property Gravity: TgCoordinates read fGravity write SetGravity;
+    property Gravity: TGLCoordinates read fGravity write SetGravity;
   end;
   end;
 
 
   TGLRadialGravityEmitter = class(TGLBaseForceFieldEmitter)
   TGLRadialGravityEmitter = class(TGLBaseForceFieldEmitter)
@@ -90,7 +90,7 @@ implementation
 constructor TGLUniformGravityEmitter.Create(aOwner: TXCollection);
 constructor TGLUniformGravityEmitter.Create(aOwner: TXCollection);
 begin
 begin
   inherited Create(aOwner);
   inherited Create(aOwner);
-  fGravity := TgCoordinates.CreateInitialized(Self, nullHmgVector, csVector);
+  fGravity := TGLCoordinates.CreateInitialized(Self, nullHmgVector, csVector);
 end;
 end;
 
 
 destructor TGLUniformGravityEmitter.Destroy;
 destructor TGLUniformGravityEmitter.Destroy;
@@ -140,7 +140,7 @@ begin
   end;
   end;
 end;
 end;
 
 
-procedure TGLUniformGravityEmitter.SetGravity(const val: TgCoordinates);
+procedure TGLUniformGravityEmitter.SetGravity(const val: TGLCoordinates);
 begin
 begin
   fGravity.Assign(val);
   fGravity.Assign(val);
 end;
 end;

+ 10 - 10
Source/GLS.PhysForces.pas

@@ -26,8 +26,8 @@ type
   private
   private
     fObject1: TGLBaseSceneObject;
     fObject1: TGLBaseSceneObject;
     fObject2: TGLBaseSceneObject;
     fObject2: TGLBaseSceneObject;
-    fposition1: TgCoordinates;
-    fposition2: TgCoordinates;
+    fposition1: TGLCoordinates;
+    fposition2: TGLCoordinates;
     object1Name: String;
     object1Name: String;
     object2Name: String;
     object2Name: String;
     // fOnCustomForce: TOnCustomForce;
     // fOnCustomForce: TOnCustomForce;
@@ -51,14 +51,14 @@ type
     class function UniqueItem: Boolean; override;
     class function UniqueItem: Boolean; override;
     procedure SetObject1(const val: TGLBaseSceneObject);
     procedure SetObject1(const val: TGLBaseSceneObject);
     procedure SetObject2(const val: TGLBaseSceneObject);
     procedure SetObject2(const val: TGLBaseSceneObject);
-    procedure SetPosition1(const val: TgCoordinates);
-    procedure SetPosition2(const val: TgCoordinates);
+    procedure SetPosition1(const val: TGLCoordinates);
+    procedure SetPosition2(const val: TGLCoordinates);
     function CalculateForce(): TAffineVector; virtual;
     function CalculateForce(): TAffineVector; virtual;
   published
   published
     property Object1: TGLBaseSceneObject read fObject1 write SetObject1;
     property Object1: TGLBaseSceneObject read fObject1 write SetObject1;
     property Object2: TGLBaseSceneObject read fObject2 write SetObject2;
     property Object2: TGLBaseSceneObject read fObject2 write SetObject2;
-    property Position1: TgCoordinates read fposition1 write SetPosition1;
-    property Position2: TgCoordinates read fposition2 write SetPosition2;
+    property Position1: TGLCoordinates read fposition1 write SetPosition1;
+    property Position2: TGLCoordinates read fposition2 write SetPosition2;
     // property OnCustomForce:TOnCustomForce read fOnCustomForce write fOnCustomForce;
     // property OnCustomForce:TOnCustomForce read fOnCustomForce write fOnCustomForce;
   end;
   end;
 
 
@@ -108,8 +108,8 @@ uses
 constructor TGLForce.Create(aOwner: TXCollection);
 constructor TGLForce.Create(aOwner: TXCollection);
 begin
 begin
   inherited; // Create(aOwner)
   inherited; // Create(aOwner)
-  fposition1 := TgCoordinates.CreateInitialized(Self, NullHmgVector, csVector);
-  fposition2 := TgCoordinates.CreateInitialized(Self, NullHmgVector, csVector);
+  fposition1 := TGLCoordinates.CreateInitialized(Self, NullHmgVector, csVector);
+  fposition2 := TGLCoordinates.CreateInitialized(Self, NullHmgVector, csVector);
   // fObject1:=TGLBaseSceneObject.Create(Self);
   // fObject1:=TGLBaseSceneObject.Create(Self);
   // fObject2:=TGLBaseSceneObject.Create(Self);
   // fObject2:=TGLBaseSceneObject.Create(Self);
 end;
 end;
@@ -152,12 +152,12 @@ begin
    Write('Object2 does not have an inertia behaviour');
    Write('Object2 does not have an inertia behaviour');
 end;
 end;
 
 
-procedure TGLForce.SetPosition1(const val: TgCoordinates);
+procedure TGLForce.SetPosition1(const val: TGLCoordinates);
 begin
 begin
   fposition1.Assign(val); // DB101
   fposition1.Assign(val); // DB101
 end;
 end;
 
 
-procedure TGLForce.SetPosition2(const val: TgCoordinates);
+procedure TGLForce.SetPosition2(const val: TGLCoordinates);
 begin
 begin
   fposition2.Assign(val);
   fposition2.Assign(val);
 end;
 end;

+ 10 - 10
Source/GLS.PhysInertias.pas

@@ -26,12 +26,12 @@ type
   // modified from TGLBInertia
   // modified from TGLBInertia
   private
   private
     FMass: Single;
     FMass: Single;
-    FTranslationSpeed: TgCoordinates;
+    FTranslationSpeed: TGLCoordinates;
     FTranslationDamping: TGLDamping;
     FTranslationDamping: TGLDamping;
   protected
   protected
     function CalcLinearPositionDot(): TAffineVector;
     function CalcLinearPositionDot(): TAffineVector;
     function CalcLinearMomentumDot(): TAffineVector;
     function CalcLinearMomentumDot(): TAffineVector;
-    procedure SetTranslationSpeed(const val: TgCoordinates);
+    procedure SetTranslationSpeed(const val: TGLCoordinates);
     procedure SetTranslationDamping(const val: TGLDamping);
     procedure SetTranslationDamping(const val: TGLDamping);
   public
   public
     fForce: TAffineVector;
     fForce: TAffineVector;
@@ -71,7 +71,7 @@ type
     procedure SurfaceBounce(const surfaceNormal: TGLVector; restitution: Single);
     procedure SurfaceBounce(const surfaceNormal: TGLVector; restitution: Single);
   published
   published
     property Mass: Single read FMass write FMass;
     property Mass: Single read FMass write FMass;
-    property TranslationSpeed: TgCoordinates read FTranslationSpeed
+    property TranslationSpeed: TGLCoordinates read FTranslationSpeed
       write SetTranslationSpeed;
       write SetTranslationSpeed;
 
 
     (* Enable/Disable damping (damping has a high cpu-cycle cost).
     (* Enable/Disable damping (damping has a high cpu-cycle cost).
@@ -118,7 +118,7 @@ type
     fInertiaTensor: TGLInertiaTensor;
     fInertiaTensor: TGLInertiaTensor;
     InverseInertiaTensor: TAffineMAtrix;
     InverseInertiaTensor: TAffineMAtrix;
     // LinearVelocity:TAffineVector;
     // LinearVelocity:TAffineVector;
-    fRotationSpeed: TgCoordinates;
+    fRotationSpeed: TGLCoordinates;
     /// AngularVelocity:TAffineVector;      //rotation about axis, magnitude=speed
     /// AngularVelocity:TAffineVector;      //rotation about axis, magnitude=speed
     // damping properties
     // damping properties
     FRotationDamping: TGLDamping;
     FRotationDamping: TGLDamping;
@@ -166,13 +166,13 @@ type
     procedure ApplyLocalForce(pos, Force: TVector3f); override;
     procedure ApplyLocalForce(pos, Force: TVector3f); override;
     procedure ApplyLocalImpulse(xpos, ypos, zpos, x, y, z: Real);
     procedure ApplyLocalImpulse(xpos, ypos, zpos, x, y, z: Real);
     procedure SetInertiaTensor(newVal: TGLInertiaTensor);
     procedure SetInertiaTensor(newVal: TGLInertiaTensor);
-    procedure SetRotationSpeed(const val: TgCoordinates);
+    procedure SetRotationSpeed(const val: TGLCoordinates);
     procedure SetRotationDamping(const val: TGLDamping);
     procedure SetRotationDamping(const val: TGLDamping);
   published
   published
     property Density: Real read fDensity write fDensity;
     property Density: Real read fDensity write fDensity;
     property InertiaTensor: TGLInertiaTensor read fInertiaTensor
     property InertiaTensor: TGLInertiaTensor read fInertiaTensor
       write SetInertiaTensor;
       write SetInertiaTensor;
-    property RotationSpeed: TgCoordinates read fRotationSpeed
+    property RotationSpeed: TGLCoordinates read fRotationSpeed
       write SetRotationSpeed;
       write SetRotationSpeed;
     property RotationDamping: TGLDamping read FRotationDamping
     property RotationDamping: TGLDamping read FRotationDamping
       write SetRotationDamping;
       write SetRotationDamping;
@@ -207,7 +207,7 @@ begin
   inherited Create(aOwner);
   inherited Create(aOwner);
   FMass := 1;
   FMass := 1;
   StateSize := 6;
   StateSize := 6;
-  FTranslationSpeed := TgCoordinates.CreateInitialized(Self, NullHmgVector, csVector);
+  FTranslationSpeed := TGLCoordinates.CreateInitialized(Self, NullHmgVector, csVector);
   LinearPosition := OwnerBaseSceneObject.position.AsAffineVector;
   LinearPosition := OwnerBaseSceneObject.position.AsAffineVector;
   LinearMomentum := FTranslationSpeed.AsAffineVector;
   LinearMomentum := FTranslationSpeed.AsAffineVector;
   FTranslationDamping := TGLDamping.Create(Self);
   FTranslationDamping := TGLDamping.Create(Self);
@@ -267,7 +267,7 @@ begin
   SetUpStartingState();
   SetUpStartingState();
 end;
 end;
 
 
-procedure TGLParticleInertia.SetTranslationSpeed(const val: TgCoordinates);
+procedure TGLParticleInertia.SetTranslationSpeed(const val: TGLCoordinates);
 begin
 begin
   FTranslationSpeed.Assign(val);
   FTranslationSpeed.Assign(val);
   LinearMomentum := VectorScale(FTranslationSpeed.AsAffineVector, FMass);
   LinearMomentum := VectorScale(FTranslationSpeed.AsAffineVector, FMass);
@@ -576,7 +576,7 @@ begin
   fInertiaTensor := newVal;
   fInertiaTensor := newVal;
 end;
 end;
 
 
-procedure TGLRigidBodyInertia.SetRotationSpeed(const val: TgCoordinates);
+procedure TGLRigidBodyInertia.SetRotationSpeed(const val: TGLCoordinates);
 begin
 begin
   AngularMomentum := VectorTransform(val.AsAffineVector, fBodyInertiaTensor);
   AngularMomentum := VectorTransform(val.AsAffineVector, fBodyInertiaTensor);
   fRotationSpeed.Assign(val);
   fRotationSpeed.Assign(val);
@@ -896,7 +896,7 @@ begin
   StateSize := 13;
   StateSize := 13;
 
 
   fInertiaTensor := TGLInertiaTensor.Create(Self);
   fInertiaTensor := TGLInertiaTensor.Create(Self);
-  fRotationSpeed := TgCoordinates.CreateInitialized(Self, VectorMake(0, 0, 0));
+  fRotationSpeed := TGLCoordinates.CreateInitialized(Self, VectorMake(0, 0, 0));
 
 
   // LinearPosition:=OwnerBaseSceneObject.Position.AsAffineVector;
   // LinearPosition:=OwnerBaseSceneObject.Position.AsAffineVector;
   AngularOrientation := IdentityQuaternion; // fromAngleAxis(0,XVector);
   AngularOrientation := IdentityQuaternion; // fromAngleAxis(0,XVector);

+ 2 - 2
Source/GLS.RandomHDS.pas

@@ -338,7 +338,7 @@ type
       vertical/horitontal ratio with any size. Therefore, Scale.X=Scale.Y=1 and
       vertical/horitontal ratio with any size. Therefore, Scale.X=Scale.Y=1 and
       only Scale.Z varies. If you want to increase the landscape scale, the best way
       only Scale.Z varies. If you want to increase the landscape scale, the best way
       would be to place the Terrain Renderer in a DummyCube and rescale it. *)
       would be to place the Terrain Renderer in a DummyCube and rescale it. *)
-    function Scale: TgCoordinates;
+    function Scale: TGLCoordinates;
     (* Size of the square height array. With the middle-point algorithm, it is always
     (* Size of the square height array. With the middle-point algorithm, it is always
       Size = 2^N+1. In a cyclic landscape, the last row and columns are identical
       Size = 2^N+1. In a cyclic landscape, the last row and columns are identical
       to the first. *)
       to the first. *)
@@ -1842,7 +1842,7 @@ begin
   Result := (x >= 0) and (x <= FSize) and (y >= 0) and (y <= FSize);
   Result := (x >= 0) and (x <= FSize) and (y >= 0) and (y <= FSize);
 end;
 end;
 
 
-function TGLCustomRandomHDS.Scale: TgCoordinates;
+function TGLCustomRandomHDS.Scale: TGLCoordinates;
 begin
 begin
   try
   try
     Result := FTerrainRenderer.Scale;
     Result := FTerrainRenderer.Scale;

+ 34 - 34
Source/GLS.Scene.pas

@@ -156,15 +156,15 @@ type
      To add children at runtime, use the AddNewChild method of TGLBaseSceneObject;
      To add children at runtime, use the AddNewChild method of TGLBaseSceneObject;
      other children manipulations methods and properties are provided (to browse,
      other children manipulations methods and properties are provided (to browse,
      move and delete them). Using the regular TComponent methods is not encouraged *)
      move and delete them). Using the regular TComponent methods is not encouraged *)
-  TGLBaseSceneObject = class(TgCoordinatesUpdateAbleComponent)
+  TGLBaseSceneObject = class(TGLCoordinatesUpdateAbleComponent)
   private
   private
     FAbsoluteMatrix, FInvAbsoluteMatrix: TGLMatrix;
     FAbsoluteMatrix, FInvAbsoluteMatrix: TGLMatrix;
     FLocalMatrix: TGLMatrix;
     FLocalMatrix: TGLMatrix;
     FObjectStyle: TGLObjectStyles;
     FObjectStyle: TGLObjectStyles;
     FListHandle: TGLListHandle; // created on 1st use
     FListHandle: TGLListHandle; // created on 1st use
-    FPosition: TgCoordinates;
-    FDirection, FUp: TgCoordinates;
-    FScaling: TgCoordinates;
+    FPosition: TGLCoordinates;
+    FDirection, FUp: TGLCoordinates;
+    FScaling: TGLCoordinates;
     FChanges: TGLObjectChanges;
     FChanges: TGLObjectChanges;
     FParent: TGLBaseSceneObject;
     FParent: TGLBaseSceneObject;
     FScene: TGLScene;
     FScene: TGLScene;
@@ -176,7 +176,7 @@ type
     FVisible: Boolean;
     FVisible: Boolean;
     FUpdateCount: Integer;
     FUpdateCount: Integer;
     FShowAxes: Boolean;
     FShowAxes: Boolean;
-    FRotation: TgCoordinates; // current rotation angles
+    FRotation: TGLCoordinates; // current rotation angles
     FIsCalculating: Boolean;
     FIsCalculating: Boolean;
     FObjectsSorting: TGLObjectsSorting;
     FObjectsSorting: TGLObjectsSorting;
     FVisibilityCulling: TGLVisibilityCulling;
     FVisibilityCulling: TGLVisibilityCulling;
@@ -199,19 +199,19 @@ type
     function GetIndex: Integer; inline;
     function GetIndex: Integer; inline;
     procedure SetParent(const val: TGLBaseSceneObject); inline;
     procedure SetParent(const val: TGLBaseSceneObject); inline;
     procedure SetIndex(aValue: Integer);
     procedure SetIndex(aValue: Integer);
-    procedure SetDirection(AVector: TgCoordinates);
-    procedure SetUp(AVector: TgCoordinates);
+    procedure SetDirection(AVector: TGLCoordinates);
+    procedure SetUp(AVector: TGLCoordinates);
     function GetMatrix: PGLMatrix; inline;
     function GetMatrix: PGLMatrix; inline;
-    procedure SetPosition(APosition: TgCoordinates);
+    procedure SetPosition(APosition: TGLCoordinates);
     procedure SetPitchAngle(AValue: Single);
     procedure SetPitchAngle(AValue: Single);
     procedure SetRollAngle(AValue: Single);
     procedure SetRollAngle(AValue: Single);
     procedure SetTurnAngle(AValue: Single);
     procedure SetTurnAngle(AValue: Single);
-    procedure SetRotation(aRotation: TgCoordinates);
+    procedure SetRotation(aRotation: TGLCoordinates);
     function GetPitchAngle: Single; inline;
     function GetPitchAngle: Single; inline;
     function GetTurnAngle: Single; inline;
     function GetTurnAngle: Single; inline;
     function GetRollAngle: Single; inline;
     function GetRollAngle: Single; inline;
     procedure SetShowAxes(AValue: Boolean);
     procedure SetShowAxes(AValue: Boolean);
-    procedure SetScaling(AValue: TgCoordinates);
+    procedure SetScaling(AValue: TGLCoordinates);
     procedure SetObjectsSorting(const val: TGLObjectsSorting);
     procedure SetObjectsSorting(const val: TGLObjectsSorting);
     procedure SetVisibilityCulling(const val: TGLVisibilityCulling);
     procedure SetVisibilityCulling(const val: TGLVisibilityCulling);
     procedure SetBehaviours(const val: TGLBehaviours);
     procedure SetBehaviours(const val: TGLBehaviours);
@@ -518,10 +518,10 @@ type
     procedure StructureChanged; virtual;
     procedure StructureChanged; virtual;
     procedure ClearStructureChanged; inline;
     procedure ClearStructureChanged; inline;
     // Recalculate an orthonormal system
     // Recalculate an orthonormal system
-    procedure CoordinateChanged(Sender: TgCustomCoordinates); override;
+    procedure CoordinateChanged(Sender: TGLCustomCoordinates); override;
     procedure TransformationChanged; inline;
     procedure TransformationChanged; inline;
     procedure NotifyChange(Sender: TObject); override;
     procedure NotifyChange(Sender: TObject); override;
-    property Rotation: TgCoordinates read FRotation write SetRotation;
+    property Rotation: TGLCoordinates read FRotation write SetRotation;
     property PitchAngle: Single read GetPitchAngle write SetPitchAngle;
     property PitchAngle: Single read GetPitchAngle write SetPitchAngle;
     property RollAngle: Single read GetRollAngle write SetRollAngle;
     property RollAngle: Single read GetRollAngle write SetRollAngle;
     property TurnAngle: Single read GetTurnAngle write SetTurnAngle;
     property TurnAngle: Single read GetTurnAngle write SetTurnAngle;
@@ -529,10 +529,10 @@ type
     property Changes: TGLObjectChanges read FChanges;
     property Changes: TGLObjectChanges read FChanges;
     property BBChanges: TGLObjectBBChanges read fBBChanges write SetBBChanges;
     property BBChanges: TGLObjectBBChanges read fBBChanges write SetBBChanges;
     property Parent: TGLBaseSceneObject read FParent write SetParent;
     property Parent: TGLBaseSceneObject read FParent write SetParent;
-    property Position: TgCoordinates read FPosition write SetPosition;
-    property Direction: TgCoordinates read FDirection write SetDirection;
-    property Up: TgCoordinates read FUp write SetUp;
-    property Scale: TgCoordinates read FScaling write SetScaling;
+    property Position: TGLCoordinates read FPosition write SetPosition;
+    property Direction: TGLCoordinates read FDirection write SetDirection;
+    property Up: TGLCoordinates read FUp write SetUp;
+    property Scale: TGLCoordinates read FScaling write SetScaling;
     property Scene: TGLScene read FScene;
     property Scene: TGLScene read FScene;
     property Visible: Boolean read FVisible write SetVisible default True;
     property Visible: Boolean read FVisible write SetVisible default True;
     property Pickable: Boolean read FPickable write SetPickable default True;
     property Pickable: Boolean read FPickable write SetPickable default True;
@@ -900,7 +900,7 @@ type
   TGLLightSource = class(TGLBaseSceneObject)
   TGLLightSource = class(TGLBaseSceneObject)
   private
   private
     FLightID: Cardinal;
     FLightID: Cardinal;
-    FSpotDirection: TgCoordinates;
+    FSpotDirection: TGLCoordinates;
     FSpotExponent, FSpotCutOff: Single;
     FSpotExponent, FSpotCutOff: Single;
     FConstAttenuation, FLinearAttenuation, FQuadraticAttenuation: Single;
     FConstAttenuation, FLinearAttenuation, FQuadraticAttenuation: Single;
     FShining: Boolean;
     FShining: Boolean;
@@ -914,7 +914,7 @@ type
     procedure SetLinearAttenuation(AValue: Single);
     procedure SetLinearAttenuation(AValue: Single);
     procedure SetQuadraticAttenuation(AValue: Single);
     procedure SetQuadraticAttenuation(AValue: Single);
     procedure SetShining(AValue: Boolean);
     procedure SetShining(AValue: Boolean);
-    procedure SetSpotDirection(AVector: TgCoordinates);
+    procedure SetSpotDirection(AVector: TGLCoordinates);
     procedure SetSpotExponent(AValue: Single);
     procedure SetSpotExponent(AValue: Single);
     procedure SetSpotCutOff(const val: Single);
     procedure SetSpotCutOff(const val: Single);
     procedure SetLightStyle(const val: TGLLightStyle);
     procedure SetLightStyle(const val: TGLLightStyle);
@@ -927,7 +927,7 @@ type
     function RayCastIntersect(const rayStart, rayVector: TGLVector;
     function RayCastIntersect(const rayStart, rayVector: TGLVector;
       intersectPoint: PGLVector = nil;
       intersectPoint: PGLVector = nil;
       intersectNormal: PGLVector = nil): Boolean; override;
       intersectNormal: PGLVector = nil): Boolean; override;
-    procedure CoordinateChanged(Sender: TgCustomCoordinates); override;
+    procedure CoordinateChanged(Sender: TGLCustomCoordinates); override;
     function GenerateSilhouette(const silhouetteParameters:
     function GenerateSilhouette(const silhouetteParameters:
       TGLSilhouetteParameters): TGLSilhouette; override;
       TGLSilhouetteParameters): TGLSilhouette; override;
     property LightID: Cardinal read FLightID;
     property LightID: Cardinal read FLightID;
@@ -946,7 +946,7 @@ type
     property Shining: Boolean read FShining write SetShining default True;
     property Shining: Boolean read FShining write SetShining default True;
     property Specular: TGColor read FSpecular write SetSpecular;
     property Specular: TGColor read FSpecular write SetSpecular;
     property SpotCutOff: Single read FSpotCutOff write SetSpotCutOff;
     property SpotCutOff: Single read FSpotCutOff write SetSpotCutOff;
-    property SpotDirection: TgCoordinates read FSpotDirection write
+    property SpotDirection: TGLCoordinates read FSpotDirection write
       SetSpotDirection;
       SetSpotDirection;
     property SpotExponent: Single read FSpotExponent write SetSpotExponent;
     property SpotExponent: Single read FSpotExponent write SetSpotExponent;
     property OnProgress;
     property OnProgress;
@@ -1877,11 +1877,11 @@ begin
   FObjectStyle := [];
   FObjectStyle := [];
   FChanges := [ocTransformation, ocStructure,
   FChanges := [ocTransformation, ocStructure,
     ocAbsoluteMatrix, ocInvAbsoluteMatrix];
     ocAbsoluteMatrix, ocInvAbsoluteMatrix];
-  FPosition := TgCoordinates.CreateInitialized(Self, NullHmgPoint, csPoint);
-  FRotation := TgCoordinates.CreateInitialized(Self, NullHmgVector, csVector);
-  FDirection := TgCoordinates.CreateInitialized(Self, ZHmgVector, csVector);
-  FUp := TgCoordinates.CreateInitialized(Self, YHmgVector, csVector);
-  FScaling := TgCoordinates.CreateInitialized(Self, XYZHmgVector, csVector);
+  FPosition := TGLCoordinates.CreateInitialized(Self, NullHmgPoint, csPoint);
+  FRotation := TGLCoordinates.CreateInitialized(Self, NullHmgVector, csVector);
+  FDirection := TGLCoordinates.CreateInitialized(Self, ZHmgVector, csVector);
+  FUp := TGLCoordinates.CreateInitialized(Self, YHmgVector, csVector);
+  FScaling := TGLCoordinates.CreateInitialized(Self, XYZHmgVector, csVector);
   FLocalMatrix := IdentityHmgMatrix;
   FLocalMatrix := IdentityHmgMatrix;
   FVisible := True;
   FVisible := True;
   FPickable := True;
   FPickable := True;
@@ -3097,7 +3097,7 @@ begin
   end;
   end;
 end;
 end;
 
 
-procedure TGLBaseSceneObject.SetRotation(aRotation: TgCoordinates);
+procedure TGLBaseSceneObject.SetRotation(aRotation: TGLCoordinates);
 begin
 begin
   FRotation.Assign(aRotation);
   FRotation.Assign(aRotation);
   TransformationChanged;
   TransformationChanged;
@@ -3156,7 +3156,7 @@ begin
   end;
   end;
 end;
 end;
 
 
-procedure TGLBaseSceneObject.SetScaling(AValue: TgCoordinates);
+procedure TGLBaseSceneObject.SetScaling(AValue: TGLCoordinates);
 begin
 begin
   FScaling.Assign(AValue);
   FScaling.Assign(AValue);
   TransformationChanged;
   TransformationChanged;
@@ -3399,7 +3399,7 @@ begin
   end;
   end;
 end;
 end;
 
 
-procedure TGLBaseSceneObject.CoordinateChanged(Sender: TgCustomCoordinates);
+procedure TGLBaseSceneObject.CoordinateChanged(Sender: TGLCustomCoordinates);
 var
 var
   rightVector: TGLVector;
   rightVector: TGLVector;
 begin
 begin
@@ -3865,18 +3865,18 @@ begin
   TransformationChanged;
   TransformationChanged;
 end;
 end;
 
 
-procedure TGLBaseSceneObject.SetPosition(APosition: TgCoordinates);
+procedure TGLBaseSceneObject.SetPosition(APosition: TGLCoordinates);
 begin
 begin
   FPosition.SetPoint(APosition.DirectX, APosition.DirectY, APosition.DirectZ);
   FPosition.SetPoint(APosition.DirectX, APosition.DirectY, APosition.DirectZ);
 end;
 end;
 
 
-procedure TGLBaseSceneObject.SetDirection(AVector: TgCoordinates);
+procedure TGLBaseSceneObject.SetDirection(AVector: TGLCoordinates);
 begin
 begin
   if not VectorIsNull(AVector.DirectVector) then
   if not VectorIsNull(AVector.DirectVector) then
     FDirection.SetVector(AVector.DirectX, AVector.DirectY, AVector.DirectZ);
     FDirection.SetVector(AVector.DirectX, AVector.DirectY, AVector.DirectZ);
 end;
 end;
 
 
-procedure TGLBaseSceneObject.SetUp(AVector: TgCoordinates);
+procedure TGLBaseSceneObject.SetUp(AVector: TGLCoordinates);
 begin
 begin
   if not VectorIsNull(AVector.DirectVector) then
   if not VectorIsNull(AVector.DirectVector) then
     FUp.SetVector(AVector.DirectX, AVector.DirectY, AVector.DirectZ);
     FUp.SetVector(AVector.DirectX, AVector.DirectY, AVector.DirectZ);
@@ -5429,7 +5429,7 @@ constructor TGLLightSource.Create(AOwner: TComponent);
 begin
 begin
   inherited Create(AOwner);
   inherited Create(AOwner);
   FShining := True;
   FShining := True;
-  FSpotDirection := TgCoordinates.CreateInitialized(Self, VectorMake(0, 0, -1, 0), csVector);
+  FSpotDirection := TGLCoordinates.CreateInitialized(Self, VectorMake(0, 0, -1, 0), csVector);
   FConstAttenuation := 1;
   FConstAttenuation := 1;
   FLinearAttenuation := 0;
   FLinearAttenuation := 0;
   FQuadraticAttenuation := 0;
   FQuadraticAttenuation := 0;
@@ -5465,7 +5465,7 @@ begin
   Result := False;
   Result := False;
 end;
 end;
 
 
-procedure TGLLightSource.CoordinateChanged(Sender: TgCustomCoordinates);
+procedure TGLLightSource.CoordinateChanged(Sender: TGLCustomCoordinates);
 begin
 begin
   inherited;
   inherited;
   if Sender = FSpotDirection then
   if Sender = FSpotDirection then
@@ -5487,7 +5487,7 @@ begin
   end;
   end;
 end;
 end;
 
 
-procedure TGLLightSource.SetSpotDirection(AVector: TgCoordinates);
+procedure TGLLightSource.SetSpotDirection(AVector: TGLCoordinates);
 begin
 begin
   FSpotDirection.DirectVector := AVector.AsVector;
   FSpotDirection.DirectVector := AVector.AsVector;
   FSpotDirection.W := 0;
   FSpotDirection.W := 0;

+ 3 - 3
Source/GLS.SceneRegister.pas

@@ -819,10 +819,10 @@ end;
 
 
 procedure TGLCoordinatesProperty.Edit;
 procedure TGLCoordinatesProperty.Edit;
 var
 var
-  glc: TgCoordinates;
+  glc: TGLCoordinates;
   x, y, z: Single;
   x, y, z: Single;
 begin
 begin
-  glc := TgCoordinates(GetOrdValue);
+  glc := TGLCoordinates(GetOrdValue);
   x := glc.x;
   x := glc.x;
   y := glc.y;
   y := glc.y;
   z := glc.z;
   z := glc.z;
@@ -1588,7 +1588,7 @@ begin
   RegisterPropertyEditor(TypeInfo(string), TGLTexture, 'ImageClassName', TGLImageClassProperty);
   RegisterPropertyEditor(TypeInfo(string), TGLTexture, 'ImageClassName', TGLImageClassProperty);
   RegisterPropertyEditor(TypeInfo(TGLSoundFile), TGLSoundSample, '', TGLSoundFileProperty);
   RegisterPropertyEditor(TypeInfo(TGLSoundFile), TGLSoundSample, '', TGLSoundFileProperty);
   RegisterPropertyEditor(TypeInfo(string), TGLBaseSoundSource, 'SoundName', TGLSoundNameProperty);
   RegisterPropertyEditor(TypeInfo(string), TGLBaseSoundSource, 'SoundName', TGLSoundNameProperty);
-  RegisterPropertyEditor(TypeInfo(TgCoordinates), nil, '', TGLCoordinatesProperty);
+  RegisterPropertyEditor(TypeInfo(TGLCoordinates), nil, '', TGLCoordinatesProperty);
   RegisterPropertyEditor(TypeInfo(TGColor), nil, '', TGLColorProperty);
   RegisterPropertyEditor(TypeInfo(TGColor), nil, '', TGLColorProperty);
   RegisterPropertyEditor(TypeInfo(TGLMaterial), nil, '', TGLMaterialProperty);
   RegisterPropertyEditor(TypeInfo(TGLMaterial), nil, '', TGLMaterialProperty);
   RegisterComponentEditor(TGLGuiLayout, TGLGUILayoutEditor);
   RegisterComponentEditor(TGLGuiLayout, TGLGUILayoutEditor);

+ 10 - 10
Source/GLS.ShadowHDS.pas

@@ -54,8 +54,8 @@ type
   private
   private
     FTileSize: integer;
     FTileSize: integer;
     FShadowmapLibrary: TGLMaterialLibrary;
     FShadowmapLibrary: TGLMaterialLibrary;
-    FLightVector: TgCoordinates;
-    FScale: TgCoordinates;
+    FLightVector: TGLCoordinates;
+    FScale: TGLCoordinates;
     FScaleVec: TVector3f;
     FScaleVec: TVector3f;
     FOnNewTilePrepared: TNewTilePreparedEvent;
     FOnNewTilePrepared: TNewTilePreparedEvent;
     FOnThreadBmp32: TThreadBmp32;
     FOnThreadBmp32: TThreadBmp32;
@@ -69,8 +69,8 @@ type
     OwnerHDS: TGLHeightDataSource; // The owner of the tile
     OwnerHDS: TGLHeightDataSource; // The owner of the tile
   protected
   protected
     procedure SetShadowmapLibrary(const val: TGLMaterialLibrary);
     procedure SetShadowmapLibrary(const val: TGLMaterialLibrary);
-    procedure SetScale(AValue: TgCoordinates);
-    procedure SetLightVector(AValue: TgCoordinates);
+    procedure SetScale(AValue: TGLCoordinates);
+    procedure SetLightVector(AValue: TGLCoordinates);
     procedure SetSoftRange(AValue: cardinal);
     procedure SetSoftRange(AValue: cardinal);
     procedure SetDiffuse(AValue: single);
     procedure SetDiffuse(AValue: single);
     procedure SetAmbient(AValue: single);
     procedure SetAmbient(AValue: single);
@@ -122,8 +122,8 @@ type
     property ShadowmapLibrary: TGLMaterialLibrary read FShadowmapLibrary write SetShadowmapLibrary;
     property ShadowmapLibrary: TGLMaterialLibrary read FShadowmapLibrary write SetShadowmapLibrary;
     property OnThreadBmp32: TThreadBmp32 read FOnThreadBmp32 write FOnThreadBmp32; // WARNING: This runs in a subthread
     property OnThreadBmp32: TThreadBmp32 read FOnThreadBmp32 write FOnThreadBmp32; // WARNING: This runs in a subthread
     property OnNewTilePrepared: TNewTilePreparedEvent read FOnNewTilePrepared write FOnNewTilePrepared;
     property OnNewTilePrepared: TNewTilePreparedEvent read FOnNewTilePrepared write FOnNewTilePrepared;
-    property LightVector: TgCoordinates read FLightVector write SetLightVector;
-    property scale: TgCoordinates read FScale write FScale;
+    property LightVector: TGLCoordinates read FLightVector write SetLightVector;
+    property scale: TGLCoordinates read FScale write FScale;
     property ScanDistance: integer read FScanDistance write FScanDistance;
     property ScanDistance: integer read FScanDistance write FScanDistance;
     property SoftRange: cardinal read FSoftRange write SetSoftRange;
     property SoftRange: cardinal read FSoftRange write SetSoftRange;
     // Shadow height above sufrace for max diffuse light
     // Shadow height above sufrace for max diffuse light
@@ -140,9 +140,9 @@ implementation
 constructor TGLShadowHDS.Create(AOwner: TComponent);
 constructor TGLShadowHDS.Create(AOwner: TComponent);
 begin
 begin
   inherited Create(AOwner);
   inherited Create(AOwner);
-  FLightVector := TgCoordinates.CreateInitialized(Self, VectorMake(1, 0, -1));
+  FLightVector := TGLCoordinates.CreateInitialized(Self, VectorMake(1, 0, -1));
   FLightVector.Style := csVector; // csPoint;
   FLightVector.Style := csVector; // csPoint;
-  FScale := TgCoordinates.CreateInitialized(Self, VectorMake(1, 1, 1));
+  FScale := TGLCoordinates.CreateInitialized(Self, VectorMake(1, 1, 1));
   FScale.Style := csVector; // csPoint;
   FScale.Style := csVector; // csPoint;
   FScanDistance := 64;
   FScanDistance := 64;
   FAmbient := 0.25;
   FAmbient := 0.25;
@@ -250,7 +250,7 @@ begin
   end;
   end;
 end;
 end;
 
 
-procedure TGLShadowHDS.SetLightVector(AValue: TgCoordinates);
+procedure TGLShadowHDS.SetLightVector(AValue: TGLCoordinates);
 begin
 begin
   With OwnerHDS.Data.LockList do
   With OwnerHDS.Data.LockList do
     try
     try
@@ -733,7 +733,7 @@ begin
   end;
   end;
 end;
 end;
 
 
-procedure TGLShadowHDS.SetScale(AValue: TgCoordinates);
+procedure TGLShadowHDS.SetScale(AValue: TGLCoordinates);
 begin
 begin
   with OwnerHDS.Data.LockList do
   with OwnerHDS.Data.LockList do
     try
     try

+ 5 - 5
Source/GLS.Silhouette.pas

@@ -39,19 +39,19 @@ type
     need some helper methods for generating the indexed sets. *)
     need some helper methods for generating the indexed sets. *)
   TGLSilhouette = class
   TGLSilhouette = class
   private
   private
-    FVertices: TGVectorList;
+    FVertices: TGLVectorList;
     FIndices: TgIntegerList;
     FIndices: TgIntegerList;
     FCapIndices: TgIntegerList;
     FCapIndices: TgIntegerList;
     FParameters: TGLSilhouetteParameters;
     FParameters: TGLSilhouetteParameters;
   protected
   protected
     procedure SetIndices(const value: TgIntegerList);
     procedure SetIndices(const value: TgIntegerList);
     procedure SetCapIndices(const value: TgIntegerList);
     procedure SetCapIndices(const value: TgIntegerList);
-    procedure SetVertices(const value: TGVectorList);
+    procedure SetVertices(const value: TGLVectorList);
   public
   public
     constructor Create; virtual;
     constructor Create; virtual;
     destructor Destroy; override;
     destructor Destroy; override;
     property Parameters: TGLSilhouetteParameters read FParameters write FParameters;
     property Parameters: TGLSilhouetteParameters read FParameters write FParameters;
-    property Vertices: TGVectorList read FVertices write SetVertices;
+    property Vertices: TGLVectorList read FVertices write SetVertices;
     property Indices: TgIntegerList read FIndices write SetIndices;
     property Indices: TgIntegerList read FIndices write SetIndices;
     property CapIndices: TgIntegerList read FCapIndices write SetCapIndices;
     property CapIndices: TgIntegerList read FCapIndices write SetCapIndices;
     procedure Flush; virtual;
     procedure Flush; virtual;
@@ -126,7 +126,7 @@ implementation // -------------------------------------------------------------
 constructor TGLSilhouette.Create;
 constructor TGLSilhouette.Create;
 begin
 begin
   inherited;
   inherited;
-  FVertices := TGVectorList.Create;
+  FVertices := TGLVectorList.Create;
   FIndices := TgIntegerList.Create;
   FIndices := TgIntegerList.Create;
   FCapIndices := TgIntegerList.Create;
   FCapIndices := TgIntegerList.Create;
 end;
 end;
@@ -149,7 +149,7 @@ begin
   FCapIndices.Assign(value);
   FCapIndices.Assign(value);
 end;
 end;
 
 
-procedure TGLSilhouette.SetVertices(const value: TGVectorList);
+procedure TGLSilhouette.SetVertices(const value: TGLVectorList);
 begin
 begin
   FVertices.Assign(value);
   FVertices.Assign(value);
 end;
 end;

+ 10 - 10
Source/GLS.SmoothNavigator.pas

@@ -123,10 +123,10 @@ type
   // Smoothly change any Vector4f value, so it will become TargetValue in the end.
   // Smoothly change any Vector4f value, so it will become TargetValue in the end.
   TGLNavigatorSmoothChangeVector = class(TGLNavigatorSmoothChangeItem)
   TGLNavigatorSmoothChangeVector = class(TGLNavigatorSmoothChangeItem)
   private
   private
-    FTargetValue: TgCoordinates;
+    FTargetValue: TGLCoordinates;
     FOnGetCurrentValue: TGLNavigatorSmoothChangeVectorGetEvent;
     FOnGetCurrentValue: TGLNavigatorSmoothChangeVectorGetEvent;
     FOnSetCurrentValue: TGLNavigatorSmoothChangeVectorSetEvent;
     FOnSetCurrentValue: TGLNavigatorSmoothChangeVectorSetEvent;
-    procedure SetTargetValue(const Value: TgCoordinates);
+    procedure SetTargetValue(const Value: TGLCoordinates);
   public
   public
     class function FriendlyName: string; override;
     class function FriendlyName: string; override;
     function Proceed(ADeltaTime: Double): Boolean; override;
     function Proceed(ADeltaTime: Double): Boolean; override;
@@ -135,7 +135,7 @@ type
     destructor Destroy; override;
     destructor Destroy; override;
     procedure ResetTargetValue(); override;
     procedure ResetTargetValue(); override;
   published
   published
-    property TargetValue: TgCoordinates read FTargetValue write SetTargetValue;
+    property TargetValue: TGLCoordinates read FTargetValue write SetTargetValue;
     property OnGetCurrentValue: TGLNavigatorSmoothChangeVectorGetEvent read FOnGetCurrentValue write FOnGetCurrentValue;
     property OnGetCurrentValue: TGLNavigatorSmoothChangeVectorGetEvent read FOnGetCurrentValue write FOnGetCurrentValue;
     property OnSetCurrentValue: TGLNavigatorSmoothChangeVectorSetEvent read FOnSetCurrentValue write FOnSetCurrentValue;
     property OnSetCurrentValue: TGLNavigatorSmoothChangeVectorSetEvent read FOnSetCurrentValue write FOnSetCurrentValue;
   end;
   end;
@@ -372,9 +372,9 @@ type
     FSmoothNavigator: TGLSmoothNavigator;
     FSmoothNavigator: TGLSmoothNavigator;
     FSmoothVertNavigator: TGLSmoothNavigator;
     FSmoothVertNavigator: TGLSmoothNavigator;
     FInvertMouse: Boolean;
     FInvertMouse: Boolean;
-    FOriginalMousePos: TgCoordinates2;
+    FOriginalMousePos: TGLCoordinates2;
     procedure SetSmoothNavigator(const Value: TGLSmoothNavigator); virtual;
     procedure SetSmoothNavigator(const Value: TGLSmoothNavigator); virtual;
-    procedure SetOriginalMousePos(const Value: TgCoordinates2); virtual;
+    procedure SetOriginalMousePos(const Value: TGLCoordinates2); virtual;
     procedure SetSmoothVertNavigator(const Value: TGLSmoothNavigator); virtual;
     procedure SetSmoothVertNavigator(const Value: TGLSmoothNavigator); virtual;
     procedure SetMouseLookActive(const Value: Boolean); virtual;
     procedure SetMouseLookActive(const Value: Boolean); virtual;
   protected
   protected
@@ -394,7 +394,7 @@ type
     property SmoothVertNavigator: TGLSmoothNavigator read FSmoothVertNavigator write SetSmoothVertNavigator;
     property SmoothVertNavigator: TGLSmoothNavigator read FSmoothVertNavigator write SetSmoothVertNavigator;
     property SmoothNavigator: TGLSmoothNavigator read FSmoothNavigator write SetSmoothNavigator;
     property SmoothNavigator: TGLSmoothNavigator read FSmoothNavigator write SetSmoothNavigator;
     property InvertMouse: Boolean read FInvertMouse write FInvertMouse default False;
     property InvertMouse: Boolean read FInvertMouse write FInvertMouse default False;
-    property OriginalMousePos: TgCoordinates2 read FOriginalMousePos write SetOriginalMousePos;
+    property OriginalMousePos: TGLCoordinates2 read FOriginalMousePos write SetOriginalMousePos;
   end;
   end;
 
 
 //----------------------------------------------------
 //----------------------------------------------------
@@ -906,7 +906,7 @@ begin
   inherited;
   inherited;
   FMouseLookActive := False;
   FMouseLookActive := False;
   FAutoUpdateMouse := True;
   FAutoUpdateMouse := True;
-  FOriginalMousePos := TgCoordinates2.CreateInitialized(Self,
+  FOriginalMousePos := TGLCoordinates2.CreateInitialized(Self,
                              VectorMake(GLGetScreenWidth div 2,
                              VectorMake(GLGetScreenWidth div 2,
                              GLGetScreenHeight div 2, 0, 0), csPoint2D);
                              GLGetScreenHeight div 2, 0, 0), csPoint2D);
 end;
 end;
@@ -943,7 +943,7 @@ begin
 end;
 end;
 
 
 procedure TGLSmoothUserInterface.SetOriginalMousePos(
 procedure TGLSmoothUserInterface.SetOriginalMousePos(
-  const Value: TgCoordinates2);
+  const Value: TGLCoordinates2);
 begin
 begin
   FOriginalMousePos.Assign(Value);
   FOriginalMousePos.Assign(Value);
 end;
 end;
@@ -1548,7 +1548,7 @@ end;
 constructor TGLNavigatorSmoothChangeVector.Create(aOwner: TXCollection);
 constructor TGLNavigatorSmoothChangeVector.Create(aOwner: TXCollection);
 begin
 begin
   inherited;
   inherited;
-  FTargetValue := TgCoordinates.CreateInitialized(Self, NullHmgVector, csVector);
+  FTargetValue := TGLCoordinates.CreateInitialized(Self, NullHmgVector, csVector);
 end;
 end;
 
 
 destructor TGLNavigatorSmoothChangeVector.Destroy;
 destructor TGLNavigatorSmoothChangeVector.Destroy;
@@ -1617,7 +1617,7 @@ begin
 end;
 end;
 
 
 procedure TGLNavigatorSmoothChangeVector.SetTargetValue(
 procedure TGLNavigatorSmoothChangeVector.SetTargetValue(
-  const Value: TgCoordinates);
+  const Value: TGLCoordinates);
 begin
 begin
   FTargetValue.Assign(Value);
   FTargetValue.Assign(Value);
 end;
 end;

+ 37 - 37
Source/GLS.Texture.pas

@@ -386,10 +386,10 @@ type
     FImageBrightness: Single;
     FImageBrightness: Single;
     FImageGamma: Single;
     FImageGamma: Single;
     FMappingMode: TGLTextureMappingMode;
     FMappingMode: TGLTextureMappingMode;
-    FMapSCoordinates: TgCoordinates4;
-    FMapTCoordinates: TgCoordinates4;
-    FMapRCoordinates: TgCoordinates4;
-    FMapQCoordinates: TgCoordinates4;
+    FMapSCoordinates: TGLCoordinates4;
+    FMapTCoordinates: TGLCoordinates4;
+    FMapRCoordinates: TGLCoordinates4;
+    FMapQCoordinates: TGLCoordinates4;
     FOnTextureNeeded: TGLTextureNeededEvent;
     FOnTextureNeeded: TGLTextureNeededEvent;
     FCompression: TGLTextureCompression;
     FCompression: TGLTextureCompression;
     FRequiredMemorySize: Integer;
     FRequiredMemorySize: Integer;
@@ -428,17 +428,17 @@ type
     procedure SetCompression(const val: TGLTextureCompression);
     procedure SetCompression(const val: TGLTextureCompression);
     procedure SetFilteringQuality(const val: TGLTextureFilteringQuality);
     procedure SetFilteringQuality(const val: TGLTextureFilteringQuality);
     procedure SetMappingMode(const val: TGLTextureMappingMode);
     procedure SetMappingMode(const val: TGLTextureMappingMode);
-    function GetMappingSCoordinates: TgCoordinates4;
-    procedure SetMappingSCoordinates(const val: TgCoordinates4);
+    function GetMappingSCoordinates: TGLCoordinates4;
+    procedure SetMappingSCoordinates(const val: TGLCoordinates4);
     function StoreMappingSCoordinates: Boolean;
     function StoreMappingSCoordinates: Boolean;
-    function GetMappingTCoordinates: TgCoordinates4;
-    procedure SetMappingTCoordinates(const val: TgCoordinates4);
+    function GetMappingTCoordinates: TGLCoordinates4;
+    procedure SetMappingTCoordinates(const val: TGLCoordinates4);
     function StoreMappingTCoordinates: Boolean;
     function StoreMappingTCoordinates: Boolean;
-    function GetMappingRCoordinates: TgCoordinates4;
-    procedure SetMappingRCoordinates(const val: TgCoordinates4);
+    function GetMappingRCoordinates: TGLCoordinates4;
+    procedure SetMappingRCoordinates(const val: TGLCoordinates4);
     function StoreMappingRCoordinates: Boolean;
     function StoreMappingRCoordinates: Boolean;
-    function GetMappingQCoordinates: TgCoordinates4;
-    procedure SetMappingQCoordinates(const val: TgCoordinates4);
+    function GetMappingQCoordinates: TGLCoordinates4;
+    procedure SetMappingQCoordinates(const val: TGLCoordinates4);
     function StoreMappingQCoordinates: Boolean;
     function StoreMappingQCoordinates: Boolean;
     procedure SetDisabled(AValue: Boolean);
     procedure SetDisabled(AValue: Boolean);
     procedure SetEnabled(const val: Boolean);
     procedure SetEnabled(const val: Boolean);
@@ -580,13 +580,13 @@ type
     (* Texture mapping coordinates mode for S, T, R and Q axis.
     (* Texture mapping coordinates mode for S, T, R and Q axis.
     This property stores the coordinates for automatic texture
     This property stores the coordinates for automatic texture
     coordinates generation *)
     coordinates generation *)
-    property MappingSCoordinates: TgCoordinates4 read GetMappingSCoordinates
+    property MappingSCoordinates: TGLCoordinates4 read GetMappingSCoordinates
       write SetMappingSCoordinates stored StoreMappingSCoordinates;
       write SetMappingSCoordinates stored StoreMappingSCoordinates;
-    property MappingTCoordinates: TgCoordinates4 read GetMappingTCoordinates
+    property MappingTCoordinates: TGLCoordinates4 read GetMappingTCoordinates
       write SetMappingTCoordinates stored StoreMappingTCoordinates;
       write SetMappingTCoordinates stored StoreMappingTCoordinates;
-    property MappingRCoordinates: TgCoordinates4 read GetMappingRCoordinates
+    property MappingRCoordinates: TGLCoordinates4 read GetMappingRCoordinates
       write SetMappingRCoordinates stored StoreMappingRCoordinates;
       write SetMappingRCoordinates stored StoreMappingRCoordinates;
-    property MappingQCoordinates: TgCoordinates4 read GetMappingQCoordinates
+    property MappingQCoordinates: TGLCoordinates4 read GetMappingQCoordinates
       write SetMappingQCoordinates stored StoreMappingQCoordinates;
       write SetMappingQCoordinates stored StoreMappingQCoordinates;
     // Texture Environment color
     // Texture Environment color
     property EnvColor: TGColor read FEnvColor write SetEnvColor;
     property EnvColor: TGColor read FEnvColor write SetEnvColor;
@@ -615,7 +615,7 @@ type
   private
   private
     FTexture: TGLTexture;
     FTexture: TGLTexture;
     FTextureIndex: Integer;
     FTextureIndex: Integer;
-    FTextureOffset, FTextureScale: TgCoordinates;
+    FTextureOffset, FTextureScale: TGLCoordinates;
     FTextureMatrixIsIdentity: Boolean;
     FTextureMatrixIsIdentity: Boolean;
     FTextureMatrix: TGLMatrix;
     FTextureMatrix: TGLMatrix;
     FApplied: Boolean;
     FApplied: Boolean;
@@ -628,8 +628,8 @@ type
     function GetOwner: TPersistent; override;
     function GetOwner: TPersistent; override;
     procedure SetTexture(const Value: TGLTexture);
     procedure SetTexture(const Value: TGLTexture);
     procedure SetTextureIndex(const Value: Integer);
     procedure SetTextureIndex(const Value: Integer);
-    procedure SetTextureOffset(const Value: TgCoordinates);
-    procedure SetTextureScale(const Value: TgCoordinates);
+    procedure SetTextureOffset(const Value: TGLCoordinates);
+    procedure SetTextureScale(const Value: TGLCoordinates);
     procedure NotifyTexMapChange(Sender: TObject);
     procedure NotifyTexMapChange(Sender: TObject);
     procedure CalculateTextureMatrix;
     procedure CalculateTextureMatrix;
     procedure OnNotifyChange(Sender: TObject);
     procedure OnNotifyChange(Sender: TObject);
@@ -643,8 +643,8 @@ type
   published
   published
     property Texture: TGLTexture read FTexture write SetTexture;
     property Texture: TGLTexture read FTexture write SetTexture;
     property TextureIndex: Integer read FTextureIndex write SetTextureIndex;
     property TextureIndex: Integer read FTextureIndex write SetTextureIndex;
-    property TextureOffset: TgCoordinates read FTextureOffset write SetTextureOffset;
-    property TextureScale: TgCoordinates read FTextureScale write SetTextureScale;
+    property TextureOffset: TGLCoordinates read FTextureOffset write SetTextureOffset;
+    property TextureScale: TGLCoordinates read FTextureScale write SetTextureScale;
   end;
   end;
 
 
   TGLTextureEx = class(TCollection)
   TGLTextureEx = class(TCollection)
@@ -2179,15 +2179,15 @@ begin
   end;
   end;
 end;
 end;
 
 
-procedure TGLTexture.SetMappingSCoordinates(const val: TgCoordinates4);
+procedure TGLTexture.SetMappingSCoordinates(const val: TGLCoordinates4);
 begin
 begin
   MappingSCoordinates.Assign(val);
   MappingSCoordinates.Assign(val);
 end;
 end;
 
 
-function TGLTexture.GetMappingSCoordinates: TgCoordinates4;
+function TGLTexture.GetMappingSCoordinates: TGLCoordinates4;
 begin
 begin
   if not Assigned(FMapSCoordinates) then
   if not Assigned(FMapSCoordinates) then
-    FMapSCoordinates := TgCoordinates4.CreateInitialized(Self, XHmgVector, csVector);
+    FMapSCoordinates := TGLCoordinates4.CreateInitialized(Self, XHmgVector, csVector);
   Result := FMapSCoordinates;
   Result := FMapSCoordinates;
 end;
 end;
 
 
@@ -2199,15 +2199,15 @@ begin
     Result := false;
     Result := false;
 end;
 end;
 
 
-procedure TGLTexture.SetMappingTCoordinates(const val: TgCoordinates4);
+procedure TGLTexture.SetMappingTCoordinates(const val: TGLCoordinates4);
 begin
 begin
   MappingTCoordinates.Assign(val);
   MappingTCoordinates.Assign(val);
 end;
 end;
 
 
-function TGLTexture.GetMappingTCoordinates: TgCoordinates4;
+function TGLTexture.GetMappingTCoordinates: TGLCoordinates4;
 begin
 begin
   if not Assigned(FMapTCoordinates) then
   if not Assigned(FMapTCoordinates) then
-    FMapTCoordinates := TgCoordinates4.CreateInitialized(Self, YHmgVector,
+    FMapTCoordinates := TGLCoordinates4.CreateInitialized(Self, YHmgVector,
       csVector);
       csVector);
   Result := FMapTCoordinates;
   Result := FMapTCoordinates;
 end;
 end;
@@ -2220,15 +2220,15 @@ begin
     Result := false;
     Result := false;
 end;
 end;
 
 
-procedure TGLTexture.SetMappingRCoordinates(const val: TgCoordinates4);
+procedure TGLTexture.SetMappingRCoordinates(const val: TGLCoordinates4);
 begin
 begin
   MappingRCoordinates.Assign(val);
   MappingRCoordinates.Assign(val);
 end;
 end;
 
 
-function TGLTexture.GetMappingRCoordinates: TgCoordinates4;
+function TGLTexture.GetMappingRCoordinates: TGLCoordinates4;
 begin
 begin
   if not Assigned(FMapRCoordinates) then
   if not Assigned(FMapRCoordinates) then
-    FMapRCoordinates := TgCoordinates4.CreateInitialized(Self, ZHmgVector,
+    FMapRCoordinates := TGLCoordinates4.CreateInitialized(Self, ZHmgVector,
       csVector);
       csVector);
   Result := FMapRCoordinates;
   Result := FMapRCoordinates;
 end;
 end;
@@ -2241,15 +2241,15 @@ begin
     Result := false;
     Result := false;
 end;
 end;
 
 
-procedure TGLTexture.SetMappingQCoordinates(const val: TgCoordinates4);
+procedure TGLTexture.SetMappingQCoordinates(const val: TGLCoordinates4);
 begin
 begin
   MappingQCoordinates.Assign(val);
   MappingQCoordinates.Assign(val);
 end;
 end;
 
 
-function TGLTexture.GetMappingQCoordinates: TgCoordinates4;
+function TGLTexture.GetMappingQCoordinates: TGLCoordinates4;
 begin
 begin
   if not Assigned(FMapQCoordinates) then
   if not Assigned(FMapQCoordinates) then
-    FMapQCoordinates := TgCoordinates4.CreateInitialized(Self, WHmgVector,
+    FMapQCoordinates := TGLCoordinates4.CreateInitialized(Self, WHmgVector,
       csVector);
       csVector);
   Result := FMapQCoordinates;
   Result := FMapQCoordinates;
 end;
 end;
@@ -2958,10 +2958,10 @@ begin
   inherited;
   inherited;
 
 
   FTexture := TGLTexture.Create(Self);
   FTexture := TGLTexture.Create(Self);
-  FTextureOffset := TgCoordinates.CreateInitialized(Self, NullHMGVector,
+  FTextureOffset := TGLCoordinates.CreateInitialized(Self, NullHMGVector,
     csPoint);
     csPoint);
   FTextureOffset.OnNotifyChange := OnNotifyChange;
   FTextureOffset.OnNotifyChange := OnNotifyChange;
-  FTextureScale := TgCoordinates.CreateInitialized(Self, XYZHmgVector,
+  FTextureScale := TGLCoordinates.CreateInitialized(Self, XYZHmgVector,
     csPoint);
     csPoint);
   FTextureScale.OnNotifyChange := OnNotifyChange;
   FTextureScale.OnNotifyChange := OnNotifyChange;
 
 
@@ -3106,13 +3106,13 @@ begin
   end;
   end;
 end;
 end;
 
 
-procedure TGLTextureExItem.SetTextureOffset(const Value: TgCoordinates);
+procedure TGLTextureExItem.SetTextureOffset(const Value: TGLCoordinates);
 begin
 begin
   FTextureOffset.Assign(Value);
   FTextureOffset.Assign(Value);
   NotifyChange(Self);
   NotifyChange(Self);
 end;
 end;
 
 
-procedure TGLTextureExItem.SetTextureScale(const Value: TgCoordinates);
+procedure TGLTextureExItem.SetTextureScale(const Value: TGLCoordinates);
 begin
 begin
   FTextureScale.Assign(Value);
   FTextureScale.Assign(Value);
   NotifyChange(Self);
   NotifyChange(Self);

+ 9 - 9
Source/GLS.ThorFX.pas

@@ -54,7 +54,7 @@ type
   private
   private
     FClients: TList;
     FClients: TList;
     FThorpoints: PThorpointArray;
     FThorpoints: PThorpointArray;
-    FTarget: TgCoordinates;
+    FTarget: TGLCoordinates;
     FCadencer: TGLCadencer;
     FCadencer: TGLCadencer;
     FMaxpoints: integer;
     FMaxpoints: integer;
     FGlowSize: single;
     FGlowSize: single;
@@ -68,7 +68,7 @@ type
     procedure RegisterClient(aClient: TGLBThorFX);
     procedure RegisterClient(aClient: TGLBThorFX);
     procedure DeRegisterClient(aClient: TGLBThorFX);
     procedure DeRegisterClient(aClient: TGLBThorFX);
     procedure DeRegisterAllClients;
     procedure DeRegisterAllClients;
-    procedure SetTarget(const val: TgCoordinates);
+    procedure SetTarget(const val: TGLCoordinates);
     procedure SetCadencer(const val: TGLCadencer);
     procedure SetCadencer(const val: TGLCadencer);
     procedure SetMaxpoints(const val: integer);
     procedure SetMaxpoints(const val: integer);
     function StoreGlowSize: boolean;
     function StoreGlowSize: boolean;
@@ -86,7 +86,7 @@ type
     destructor Destroy; override;
     destructor Destroy; override;
     procedure DoProgress(const progressTime: TGLProgressTimes); override;
     procedure DoProgress(const progressTime: TGLProgressTimes); override;
   published
   published
-    property Target: TgCoordinates read FTarget write SetTarget;
+    property Target: TGLCoordinates read FTarget write SetTarget;
     property Cadencer: TGLCadencer read FCadencer write SetCadencer;
     property Cadencer: TGLCadencer read FCadencer write SetCadencer;
     property Maxpoints: integer read FMaxpoints write SetMaxpoints default 256;
     property Maxpoints: integer read FMaxpoints write SetMaxpoints default 256;
     property GlowSize: single read FGlowSize write FGlowSize stored StoreGlowSize;
     property GlowSize: single read FGlowSize write FGlowSize stored StoreGlowSize;
@@ -106,13 +106,13 @@ type
   private
   private
     FManager: TGLThorFXManager;
     FManager: TGLThorFXManager;
     FManagerName: String; // NOT persistent, temporarily used for persistence
     FManagerName: String; // NOT persistent, temporarily used for persistence
-    FTarget: TgCoordinates;
+    FTarget: TGLCoordinates;
   protected
   protected
     procedure SetManager(const val: TGLThorFXManager);
     procedure SetManager(const val: TGLThorFXManager);
     procedure WriteToFiler(writer: TWriter); override;
     procedure WriteToFiler(writer: TWriter); override;
     procedure ReadFromFiler(reader: TReader); override;
     procedure ReadFromFiler(reader: TReader); override;
     procedure Loaded; override;
     procedure Loaded; override;
-    procedure SetTarget(const val: TgCoordinates);
+    procedure SetTarget(const val: TGLCoordinates);
   public
   public
     constructor Create(AOwner: TXCollection); override;
     constructor Create(AOwner: TXCollection); override;
     destructor Destroy; override;
     destructor Destroy; override;
@@ -141,7 +141,7 @@ begin
   inherited Create(AOwner);
   inherited Create(AOwner);
   FClients := TList.Create;
   FClients := TList.Create;
   RegisterManager(Self);
   RegisterManager(Self);
-  FTarget := TgCoordinates.CreateInitialized(Self, VectorMake(0, 1, 0));
+  FTarget := TGLCoordinates.CreateInitialized(Self, VectorMake(0, 1, 0));
   FTarget.Style := csPoint;
   FTarget.Style := csPoint;
   FMaxpoints := 64;
   FMaxpoints := 64;
   FGlowSize := 0.2;
   FGlowSize := 0.2;
@@ -201,7 +201,7 @@ begin
   FClients.Clear;
   FClients.Clear;
 end;
 end;
 
 
-procedure TGLThorFXManager.SetTarget(const val: TgCoordinates);
+procedure TGLThorFXManager.SetTarget(const val: TGLCoordinates);
 begin
 begin
   FTarget.Assign(val);
   FTarget.Assign(val);
   ThorInit;
   ThorInit;
@@ -368,7 +368,7 @@ end;
 constructor TGLBThorFX.Create(AOwner: TXCollection);
 constructor TGLBThorFX.Create(AOwner: TXCollection);
 begin
 begin
   inherited Create(AOwner);
   inherited Create(AOwner);
-  FTarget := TgCoordinates.CreateInitialized(Self, VectorMake(0, 1, 0));
+  FTarget := TGLCoordinates.CreateInitialized(Self, VectorMake(0, 1, 0));
   FTarget.Style := csPoint;
   FTarget.Style := csPoint;
 end;
 end;
 
 
@@ -442,7 +442,7 @@ begin
   inherited Assign(Source);
   inherited Assign(Source);
 end;
 end;
 
 
-procedure TGLBThorFX.SetTarget(const val: TgCoordinates);
+procedure TGLBThorFX.SetTarget(const val: TGLCoordinates);
 begin
 begin
   FTarget.Assign(val);
   FTarget.Assign(val);
 end;
 end;

+ 35 - 35
Source/GLS.VectorFileObjects.pas

@@ -443,7 +443,7 @@ type
     FExtentCacheRevision: Cardinal;
     FExtentCacheRevision: Cardinal;
     FTexCoords: TGLAffineVectorList; // provision for 3D textures
     FTexCoords: TGLAffineVectorList; // provision for 3D textures
     FLightMapTexCoords: TGLAffineVectorList; // reserved for 2D surface needs
     FLightMapTexCoords: TGLAffineVectorList; // reserved for 2D surface needs
-    FColors: TGVectorList;
+    FColors: TGLVectorList;
     FFaceGroups: TGLFaceGroups;
     FFaceGroups: TGLFaceGroups;
     FMode: TGLMeshObjectMode;
     FMode: TGLMeshObjectMode;
     FRenderingOptions: TGLMeshObjectRenderingOptions;
     FRenderingOptions: TGLMeshObjectRenderingOptions;
@@ -467,20 +467,20 @@ type
   protected
   protected
     procedure SetTexCoords(const val: TGLAffineVectorList);
     procedure SetTexCoords(const val: TGLAffineVectorList);
     procedure SetLightmapTexCoords(const val: TGLAffineVectorList);
     procedure SetLightmapTexCoords(const val: TGLAffineVectorList);
-    procedure SetColors(const val: TGVectorList);
+    procedure SetColors(const val: TGLVectorList);
     procedure BufferArrays;
     procedure BufferArrays;
     procedure DeclareArraysToOpenGL(var mrci: TGLRenderContextInfo;
     procedure DeclareArraysToOpenGL(var mrci: TGLRenderContextInfo;
    	  EvenIfAlreadyDeclared: Boolean = False);
    	  EvenIfAlreadyDeclared: Boolean = False);
     procedure DisableOpenGLArrays(var mrci: TGLRenderContextInfo);
     procedure DisableOpenGLArrays(var mrci: TGLRenderContextInfo);
     procedure EnableLightMapArray(var mrci: TGLRenderContextInfo);
     procedure EnableLightMapArray(var mrci: TGLRenderContextInfo);
     procedure DisableLightMapArray(var mrci: TGLRenderContextInfo);
     procedure DisableLightMapArray(var mrci: TGLRenderContextInfo);
-    procedure SetTexCoordsEx(Index: Integer; const val: TGVectorList);
-    function GetTexCoordsEx(Index: Integer): TGVectorList;
-    procedure SetBinormals(const val: TGVectorList);
-    function GetBinormals: TGVectorList;
+    procedure SetTexCoordsEx(Index: Integer; const val: TGLVectorList);
+    function GetTexCoordsEx(Index: Integer): TGLVectorList;
+    procedure SetBinormals(const val: TGLVectorList);
+    function GetBinormals: TGLVectorList;
     procedure SetBinormalsTexCoordIndex(const val: Integer);
     procedure SetBinormalsTexCoordIndex(const val: Integer);
-    procedure SetTangents(const val: TGVectorList);
-    function GetTangents: TGVectorList;
+    procedure SetTangents(const val: TGLVectorList);
+    function GetTangents: TGLVectorList;
     procedure SetTangentsTexCoordIndex(const val: Integer);
     procedure SetTangentsTexCoordIndex(const val: Integer);
     property ValidBuffers: TGLVBOBuffers read FValidBuffers write SetValidBuffers;
     property ValidBuffers: TGLVBOBuffers read FValidBuffers write SetValidBuffers;
   public
   public
@@ -513,10 +513,10 @@ type
     function PointInObject(const aPoint: TAffineVector): Boolean; virtual;
     function PointInObject(const aPoint: TAffineVector): Boolean; virtual;
     // Returns the triangle data for a given triangle
     // Returns the triangle data for a given triangle
     procedure GetTriangleData(tri: Integer; list: TGLAffineVectorList; var v0, v1, v2: TAffineVector); overload;
     procedure GetTriangleData(tri: Integer; list: TGLAffineVectorList; var v0, v1, v2: TAffineVector); overload;
-    procedure GetTriangleData(tri: Integer; list: TGVectorList; var v0, v1, v2: TGLVector); overload;
+    procedure GetTriangleData(tri: Integer; list: TGLVectorList; var v0, v1, v2: TGLVector); overload;
     // Sets the triangle data of a given triangle
     // Sets the triangle data of a given triangle
     procedure SetTriangleData(tri: Integer; list: TGLAffineVectorList; const v0, v1, v2: TAffineVector); overload;
     procedure SetTriangleData(tri: Integer; list: TGLAffineVectorList; const v0, v1, v2: TAffineVector); overload;
-    procedure SetTriangleData(tri: Integer; list: TGVectorList; const v0, v1, v2: TGLVector); overload;
+    procedure SetTriangleData(tri: Integer; list: TGLVectorList; const v0, v1, v2: TGLVector); overload;
     (* Build the tangent space from the mesh object's vertex, normal
     (* Build the tangent space from the mesh object's vertex, normal
       and texcoord data, filling the binormals and tangents where specified. *)
       and texcoord data, filling the binormals and tangents where specified. *)
     procedure BuildTangentSpace(buildBinormals: Boolean = True; buildTangents: Boolean = True);
     procedure BuildTangentSpace(buildBinormals: Boolean = True; buildTangents: Boolean = True);
@@ -524,7 +524,7 @@ type
     property Mode: TGLMeshObjectMode read FMode write FMode;
     property Mode: TGLMeshObjectMode read FMode write FMode;
     property TexCoords: TGLAffineVectorList read FTexCoords write SetTexCoords;
     property TexCoords: TGLAffineVectorList read FTexCoords write SetTexCoords;
     property LightMapTexCoords: TGLAffineVectorList read FLightMapTexCoords write SetLightmapTexCoords;
     property LightMapTexCoords: TGLAffineVectorList read FLightMapTexCoords write SetLightmapTexCoords;
-    property Colors: TGVectorList read FColors write SetColors;
+    property Colors: TGLVectorList read FColors write SetColors;
     property FaceGroups: TGLFaceGroups read FFaceGroups;
     property FaceGroups: TGLFaceGroups read FFaceGroups;
     property RenderingOptions: TGLMeshObjectRenderingOptions read FRenderingOptions write FRenderingOptions;
     property RenderingOptions: TGLMeshObjectRenderingOptions read FRenderingOptions write FRenderingOptions;
     // If set, rendering will use VBO's instead of vertex arrays.
     // If set, rendering will use VBO's instead of vertex arrays.
@@ -537,11 +537,11 @@ type
       Lists are created on demand, meaning that if you request
       Lists are created on demand, meaning that if you request
       TexCoordsEx[4] it will create the list up to and including 4.
       TexCoordsEx[4] it will create the list up to and including 4.
       The extensions are only applied to the texture environment if they contain data. *)
       The extensions are only applied to the texture environment if they contain data. *)
-    property TexCoordsEx[index: Integer]: TGVectorList read GetTexCoordsEx write SetTexCoordsEx;
+    property TexCoordsEx[index: Integer]: TGLVectorList read GetTexCoordsEx write SetTexCoordsEx;
     // A TexCoordsEx list wrapper for binormals usage, returns TexCoordsEx[BinormalsTexCoordIndex].
     // A TexCoordsEx list wrapper for binormals usage, returns TexCoordsEx[BinormalsTexCoordIndex].
-    property Binormals: TGVectorList read GetBinormals write SetBinormals;
+    property Binormals: TGLVectorList read GetBinormals write SetBinormals;
     // A TexCoordsEx list wrapper for tangents usage, returns TexCoordsEx[BinormalsTexCoordIndex].
     // A TexCoordsEx list wrapper for tangents usage, returns TexCoordsEx[BinormalsTexCoordIndex].
-    property Tangents: TGVectorList read GetTangents write SetTangents;
+    property Tangents: TGLVectorList read GetTangents write SetTangents;
     // Specify the texcoord extension index for binormals (default = 2)
     // Specify the texcoord extension index for binormals (default = 2)
     property BinormalsTexCoordIndex: Integer read FBinormalsTexCoordIndex write SetBinormalsTexCoordIndex;
     property BinormalsTexCoordIndex: Integer read FBinormalsTexCoordIndex write SetBinormalsTexCoordIndex;
     // Specify the texcoord extension index for tangents (default = 3)
     // Specify the texcoord extension index for tangents (default = 3)
@@ -892,7 +892,7 @@ type
     FOverlaySkeleton: Boolean;
     FOverlaySkeleton: Boolean;
     FIgnoreMissingTextures: Boolean;
     FIgnoreMissingTextures: Boolean;
     FAutoCentering: TGLMeshAutoCenterings;
     FAutoCentering: TGLMeshAutoCenterings;
-    FAutoScaling: TgCoordinates;
+    FAutoScaling: TGLCoordinates;
     FMaterialLibraryCachesPrepared: Boolean;
     FMaterialLibraryCachesPrepared: Boolean;
     FConnectivity: TObject;
     FConnectivity: TObject;
     FLastLoadedFilename: string;
     FLastLoadedFilename: string;
@@ -904,7 +904,7 @@ type
     procedure SetLightmapLibrary(const val: TGLMaterialLibrary);
     procedure SetLightmapLibrary(const val: TGLMaterialLibrary);
     procedure SetNormalsOrientation(const val: TGLMeshNormalsOrientation);
     procedure SetNormalsOrientation(const val: TGLMeshNormalsOrientation);
     procedure SetOverlaySkeleton(const val: Boolean);
     procedure SetOverlaySkeleton(const val: Boolean);
-    procedure SetAutoScaling(const Value: TgCoordinates);
+    procedure SetAutoScaling(const Value: TGLCoordinates);
     procedure DestroyHandle; override;
     procedure DestroyHandle; override;
     (* Invoked after creating a TGLVectorFile and before loading.
     (* Invoked after creating a TGLVectorFile and before loading.
       Triggered by LoadFromFile/Stream and AddDataFromFile/Stream.
       Triggered by LoadFromFile/Stream and AddDataFromFile/Stream.
@@ -1002,7 +1002,7 @@ type
       no effect on already loaded mesh data or when adding from a file/stream.
       no effect on already loaded mesh data or when adding from a file/stream.
       If you want to alter mesh data, use direct manipulation methods
       If you want to alter mesh data, use direct manipulation methods
       (on the TMeshObjects). *)
       (on the TMeshObjects). *)
-    property AutoScaling: TgCoordinates read FAutoScaling write FAutoScaling;
+    property AutoScaling: TGLCoordinates read FAutoScaling write FAutoScaling;
     (* Material library where mesh materials will be stored/retrieved.
     (* Material library where mesh materials will be stored/retrieved.
       If this property is not defined or if UseMeshMaterials is false,
       If this property is not defined or if UseMeshMaterials is false,
       only the FreeForm's material will be used (and the mesh's materials
       only the FreeForm's material will be used (and the mesh's materials
@@ -2910,7 +2910,7 @@ begin
   FMode := momTriangles;
   FMode := momTriangles;
   FTexCoords := TGLAffineVectorList.Create;
   FTexCoords := TGLAffineVectorList.Create;
   FLightMapTexCoords := TGLAffineVectorList.Create;
   FLightMapTexCoords := TGLAffineVectorList.Create;
-  FColors := TGVectorList.Create;
+  FColors := TGLVectorList.Create;
   FFaceGroups := TGLFaceGroups.CreateOwned(Self);
   FFaceGroups := TGLFaceGroups.CreateOwned(Self);
   FTexCoordsEx := TList.Create;
   FTexCoordsEx := TList.Create;
   FTangentsTexCoordIndex := 1;
   FTangentsTexCoordIndex := 1;
@@ -2936,7 +2936,7 @@ begin
   FTexCoords.Free;
   FTexCoords.Free;
   FLightMapTexCoords.Free;
   FLightMapTexCoords.Free;
   for i := 0 to FTexCoordsEx.Count - 1 do
   for i := 0 to FTexCoordsEx.Count - 1 do
-    TGVectorList(FTexCoordsEx[i]).Free;
+    TGLVectorList(FTexCoordsEx[i]).Free;
   FTexCoordsEx.Free;
   FTexCoordsEx.Free;
   if Assigned(FOwner) then
   if Assigned(FOwner) then
     FOwner.Remove(Self);
     FOwner.Remove(Self);
@@ -2962,15 +2962,15 @@ begin
 
 
     // Clear FTexCoordsEx.
     // Clear FTexCoordsEx.
     for I := 0 to FTexCoordsEx.Count - 1 do
     for I := 0 to FTexCoordsEx.Count - 1 do
-      TGVectorList(FTexCoordsEx[I]).Free;
+      TGLVectorList(FTexCoordsEx[I]).Free;
 
 
     FTexCoordsEx.Count := TGLMeshObject(Source).FTexCoordsEx.Count;
     FTexCoordsEx.Count := TGLMeshObject(Source).FTexCoordsEx.Count;
 
 
     // Fill FTexCoordsEx.
     // Fill FTexCoordsEx.
     for I := 0 to FTexCoordsEx.Count - 1 do
     for I := 0 to FTexCoordsEx.Count - 1 do
     begin
     begin
-      FTexCoordsEx[I] := TGVectorList.Create;
-      TGVectorList(FTexCoordsEx[I]).Assign(TGLMeshObject(Source).FTexCoordsEx[I]);
+      FTexCoordsEx[I] := TGLVectorList.Create;
+      TGLVectorList(FTexCoordsEx[I]).Assign(TGLMeshObject(Source).FTexCoordsEx[I]);
     end;
     end;
   end;
   end;
 end;
 end;
@@ -3197,32 +3197,32 @@ begin
   FLightMapTexCoords.Assign(val);
   FLightMapTexCoords.Assign(val);
 end;
 end;
 
 
-procedure TGLMeshObject.SetColors(const val: TGVectorList);
+procedure TGLMeshObject.SetColors(const val: TGLVectorList);
 begin
 begin
   FColors.Assign(val);
   FColors.Assign(val);
 end;
 end;
 
 
-procedure TGLMeshObject.SetTexCoordsEx(Index: Integer; const val: TGVectorList);
+procedure TGLMeshObject.SetTexCoordsEx(Index: Integer; const val: TGLVectorList);
 begin
 begin
   TexCoordsEx[index].Assign(val);
   TexCoordsEx[index].Assign(val);
 end;
 end;
 
 
-function TGLMeshObject.GetTexCoordsEx(Index: Integer): TGVectorList;
+function TGLMeshObject.GetTexCoordsEx(Index: Integer): TGLVectorList;
 var
 var
   i: Integer;
   i: Integer;
 begin
 begin
   if index > FTexCoordsEx.Count - 1 then
   if index > FTexCoordsEx.Count - 1 then
     for i := FTexCoordsEx.Count - 1 to index do
     for i := FTexCoordsEx.Count - 1 to index do
-      FTexCoordsEx.Add(TGVectorList.Create);
-  Result := TGVectorList(FTexCoordsEx[index]);
+      FTexCoordsEx.Add(TGLVectorList.Create);
+  Result := TGLVectorList(FTexCoordsEx[index]);
 end;
 end;
 
 
-procedure TGLMeshObject.SetBinormals(const val: TGVectorList);
+procedure TGLMeshObject.SetBinormals(const val: TGLVectorList);
 begin
 begin
   Binormals.Assign(val);
   Binormals.Assign(val);
 end;
 end;
 
 
-function TGLMeshObject.GetBinormals: TGVectorList;
+function TGLMeshObject.GetBinormals: TGLVectorList;
 begin
 begin
   Result := TexCoordsEx[BinormalsTexCoordIndex];
   Result := TexCoordsEx[BinormalsTexCoordIndex];
 end;
 end;
@@ -3236,12 +3236,12 @@ begin
   end;
   end;
 end;
 end;
 
 
-procedure TGLMeshObject.SetTangents(const val: TGVectorList);
+procedure TGLMeshObject.SetTangents(const val: TGLVectorList);
 begin
 begin
   Tangents.Assign(val);
   Tangents.Assign(val);
 end;
 end;
 
 
-function TGLMeshObject.GetTangents: TGVectorList;
+function TGLMeshObject.GetTangents: TGLVectorList;
 begin
 begin
   Result := TexCoordsEx[TangentsTexCoordIndex];
   Result := TexCoordsEx[TangentsTexCoordIndex];
 end;
 end;
@@ -3331,7 +3331,7 @@ begin
   end;
   end;
 end;
 end;
 
 
-procedure TGLMeshObject.GetTriangleData(tri: Integer; list: TGVectorList; var v0, v1, v2: TGLVector);
+procedure TGLMeshObject.GetTriangleData(tri: Integer; list: TGLVectorList; var v0, v1, v2: TGLVector);
 var
 var
   i, LastCount, Count: Integer;
   i, LastCount, Count: Integer;
   fg: TFGVertexIndexList;
   fg: TFGVertexIndexList;
@@ -3483,7 +3483,7 @@ begin
   end;
   end;
 end;
 end;
 
 
-procedure TGLMeshObject.SetTriangleData(tri: Integer; list: TGVectorList; const v0, v1, v2: TGLVector);
+procedure TGLMeshObject.SetTriangleData(tri: Integer; list: TGLVectorList; const v0, v1, v2: TGLVector);
 var
 var
   i, LastCount, Count: Integer;
   i, LastCount, Count: Integer;
   fg: TFGVertexIndexList;
   fg: TFGVertexIndexList;
@@ -5940,7 +5940,7 @@ begin
   FAutoCentering := [];
   FAutoCentering := [];
   FAxisAlignedDimensionsCache.X := -1;
   FAxisAlignedDimensionsCache.X := -1;
   FBaryCenterOffsetChanged := True;
   FBaryCenterOffsetChanged := True;
-  FAutoScaling := TgCoordinates.CreateInitialized(Self, XYZWHmgVector, csPoint);
+  FAutoScaling := TGLCoordinates.CreateInitialized(Self, XYZWHmgVector, csPoint);
 end;
 end;
 
 
 destructor TGLBaseMesh.Destroy;
 destructor TGLBaseMesh.Destroy;
@@ -6190,7 +6190,7 @@ begin
   end;
   end;
 end;
 end;
 
 
-procedure TGLBaseMesh.SetAutoScaling(const Value: TgCoordinates);
+procedure TGLBaseMesh.SetAutoScaling(const Value: TGLCoordinates);
 begin
 begin
   FAutoScaling.SetPoint(Value.DirectX, Value.DirectY, Value.DirectZ);
   FAutoScaling.SetPoint(Value.DirectX, Value.DirectY, Value.DirectZ);
 end;
 end;

+ 27 - 27
Source/GLS.VectorLists.pas

@@ -5,7 +5,7 @@ unit GLS.VectorLists;
 (*
 (*
   Misc. lists of vectors and entities
   Misc. lists of vectors and entities
   The registered classes are:
   The registered classes are:
-    [TGLAffineVectorList, TGVectorList, TGTexPointList,
+    [TGLAffineVectorList, TGLVectorList, TGTexPointList,
      TGSingleList, TGDoubleList, TG4ByteList, TGLongWordList]
      TGSingleList, TGDoubleList, TG4ByteList, TGLongWordList]
 *)
 *)
 interface
 interface
@@ -177,7 +177,7 @@ type
   (* A list of TGLVectors.
   (* A list of TGLVectors.
    Similar to TList, but using TGLVector as items.
    Similar to TList, but using TGLVector as items.
    The list has stack-like push/pop methods *)
    The list has stack-like push/pop methods *)
-  TGVectorList = class(TGLBaseVectorList)
+  TGLVectorList = class(TGLBaseVectorList)
   private
   private
     FList: PVectorArray;
     FList: PVectorArray;
   protected
   protected
@@ -1538,29 +1538,29 @@ begin
 end;
 end;
 
 
 // ------------------
 // ------------------
-// ------------------ TGVectorList ------------------
+// ------------------ TGLVectorList ------------------
 // ------------------
 // ------------------
 
 
-constructor TGVectorList.Create;
+constructor TGLVectorList.Create;
 begin
 begin
   FItemSize := SizeOf(TGLVector);
   FItemSize := SizeOf(TGLVector);
   inherited Create;
   inherited Create;
   FGrowthDelta := cDefaultListGrowthDelta;
   FGrowthDelta := cDefaultListGrowthDelta;
 end;
 end;
 
 
-procedure TGVectorList.Assign(Src: TPersistent);
+procedure TGLVectorList.Assign(Src: TPersistent);
 begin
 begin
   if Assigned(Src) then
   if Assigned(Src) then
   begin
   begin
     inherited;
     inherited;
-    if (Src is TGVectorList) then
-      System.Move(TGVectorList(Src).FList^, FList^, FCount * SizeOf(TGLVector));
+    if (Src is TGLVectorList) then
+      System.Move(TGLVectorList(Src).FList^, FList^, FCount * SizeOf(TGLVector));
   end
   end
   else
   else
     Clear;
     Clear;
 end;
 end;
 
 
-function TGVectorList.Add(const item: TGLVector): Integer;
+function TGLVectorList.Add(const item: TGLVector): Integer;
 begin
 begin
   Result := FCount;
   Result := FCount;
   if Result = FCapacity then
   if Result = FCapacity then
@@ -1569,17 +1569,17 @@ begin
   Inc(FCount);
   Inc(FCount);
 end;
 end;
 
 
-function TGVectorList.Add(const item: TAffineVector; w: Single): Integer;
+function TGLVectorList.Add(const item: TAffineVector; w: Single): Integer;
 begin
 begin
   Result := Add(VectorMake(item, w));
   Result := Add(VectorMake(item, w));
 end;
 end;
 
 
-function TGVectorList.Add(const X, Y, Z, w: Single): Integer;
+function TGLVectorList.Add(const X, Y, Z, w: Single): Integer;
 begin
 begin
   Result := Add(VectorMake(X, Y, Z, w));
   Result := Add(VectorMake(X, Y, Z, w));
 end;
 end;
 
 
-procedure TGVectorList.Add(const i1, i2, i3: TAffineVector; w: Single);
+procedure TGLVectorList.Add(const i1, i2, i3: TAffineVector; w: Single);
 begin
 begin
   Inc(FCount, 3);
   Inc(FCount, 3);
   while FCount > FCapacity do
   while FCount > FCapacity do
@@ -1592,22 +1592,22 @@ begin
   FList^[FCount - 1].W := w;
   FList^[FCount - 1].W := w;
 end;
 end;
 
 
-function TGVectorList.AddVector(const item: TAffineVector): Integer;
+function TGLVectorList.AddVector(const item: TAffineVector): Integer;
 begin
 begin
   Result := Add(VectorMake(item));
   Result := Add(VectorMake(item));
 end;
 end;
 
 
-function TGVectorList.AddPoint(const item: TAffineVector): Integer;
+function TGLVectorList.AddPoint(const item: TAffineVector): Integer;
 begin
 begin
   Result := Add(PointMake(item));
   Result := Add(PointMake(item));
 end;
 end;
 
 
-function TGVectorList.AddPoint(const X, Y: Single; const Z: Single = 0): Integer;
+function TGLVectorList.AddPoint(const X, Y: Single; const Z: Single = 0): Integer;
 begin
 begin
   Result := Add(PointMake(X, Y, Z));
   Result := Add(PointMake(X, Y, Z));
 end;
 end;
 
 
-function TGVectorList.Get(Index: Integer): TGLVector;
+function TGLVectorList.Get(Index: Integer): TGLVector;
 begin
 begin
 {$IFOPT R+}
 {$IFOPT R+}
     Assert(Cardinal(Index) < Cardinal(FCount));
     Assert(Cardinal(Index) < Cardinal(FCount));
@@ -1615,7 +1615,7 @@ begin
   Result := FList^[Index];
   Result := FList^[Index];
 end;
 end;
 
 
-procedure TGVectorList.Insert(Index: Integer; const Item: TGLVector);
+procedure TGLVectorList.Insert(Index: Integer; const Item: TGLVector);
 begin
 begin
 {$IFOPT R+}
 {$IFOPT R+}
     Assert(Cardinal(Index) < Cardinal(FCount));
     Assert(Cardinal(Index) < Cardinal(FCount));
@@ -1629,7 +1629,7 @@ begin
   Inc(FCount);
   Inc(FCount);
 end;
 end;
 
 
-procedure TGVectorList.Put(Index: Integer; const Item: TGLVector);
+procedure TGLVectorList.Put(Index: Integer; const Item: TGLVector);
 begin
 begin
 {$IFOPT R+}
 {$IFOPT R+}
     Assert(Cardinal(Index) < Cardinal(FCount));
     Assert(Cardinal(Index) < Cardinal(FCount));
@@ -1637,18 +1637,18 @@ begin
   FList^[Index] := Item;
   FList^[Index] := Item;
 end;
 end;
 
 
-procedure TGVectorList.SetCapacity(NewCapacity: Integer);
+procedure TGLVectorList.SetCapacity(NewCapacity: Integer);
 begin
 begin
   inherited;
   inherited;
   FList := PVectorArray(FBaseList);
   FList := PVectorArray(FBaseList);
 end;
 end;
 
 
-procedure TGVectorList.Push(const Val: TGLVector);
+procedure TGLVectorList.Push(const Val: TGLVector);
 begin
 begin
   Add(Val);
   Add(Val);
 end;
 end;
 
 
-function TGVectorList.Pop: TGLVector;
+function TGLVectorList.Pop: TGLVector;
 begin
 begin
   if FCount > 0 then
   if FCount > 0 then
   begin
   begin
@@ -1659,7 +1659,7 @@ begin
     Result := NullHmgVector;
     Result := NullHmgVector;
 end;
 end;
 
 
-function TGVectorList.IndexOf(const item: TGLVector): Integer;
+function TGLVectorList.IndexOf(const item: TGLVector): Integer;
 var
 var
   I: Integer;
   I: Integer;
 begin
 begin
@@ -1672,14 +1672,14 @@ begin
     end;
     end;
 end;
 end;
 
 
-function TGVectorList.FindOrAdd(const item: TGLVector): Integer;
+function TGLVectorList.FindOrAdd(const item: TGLVector): Integer;
 begin
 begin
   Result := IndexOf(item);
   Result := IndexOf(item);
   if Result < 0 then
   if Result < 0 then
     Result := Add(item);
     Result := Add(item);
 end;
 end;
 
 
-function TGVectorList.FindOrAddPoint(const item: TAffineVector): Integer;
+function TGLVectorList.FindOrAddPoint(const item: TAffineVector): Integer;
 var
 var
   ptItem: TGLVector;
   ptItem: TGLVector;
 begin
 begin
@@ -1689,14 +1689,14 @@ begin
     Result := Add(ptItem);
     Result := Add(ptItem);
 end;
 end;
 
 
-procedure TGVectorList.Lerp(const list1, list2: TGLBaseVectorList; lerpFactor: Single);
+procedure TGLVectorList.Lerp(const list1, list2: TGLBaseVectorList; lerpFactor: Single);
 begin
 begin
-  if (list1 is TGVectorList) and (list2 is TGVectorList) then
+  if (list1 is TGLVectorList) and (list2 is TGLVectorList) then
   begin
   begin
     Assert(list1.Count = list2.Count);
     Assert(list1.Count = list2.Count);
     Capacity := list1.Count;
     Capacity := list1.Count;
     FCount := list1.Count;
     FCount := list1.Count;
-    VectorArrayLerp(TGVectorList(list1).List, TGVectorList(list2).List,
+    VectorArrayLerp(TGLVectorList(list1).List, TGLVectorList(list2).List,
       lerpFactor, FCount, List);
       lerpFactor, FCount, List);
   end;
   end;
 end;
 end;
@@ -3387,7 +3387,7 @@ end;
 initialization
 initialization
 // ------------------------------------------------------------------
 // ------------------------------------------------------------------
 
 
-  RegisterClasses([TGLAffineVectorList, TGVectorList, TGTexPointList, TGSingleList,
+  RegisterClasses([TGLAffineVectorList, TGLVectorList, TGTexPointList, TGSingleList,
                    TGDoubleList, TG4ByteList, TGLongWordList]);
                    TGDoubleList, TG4ByteList, TGLongWordList]);
 
 
 end.
 end.

+ 15 - 15
Source/GLSL.ShapeShaders.pas

@@ -323,7 +323,7 @@ type
     FRandomFurLength : Boolean;
     FRandomFurLength : Boolean;
     FColorScale: TGColor;
     FColorScale: TGColor;
     FAmbient: TGColor;
     FAmbient: TGColor;
-    FGravity : TgCoordinates;
+    FGravity : TGLCoordinates;
     FLightIntensity : Single;
     FLightIntensity : Single;
     FMainTex  : TGLTexture;
     FMainTex  : TGLTexture;
     FNoiseTex : TGLTexture;
     FNoiseTex : TGLTexture;
@@ -339,7 +339,7 @@ type
     procedure SetNoiseTexName(const Value: TGLLibMaterialName);
     procedure SetNoiseTexName(const Value: TGLLibMaterialName);
     function GetMainTexName: TGLLibMaterialName;
     function GetMainTexName: TGLLibMaterialName;
     procedure SetMainTexName(const Value: TGLLibMaterialName);
     procedure SetMainTexName(const Value: TGLLibMaterialName);
-    procedure SetGravity(APosition:TgCoordinates);
+    procedure SetGravity(APosition:TGLCoordinates);
     procedure SetAmbient(AValue: TGColor);
     procedure SetAmbient(AValue: TGColor);
     procedure SetColorScale(AValue: TGColor);
     procedure SetColorScale(AValue: TGColor);
   protected
   protected
@@ -366,7 +366,7 @@ type
     //property BlendEquation : TBlendEquation read FBlendEquation write FBlendEquation default beMin;
     //property BlendEquation : TBlendEquation read FBlendEquation write FBlendEquation default beMin;
     property BlendSrc  : TGLBlendFunction read FBlendSrc write FBlendSrc default bfSrcColor;
     property BlendSrc  : TGLBlendFunction read FBlendSrc write FBlendSrc default bfSrcColor;
     property BlendDst  : TGLBlendFunction read FBlendDst write FBlendDst default bfOneMinusDstColor;
     property BlendDst  : TGLBlendFunction read FBlendDst write FBlendDst default bfOneMinusDstColor;
-    property Gravity : TgCoordinates Read FGravity write setGravity;
+    property Gravity : TGLCoordinates Read FGravity write setGravity;
     property LightIntensity : Single read FLightIntensity Write FLightIntensity;
     property LightIntensity : Single read FLightIntensity Write FLightIntensity;
   end;
   end;
 
 
@@ -412,18 +412,18 @@ type
   (* Custom class for a shader that simulate Lattice *)
   (* Custom class for a shader that simulate Lattice *)
   TGLCustomGLSLSimpleLatticeShader = class(TGLCustomGLSLShader)
   TGLCustomGLSLSimpleLatticeShader = class(TGLCustomGLSLShader)
   private
   private
-    FLatticeScale: TgCoordinates2;
-    FLatticeThreshold: TgCoordinates2;
-    procedure SetLatticeScale(const Value: TgCoordinates2);
-    procedure SetLatticeThreshold(const Value: TgCoordinates2);
+    FLatticeScale: TGLCoordinates2;
+    FLatticeThreshold: TGLCoordinates2;
+    procedure SetLatticeScale(const Value: TGLCoordinates2);
+    procedure SetLatticeThreshold(const Value: TGLCoordinates2);
   protected
   protected
     procedure DoApply(var rci : TGLRenderContextInfo; Sender : TObject); override;
     procedure DoApply(var rci : TGLRenderContextInfo; Sender : TObject); override;
     function DoUnApply(var rci: TGLRenderContextInfo): Boolean; override;
     function DoUnApply(var rci: TGLRenderContextInfo): Boolean; override;
   public
   public
     constructor Create(AOwner : TComponent); override;
     constructor Create(AOwner : TComponent); override;
     destructor Destroy; override;
     destructor Destroy; override;
-    property LatticeScale: TgCoordinates2 read FLatticeScale write SetLatticeScale;
-    property LatticeThreshold: TgCoordinates2 read FLatticeThreshold write SetLatticeThreshold;
+    property LatticeScale: TGLCoordinates2 read FLatticeScale write SetLatticeScale;
+    property LatticeThreshold: TGLCoordinates2 read FLatticeThreshold write SetLatticeThreshold;
   end;
   end;
 
 
 (* Custom class for GLSLLatticeShader.
 (* Custom class for GLSLLatticeShader.
@@ -1768,7 +1768,7 @@ begin
   // The Blend Funcs are very important for realistic fur rendering it can vary follow your textures
   // The Blend Funcs are very important for realistic fur rendering it can vary follow your textures
   FBlendSrc := bfOneMinusSrcColor;
   FBlendSrc := bfOneMinusSrcColor;
   FBlendDst := bfOneMinusSrcAlpha;
   FBlendDst := bfOneMinusSrcAlpha;
-  FGravity := TgCoordinates.Create(self);
+  FGravity := TGLCoordinates.Create(self);
   FGravity.AsAffineVector := AffinevectorMake(0.0,0.0,0.0);
   FGravity.AsAffineVector := AffinevectorMake(0.0,0.0,0.0);
   FLightIntensity := 2.5;
   FLightIntensity := 2.5;
 end;
 end;
@@ -1937,7 +1937,7 @@ begin
         end;
         end;
   end;
   end;
 
 
-  procedure TGLCustomGLSLFurShader.SetGravity(APosition: TgCoordinates);
+  procedure TGLCustomGLSLFurShader.SetGravity(APosition: TGLCoordinates);
   begin
   begin
     FGravity.SetPoint(APosition.DirectX, APosition.DirectY, APosition.DirectZ);
     FGravity.SetPoint(APosition.DirectX, APosition.DirectY, APosition.DirectZ);
   end;
   end;
@@ -2043,8 +2043,8 @@ begin
       Add('} ');
       Add('} ');
     end;
     end;
     // Initial stuff.
     // Initial stuff.
-    FLatticeScale := TgCoordinates2.Create(self);
-    FLatticeThreshold := TgCoordinates2.Create(self);
+    FLatticeScale := TGLCoordinates2.Create(self);
+    FLatticeThreshold := TGLCoordinates2.Create(self);
 
 
     FLatticeScale.SetPoint2D(10, 40);
     FLatticeScale.SetPoint2D(10, 40);
     FLatticeThreshold.SetPoint2D(0.15, 0.3);
     FLatticeThreshold.SetPoint2D(0.15, 0.3);
@@ -2074,13 +2074,13 @@ begin
   end;
   end;
 
 
   procedure TGLCustomGLSLSimpleLatticeShader.SetLatticeScale
   procedure TGLCustomGLSLSimpleLatticeShader.SetLatticeScale
-    (const Value: TgCoordinates2);
+    (const Value: TGLCoordinates2);
   begin
   begin
     FLatticeScale.Assign(Value);
     FLatticeScale.Assign(Value);
   end;
   end;
 
 
   procedure TGLCustomGLSLSimpleLatticeShader.SetLatticeThreshold
   procedure TGLCustomGLSLSimpleLatticeShader.SetLatticeThreshold
-    (const Value: TgCoordinates2);
+    (const Value: TGLCoordinates2);
   begin
   begin
     FLatticeThreshold.Assign(Value);
     FLatticeThreshold.Assign(Value);
   end;
   end;

+ 10 - 10
Source/GLSL.TextureShaders.pas

@@ -49,8 +49,8 @@ type
     FNeedToUpdateTextureMatrix: Boolean;
     FNeedToUpdateTextureMatrix: Boolean;
     FTextureMatrixIsUnitary: Boolean;
     FTextureMatrixIsUnitary: Boolean;
     FLibMaterial: TGLLibMaterial;
     FLibMaterial: TGLLibMaterial;
-    FTexOffset: TgCoordinates2;
-    FTexScale: TgCoordinates2;
+    FTexOffset: TGLCoordinates2;
+    FTexScale: TGLCoordinates2;
     FBlendingMode: TGLBlendingMode;
     FBlendingMode: TGLBlendingMode;
     FSpecular: TGColor;
     FSpecular: TGColor;
     FAmbient: TGColor;
     FAmbient: TGColor;
@@ -68,8 +68,8 @@ type
     procedure SetLibMaterialName(const Value: TGLLibMaterialName);
     procedure SetLibMaterialName(const Value: TGLLibMaterialName);
     procedure SetBlendingMode(const Value: TGLBlendingMode);
     procedure SetBlendingMode(const Value: TGLBlendingMode);
     procedure SetLibMaterial(const Value: TGLLibMaterial);
     procedure SetLibMaterial(const Value: TGLLibMaterial);
-    procedure SetTexOffset(const Value: TgCoordinates2);
-    procedure SetTexScale(const Value: TgCoordinates2);
+    procedure SetTexOffset(const Value: TGLCoordinates2);
+    procedure SetTexScale(const Value: TGLCoordinates2);
     function GetTextureMatrix: TGLMatrix;
     function GetTextureMatrix: TGLMatrix;
     function GetTextureMatrixIsUnitary: Boolean;
     function GetTextureMatrixIsUnitary: Boolean;
   protected
   protected
@@ -88,8 +88,8 @@ type
     property TextureMatrix: TGLMatrix read GetTextureMatrix;
     property TextureMatrix: TGLMatrix read GetTextureMatrix;
     property TextureMatrixIsUnitary: Boolean read GetTextureMatrixIsUnitary;
     property TextureMatrixIsUnitary: Boolean read GetTextureMatrixIsUnitary;
   published
   published
-    property TexOffset: TgCoordinates2 read FTexOffset write SetTexOffset;
-    property TexScale: TgCoordinates2 read FTexScale write SetTexScale;
+    property TexOffset: TGLCoordinates2 read FTexOffset write SetTexOffset;
+    property TexScale: TGLCoordinates2 read FTexScale write SetTexScale;
     property BlendingMode: TGLBlendingMode read FBlendingMode write SetBlendingMode;
     property BlendingMode: TGLBlendingMode read FBlendingMode write SetBlendingMode;
     property Emission: TGColor read FEmission write SetEmission;
     property Emission: TGColor read FEmission write SetEmission;
     property Ambient: TGColor read FAmbient write SetAmbient;
     property Ambient: TGColor read FAmbient write SetAmbient;
@@ -340,10 +340,10 @@ begin
   FEmission := TGColor.Create(Self);
   FEmission := TGColor.Create(Self);
   FEmission.OnNotifyChange := OtherNotifychange;
   FEmission.OnNotifyChange := OtherNotifychange;
 
 
-  FTexOffset := TgCoordinates2.CreateInitialized(Self, NullHmgVector, csPoint2d);
+  FTexOffset := TGLCoordinates2.CreateInitialized(Self, NullHmgVector, csPoint2d);
   FTexOffset.OnNotifyChange := coordNotifychange;
   FTexOffset.OnNotifyChange := coordNotifychange;
 
 
-  FTexScale := TgCoordinates2.CreateInitialized(Self, XYZHmgVector, csPoint2d);
+  FTexScale := TGLCoordinates2.CreateInitialized(Self, XYZHmgVector, csPoint2d);
   FTexScale.OnNotifyChange := coordNotifychange;
   FTexScale.OnNotifyChange := coordNotifychange;
   FNeedToUpdateTextureMatrix := True;
   FNeedToUpdateTextureMatrix := True;
 end;
 end;
@@ -482,13 +482,13 @@ begin
   FSpecular.Assign(Value);
   FSpecular.Assign(Value);
 end;
 end;
 
 
-procedure TGLTextureSharingShaderMaterial.SetTexOffset(const Value: TgCoordinates2);
+procedure TGLTextureSharingShaderMaterial.SetTexOffset(const Value: TGLCoordinates2);
 begin
 begin
   FTexOffset.Assign(Value);
   FTexOffset.Assign(Value);
   FNeedToUpdateTextureMatrix := True;
   FNeedToUpdateTextureMatrix := True;
 end;
 end;
 
 
-procedure TGLTextureSharingShaderMaterial.SetTexScale(const Value: TgCoordinates2);
+procedure TGLTextureSharingShaderMaterial.SetTexScale(const Value: TGLCoordinates2);
 begin
 begin
   FTexScale.Assign(Value);
   FTexScale.Assign(Value);
   FNeedToUpdateTextureMatrix := True;
   FNeedToUpdateTextureMatrix := True;

+ 1 - 0
Source/GLScene.AnimationUtils.pas

@@ -13,6 +13,7 @@ uses
   System.SysUtils,
   System.SysUtils,
   System.Classes,
   System.Classes,
   System.Math,
   System.Math,
+
   GLScene.VectorTypes,
   GLScene.VectorTypes,
   GLScene.VectorGeometry;
   GLScene.VectorGeometry;
 
 

+ 3 - 3
Sourcex/FMxInfo.fmx

@@ -840,7 +840,7 @@ object InfoForm: TInfoForm
         Size.PlatformDefault = False
         Size.PlatformDefault = False
         TabOrder = 0
         TabOrder = 0
         Viewport.Width = 520.000000000000000000
         Viewport.Width = 520.000000000000000000
-        Viewport.Height = 352.000000000000000000
+        Viewport.Height = 336.000000000000000000
       end
       end
     end
     end
     object TabItemAbout: TTabItem
     object TabItemAbout: TTabItem
@@ -884,8 +884,8 @@ object InfoForm: TInfoForm
         Size.Height = 233.000000000000000000
         Size.Height = 233.000000000000000000
         Size.PlatformDefault = False
         Size.PlatformDefault = False
         TabOrder = 0
         TabOrder = 0
-        Viewport.Width = 536.000000000000000000
-        Viewport.Height = 229.000000000000000000
+        Viewport.Width = 540.000000000000000000
+        Viewport.Height = 233.000000000000000000
       end
       end
       object LabelOfficial: TLabel
       object LabelOfficial: TLabel
         AutoSize = True
         AutoSize = True

+ 921 - 0
Sourcex/Formatx.VRML.pas

@@ -0,0 +1,921 @@
+//
+// The unit is part of the GLScene Engine, http://glscene.org
+//
+unit Formatx.VRML;
+
+(*  VRML file format parser. *)
+
+interface
+
+{$I GLScene.Defines.inc}
+
+uses
+  System.Classes,
+  System.SysUtils,
+  System.Types,
+
+  GLScene.VectorGeometry,
+  GLScene.VectorTypes,
+  GXS.VectorLists,
+  GLScene.Utils;
+
+type
+  TVRMLNode = class
+  private
+    FNodes: TList;
+    FParent: TVRMLNode;
+    FName, FDefName: String;
+    function GetNode(index: Integer): TVRMLNode;
+  public
+    constructor Create; virtual;
+    constructor CreateOwned(AParent: TVRMLNode);
+    destructor Destroy; override;
+    function Count: Integer;
+    procedure Clear;
+    procedure Add(node: TVRMLNode);
+    procedure Remove(node: TVRMLNode);
+    procedure Delete(index: Integer);
+    property Nodes[index: Integer]: TVRMLNode read GetNode; default;
+    property Parent: TVRMLNode read FParent;
+    property Name: String read FName write FName;
+    property DefName: String read FDefName write FDefName;
+  end;
+
+  TVRMLSingleArray = class(TVRMLNode)
+  private
+    FValues: TgxSingleList;
+  public
+    constructor Create; override;
+    destructor Destroy; override;
+    property Values: TgxSingleList read FValues;
+  end;
+
+  TVRMLIntegerArray = class(TVRMLNode)
+  private
+    FValues: TgxIntegerList;
+  public
+    constructor Create; override;
+    destructor Destroy; override;
+    property Values: TgxIntegerList read FValues;
+  end;
+
+  TVRMLMaterial = class(TVRMLNode)
+  private
+    FDiffuseColor, FAmbientColor, FSpecularColor, FEmissiveColor: TVector3f;
+    FTransparency, FShininess: Single;
+    FHasDiffuse, FHasAmbient, FHasSpecular, FHasEmissive, FHasTransparency,
+      FHasShininess: Boolean;
+  public
+    constructor Create; override;
+    property DiffuseColor: TVector3f read FDiffuseColor write FDiffuseColor;
+    property AmbientColor: TVector3f read FAmbientColor write FAmbientColor;
+    property SpecularColor: TVector3f read FSpecularColor write FSpecularColor;
+    property EmissiveColor: TVector3f read FEmissiveColor write FEmissiveColor;
+    property Transparency: Single read FTransparency write FTransparency;
+    property Shininess: Single read FShininess write FShininess;
+    property HasDiffuse: Boolean read FHasDiffuse write FHasDiffuse;
+    property HasAmbient: Boolean read FHasAmbient write FHasAmbient;
+    property HasSpecular: Boolean read FHasSpecular write FHasSpecular;
+    property HasEmissive: Boolean read FHasEmissive write FHasEmissive;
+    property HasTransparency: Boolean read FHasTransparency
+      write FHasTransparency;
+    property HasShininess: Boolean read FHasShininess write FHasShininess;
+  end;
+
+  TVRMLUse = class(TVRMLNode)
+  private
+    FValue: String;
+  public
+    property Value: String read FValue write FValue;
+  end;
+
+  TVRMLShapeHints = class(TVRMLNode)
+  private
+    FCreaseAngle: Single;
+  public
+    property CreaseAngle: Single read FCreaseAngle write FCreaseAngle;
+  end;
+
+  TVRMLTransform = class(TVRMLNode)
+  private
+    FCenter: TVector3f;
+    FRotation: TVector4f;
+    FScaleFactor: TVector3f;
+  public
+    constructor Create; override;
+    property Center: TVector3f read FCenter write FCenter;
+    property Rotation: TVector4f read FRotation write FRotation;
+    property ScaleFactor: TVector3f read FScaleFactor write FScaleFactor;
+  end;
+
+  TVRMLParser = class
+  private
+    FCursor: Integer;
+    FTokens: TStringList;
+    FRootNode: TVRMLNode;
+    FCurrentNode: TVRMLNode;
+    FAllowUnknownNodes: Boolean;
+    FDefines: TList;
+  protected
+    function ReadToken: String;
+    function ReadSingle: Single;
+    function ReadVector3f: TVector3f;
+    function ReadVector4f: TVector4f;
+    procedure ReadUnknownArray(DefName: String = '');
+    procedure ReadUnknownHeirachy(DefName: String = '');
+    procedure ReadUnknown(unknown_token: String; DefName: String = '');
+    procedure ReadPointArray(DefName: String = '');
+    procedure ReadCoordIndexArray(DefName: String = '');
+    procedure ReadNormalIndexArray(DefName: String = '');
+    procedure ReadTextureCoordIndexArray(DefName: String = '');
+    procedure ReadCoordinate3(DefName: String = '');
+    procedure ReadNormal(DefName: String = '');
+    procedure ReadTextureCoordinate2(DefName: String = '');
+    procedure ReadMaterial(DefName: String = '');
+    procedure ReadIndexedFaceSet(DefName: String = '');
+    procedure ReadTransform(DefName: String = '');
+    procedure ReadShapeHints(DefName: String = '');
+    procedure ReadSeparator(DefName: String = '');
+    procedure ReadGroup(DefName: String = '');
+    procedure ReadDef;
+    procedure ReadUse;
+  public
+    constructor Create;
+    destructor Destroy; override;
+    procedure Parse(Text: String);
+    property RootNode: TVRMLNode read FRootNode;
+    property AllowUnknownNodes: Boolean read FAllowUnknownNodes
+      write FAllowUnknownNodes;
+  end;
+
+implementation // ------------------------------------------------------------
+
+function CreateVRMLTokenList(Text: String): TStringList;
+const
+  cSymbols: array [0 .. 3] of char = ('{', '}', '[', ']');
+var
+  i, j, p: Integer;
+  str, token: String;
+begin
+  Result := TStringList.Create;
+
+  Result.Text := Text;
+  for i := 0 to Result.Count - 1 do
+  begin
+    p := Pos('#', Result[i]);
+    if p > 0 then
+      Result[i] := Copy(Result[i], 1, p - 1);
+  end;
+
+  Result.CommaText := Result.Text;
+  for j := 0 to Length(cSymbols) - 1 do
+  begin
+    i := 0;
+    repeat
+      token := Result[i];
+      p := Pos(cSymbols[j], token);
+      if (p > 0) and (token <> cSymbols[j]) then
+      begin
+        str := Copy(token, p + 1, Length(token) - p);
+
+        if (p = 1) then
+        begin
+          Result.Delete(i);
+          Result.Insert(i, trim(str));
+          Result.Insert(i, cSymbols[j]);
+        end
+        else
+        begin
+          Result.Delete(i);
+          if Length(str) > 0 then
+            Result.Insert(i, trim(str));
+          Result.Insert(i, cSymbols[j]);
+          Result.Insert(i, trim(Copy(token, 1, p - 1)));
+        end;
+      end;
+      Inc(i);
+    until i >= Result.Count - 1;
+  end;
+end;
+
+// ---------------
+// --------------- TVRMLNode ---------------
+// ---------------
+
+constructor TVRMLNode.Create;
+begin
+  FNodes := TList.Create;
+end;
+
+constructor TVRMLNode.CreateOwned(AParent: TVRMLNode);
+begin
+  Create;
+  if Assigned(AParent) then
+    AParent.Add(Self);
+end;
+
+destructor TVRMLNode.Destroy;
+begin
+  Clear;
+  FNodes.Free;
+  inherited;
+end;
+
+function TVRMLNode.GetNode(index: Integer): TVRMLNode;
+begin
+  Result := TVRMLNode(FNodes[index]);
+end;
+
+function TVRMLNode.Count: Integer;
+begin
+  Result := FNodes.Count;
+end;
+
+procedure TVRMLNode.Clear;
+begin
+  while FNodes.Count > 0 do
+    Delete(0);
+end;
+
+procedure TVRMLNode.Add(node: TVRMLNode);
+begin
+  if not Assigned(node) then
+    exit;
+  if Assigned(node.Parent) then
+    node.Parent.FNodes.Remove(node);
+  FNodes.Add(node);
+  node.FParent := Self;
+end;
+
+procedure TVRMLNode.Remove(node: TVRMLNode);
+begin
+  if not Assigned(node) then
+    exit;
+  FNodes.Remove(node);
+  node.Free;
+end;
+
+procedure TVRMLNode.Delete(index: Integer);
+begin
+  if (index < 0) or (index >= Count) then
+    exit;
+  Nodes[index].Free;
+  FNodes.Delete(index);
+end;
+
+
+// ---------------
+// --------------- TVRMLSingleArray ---------------
+// ---------------
+
+constructor TVRMLSingleArray.Create;
+begin
+  inherited;
+  FValues := TgxSingleList.Create;
+end;
+
+destructor TVRMLSingleArray.Destroy;
+begin
+  FValues.Free;
+  inherited;
+end;
+
+
+// ---------------
+// --------------- TVRMLIntegerArray ---------------
+// ---------------
+
+constructor TVRMLIntegerArray.Create;
+begin
+  inherited;
+  FValues := TgxIntegerList.Create;
+end;
+
+destructor TVRMLIntegerArray.Destroy;
+begin
+  FValues.Free;
+  inherited;
+end;
+
+
+// ---------------
+// --------------- TVRMLMaterial ---------------
+// ---------------
+
+constructor TVRMLMaterial.Create;
+begin
+  inherited;
+  // Default shininess value
+  FHasDiffuse := False;
+  FHasAmbient := False;
+  FHasSpecular := False;
+  FHasEmissive := False;
+  FHasTransparency := False;
+  FHasShininess := False;
+end;
+
+
+// ---------------
+// --------------- TVRMLTransform ---------------
+// ---------------
+
+constructor TVRMLTransform.Create;
+begin
+  inherited;
+  FScaleFactor.X := 1;
+  FScaleFactor.Y := 1;
+  FScaleFactor.Z := 1;
+end;
+
+
+// ---------------
+// --------------- TVRMLParser ---------------
+// ---------------
+
+constructor TVRMLParser.Create;
+begin
+  FDefines := TList.Create;
+  FRootNode := TVRMLNode.Create;
+  FRootNode.Name := 'Root';
+  FAllowUnknownNodes := False;
+end;
+
+destructor TVRMLParser.Destroy;
+begin
+  FDefines.Free;
+  FRootNode.Free;
+  inherited;
+end;
+
+function TVRMLParser.ReadToken: String;
+begin
+  if FCursor < FTokens.Count then
+  begin
+    Result := LowerCase(FTokens[FCursor]);
+    Inc(FCursor);
+  end
+  else
+    Result := '';
+end;
+
+procedure TVRMLParser.ReadUnknownArray(DefName: String);
+var
+  token: String;
+begin
+  if AllowUnknownNodes then
+  begin
+    FCurrentNode := TVRMLNode.CreateOwned(FCurrentNode);
+    FCurrentNode.Name := 'Unknown array';
+  end;
+  repeat
+    token := ReadToken;
+    if token = '' then
+      exit;
+  until token = ']';
+  if AllowUnknownNodes then
+    FCurrentNode := FCurrentNode.Parent;
+end;
+
+procedure TVRMLParser.ReadUnknownHeirachy(DefName: String);
+var
+  token: String;
+begin
+  if AllowUnknownNodes then
+  begin
+    FCurrentNode := TVRMLNode.CreateOwned(FCurrentNode);
+    FCurrentNode.Name := 'Unknown hierarchy';
+  end;
+  repeat
+    token := ReadToken;
+    if token = '' then
+      exit
+    else
+      ReadUnknown(token);
+  until token = '}';
+  if AllowUnknownNodes then
+    FCurrentNode := FCurrentNode.Parent;
+end;
+
+procedure TVRMLParser.ReadUnknown(unknown_token: String; DefName: String);
+begin
+  if unknown_token = '{' then
+    ReadUnknownHeirachy
+  else if unknown_token = '[' then
+    ReadUnknownArray
+  else if (unknown_token <> '}') and (unknown_token <> ']') and AllowUnknownNodes
+  then
+  begin
+    TVRMLNode.CreateOwned(FCurrentNode).Name := 'UNKNOWN[' +
+      unknown_token + ']';
+  end;
+end;
+
+function TVRMLParser.ReadSingle: Single;
+begin
+  Result := GLStrToFloatDef(ReadToken, 0);
+end;
+
+function TVRMLParser.ReadVector3f: TVector3f;
+begin
+  Result.X := ReadSingle;
+  Result.Y := ReadSingle;
+  Result.Z := ReadSingle;
+end;
+
+function TVRMLParser.ReadVector4f: TVector4f;
+begin
+  Result.X := ReadSingle;
+  Result.Y := ReadSingle;
+  Result.Z := ReadSingle;
+  Result.W := ReadSingle;
+end;
+
+procedure TVRMLParser.ReadPointArray(DefName: String);
+var
+  token: String;
+begin
+  FCurrentNode := TVRMLSingleArray.CreateOwned(FCurrentNode);
+  FCurrentNode.Name := 'PointArray';
+
+  repeat
+    token := ReadToken;
+    if token = '' then
+      exit;
+  until token = '[';
+
+  repeat
+    token := ReadToken;
+    if token = '' then
+      exit
+    else if token <> ']' then
+      TVRMLSingleArray(FCurrentNode)
+        .Values.Add(GLStrToFloatDef(token, 0));
+  until token = ']';
+
+  FCurrentNode := FCurrentNode.Parent;
+end;
+
+procedure TVRMLParser.ReadCoordIndexArray(DefName: String = '');
+var
+  token: String;
+begin
+  FCurrentNode := TVRMLIntegerArray.CreateOwned(FCurrentNode);
+  FCurrentNode.Name := 'CoordIndexArray';
+  FCurrentNode.DefName := DefName;
+
+  repeat
+    token := ReadToken;
+    if token = '' then
+      exit;
+  until token = '[';
+
+  repeat
+    token := ReadToken;
+    if token = '' then
+      exit
+    else if token <> ']' then
+      TVRMLIntegerArray(FCurrentNode).Values.Add(StrToInt(token));
+  until token = ']';
+
+  FCurrentNode := FCurrentNode.Parent;
+end;
+
+procedure TVRMLParser.ReadNormalIndexArray(DefName: String = '');
+var
+  token: String;
+begin
+  FCurrentNode := TVRMLIntegerArray.CreateOwned(FCurrentNode);
+  FCurrentNode.Name := 'NormalIndexArray';
+  FCurrentNode.DefName := DefName;
+
+  repeat
+    token := ReadToken;
+    if token = '' then
+      exit;
+  until token = '[';
+
+  repeat
+    token := ReadToken;
+    if token = '' then
+      exit
+    else if token <> ']' then
+      TVRMLIntegerArray(FCurrentNode).Values.Add(StrToInt(token));
+  until token = ']';
+
+  FCurrentNode := FCurrentNode.Parent;
+end;
+
+procedure TVRMLParser.ReadTextureCoordIndexArray(DefName: String = '');
+var
+  token: String;
+begin
+  FCurrentNode := TVRMLIntegerArray.CreateOwned(FCurrentNode);
+  FCurrentNode.Name := 'TextureCoordIndexArray';
+  FCurrentNode.DefName := DefName;
+
+  repeat
+    token := ReadToken;
+    if token = '' then
+      exit;
+  until token = '[';
+
+  repeat
+    token := ReadToken;
+    if token = '' then
+      exit
+    else if token <> ']' then
+      TVRMLIntegerArray(FCurrentNode).Values.Add(StrToInt(token));
+  until token = ']';
+
+  FCurrentNode := FCurrentNode.Parent;
+end;
+
+procedure TVRMLParser.ReadMaterial(DefName: String);
+var
+  token: String;
+begin
+  FCurrentNode := TVRMLMaterial.CreateOwned(FCurrentNode);
+  FCurrentNode.Name := 'Material';
+  FCurrentNode.DefName := DefName;
+
+  repeat
+    token := ReadToken;
+    if token = '' then
+      exit;
+  until token = '{';
+
+  with TVRMLMaterial(FCurrentNode) do
+  begin
+    repeat
+      token := ReadToken;
+      if token = '' then
+        exit
+      else if token = 'diffusecolor' then
+      begin
+        DiffuseColor := ReadVector3f;
+        HasDiffuse := True;
+      end
+      else if token = 'ambientcolor' then
+      begin
+        AmbientColor := ReadVector3f;
+        HasAmbient := True;
+      end
+      else if token = 'specularcolor' then
+      begin
+        SpecularColor := ReadVector3f;
+        HasSpecular := True;
+      end
+      else if token = 'emissivecolor' then
+      begin
+        EmissiveColor := ReadVector3f;
+        HasEmissive := True;
+      end
+      else if token = 'transparency' then
+      begin
+        Transparency := ReadSingle;
+        HasTransparency := True;
+      end
+      else if token = 'shininess' then
+      begin
+        Shininess := ReadSingle;
+        HasShininess := True;
+      end
+      else if token <> '}' then
+        ReadUnknown(token);
+    until token = '}';
+  end;
+
+  FCurrentNode := FCurrentNode.Parent;
+end;
+
+procedure TVRMLParser.ReadCoordinate3(DefName: String = '');
+var
+  token: String;
+begin
+  FCurrentNode := TVRMLNode.CreateOwned(FCurrentNode);
+  FCurrentNode.Name := 'Coordinate3';
+  FCurrentNode.DefName := DefName;
+
+  repeat
+    token := ReadToken;
+    if token = '' then
+      exit;
+  until token = '{';
+
+  repeat
+    token := ReadToken;
+    if token = '' then
+      exit
+    else if token = 'point' then
+      ReadPointArray
+    else if token <> '}' then
+      ReadUnknown(token);
+  until token = '}';
+
+  FCurrentNode := FCurrentNode.Parent;
+end;
+
+procedure TVRMLParser.ReadNormal(DefName: String = '');
+var
+  token: String;
+begin
+  FCurrentNode := TVRMLNode.CreateOwned(FCurrentNode);
+  FCurrentNode.Name := 'Normal';
+  FCurrentNode.DefName := DefName;
+
+  repeat
+    token := ReadToken;
+    if token = '' then
+      exit;
+  until token = '{';
+
+  repeat
+    token := ReadToken;
+    if token = '' then
+      exit
+    else if token = 'vector' then
+      ReadPointArray
+    else if token <> '}' then
+      ReadUnknown(token);
+  until token = '}';
+
+  FCurrentNode := FCurrentNode.Parent;
+end;
+
+procedure TVRMLParser.ReadTextureCoordinate2(DefName: String = '');
+var
+  token: String;
+begin
+  FCurrentNode := TVRMLNode.CreateOwned(FCurrentNode);
+  FCurrentNode.Name := 'TextureCoordinate2';
+  FCurrentNode.DefName := DefName;
+
+  repeat
+    token := ReadToken;
+    if token = '' then
+      exit;
+  until token = '{';
+
+  repeat
+    token := ReadToken;
+    if token = '' then
+      exit
+    else if token = 'point' then
+      ReadPointArray
+    else if token <> '}' then
+      ReadUnknown(token);
+  until token = '}';
+
+  FCurrentNode := FCurrentNode.Parent;
+end;
+
+procedure TVRMLParser.ReadIndexedFaceSet(DefName: String = '');
+var
+  token: String;
+begin
+  FCurrentNode := TVRMLNode.CreateOwned(FCurrentNode);
+  FCurrentNode.Name := 'IndexedFaceSet';
+  FCurrentNode.DefName := DefName;
+
+  repeat
+    token := ReadToken;
+    if token = '' then
+      exit;
+  until token = '{';
+
+  repeat
+    token := ReadToken;
+    if token = '' then
+      exit
+    else if token = 'coordindex' then
+      ReadCoordIndexArray
+    else if token = 'normalindex' then
+      ReadNormalIndexArray
+    else if token = 'texturecoordindex' then
+      ReadTextureCoordIndexArray
+    else if token <> '}' then
+      ReadUnknown(token);
+  until token = '}';
+
+  FCurrentNode := FCurrentNode.Parent;
+end;
+
+procedure TVRMLParser.ReadTransform(DefName: String);
+var
+  token: String;
+begin
+  FCurrentNode := TVRMLTransform.CreateOwned(FCurrentNode);
+  FCurrentNode.Name := 'Transform';
+  FCurrentNode.DefName := DefName;
+
+  repeat
+    token := ReadToken;
+    if token = '' then
+      exit;
+  until token = '{';
+
+  with TVRMLTransform(FCurrentNode) do
+  begin
+    repeat
+      token := ReadToken;
+      if token = '' then
+        exit
+      else if token = 'rotation' then
+        Rotation := ReadVector4f
+      else if token = 'center' then
+        Center := ReadVector3f
+      else if token = 'scalefactor' then
+        ScaleFactor := ReadVector3f
+      else if token <> '}' then
+        ReadUnknown(token);
+    until token = '}';
+  end;
+
+  FCurrentNode := FCurrentNode.Parent;
+end;
+
+procedure TVRMLParser.ReadShapeHints(DefName: String = '');
+var
+  token: String;
+begin
+  FCurrentNode := TVRMLShapeHints.CreateOwned(FCurrentNode);
+  FCurrentNode.Name := 'ShapeHints';
+  FCurrentNode.DefName := DefName;
+
+  repeat
+    token := ReadToken;
+    if token = '' then
+      exit;
+  until token = '{';
+
+  repeat
+    token := ReadToken;
+    if token = '' then
+      exit
+    else if token = 'creaseangle' then
+      TVRMLShapeHints(FCurrentNode).CreaseAngle := ReadSingle
+    else if token <> '}' then
+      ReadUnknown(token);
+  until token = '}';
+
+  FCurrentNode := FCurrentNode.Parent;
+end;
+
+procedure TVRMLParser.ReadSeparator(DefName: String = '');
+var
+  token: String;
+begin
+  FCurrentNode := TVRMLNode.CreateOwned(FCurrentNode);
+  FCurrentNode.Name := 'Separator';
+  FCurrentNode.DefName := DefName;
+
+  repeat
+    token := ReadToken;
+    if token = '' then
+      exit;
+  until token = '{';
+
+  repeat
+    token := ReadToken;
+    if token = '' then
+      exit
+    else if token = 'def' then
+      ReadDef
+    else if (token = 'group') or (token = 'switch') then
+      ReadGroup
+    else if token = 'separator' then
+      ReadSeparator
+    else if token = 'use' then
+      ReadUse
+    else if token = 'shapehints' then
+      ReadShapeHints
+    else if token = 'transform' then
+      ReadTransform
+    else if token = 'material' then
+      ReadMaterial
+    else if token = 'coordinate3' then
+      ReadCoordinate3
+    else if token = 'normal' then
+      ReadNormal
+    else if token = 'texturecoordinate2' then
+      ReadTextureCoordinate2
+    else if token = 'indexedfaceset' then
+      ReadIndexedFaceSet
+    else if token <> '}' then
+      ReadUnknown(token);
+  until token = '}';
+
+  FCurrentNode := FCurrentNode.Parent;
+end;
+
+procedure TVRMLParser.ReadGroup(DefName: String = '');
+var
+  token: String;
+begin
+  FCurrentNode := TVRMLNode.CreateOwned(FCurrentNode);
+  FCurrentNode.Name := 'Group';
+  FCurrentNode.DefName := DefName;
+
+  repeat
+    token := ReadToken;
+    if token = '' then
+      exit;
+  until token = '{';
+
+  repeat
+    token := ReadToken;
+    if token = '' then
+      exit
+    else if token = 'def' then
+      ReadDef
+    else if (token = 'group') or (token = 'switch') then
+      ReadGroup
+    else if token = 'separator' then
+      ReadSeparator
+    else if token = 'use' then
+      ReadUse
+    else if token = 'shapehints' then
+      ReadShapeHints
+    else if token = 'transform' then
+      ReadTransform
+    else if token = 'material' then
+      ReadMaterial
+    else if token = 'coordinate3' then
+      ReadCoordinate3
+    else if token = 'indexedfaceset' then
+      ReadIndexedFaceSet
+    else if token <> '}' then
+      ReadUnknown(token);
+  until token = '}';
+
+  FCurrentNode := FCurrentNode.Parent;
+end;
+
+procedure TVRMLParser.ReadDef;
+var
+  DefName, token: String;
+begin
+  DefName := ReadToken;
+  token := ReadToken;
+  if (token = 'group') or (token = 'switch') then
+    ReadGroup(DefName)
+  else if token = 'separator' then
+    ReadSeparator(DefName)
+  else if token = 'transform' then
+    ReadTransform(DefName)
+  else if token = 'material' then
+    ReadMaterial(DefName)
+  else if token = 'coordinate3' then
+    ReadCoordinate3(DefName)
+  else if token = 'indexedfaceset' then
+    ReadIndexedFaceSet(DefName)
+  else
+    ReadUnknown(token);
+end;
+
+procedure TVRMLParser.ReadUse;
+begin
+  with TVRMLUse.CreateOwned(FCurrentNode) do
+  begin
+    name := 'Use';
+    Value := ReadToken;
+  end;
+end;
+
+procedure TVRMLParser.Parse(Text: String);
+var
+  token: String;
+begin
+  FTokens := CreateVRMLTokenList(Text);
+  FCursor := 0;
+  FCurrentNode := FRootNode;
+  try
+    repeat
+      token := ReadToken;
+      if token = 'def' then
+        ReadDef
+      else if (token = 'group') or (token = 'switch') then
+        ReadGroup
+      else if token = 'separator' then
+        ReadSeparator
+      else if token = 'use' then
+        ReadUse
+      else if token = 'shapehints' then
+        ReadShapeHints
+      else if token = 'transform' then
+        ReadTransform
+      else if token = 'material' then
+        ReadMaterial
+      else if token = 'coordinate3' then
+        ReadCoordinate3
+      else if token = 'indexedfaceset' then
+        ReadIndexedFaceSet
+      else
+        ReadUnknown(token);
+    until FCursor >= FTokens.Count;
+  finally
+    FTokens.Free;
+  end;
+end;
+
+end.

+ 13 - 13
Sourcex/GXS.BSP.pas

@@ -139,7 +139,7 @@ type
       const maxTrianglesPerLeaf: Integer = MaxInt);
       const maxTrianglesPerLeaf: Integer = MaxInt);
     (* Goes through all triangle edges, looking for tjunctions.
     (* Goes through all triangle edges, looking for tjunctions.
       The candidates are indices of points to lookup a tjunction vertices. *)
       The candidates are indices of points to lookup a tjunction vertices. *)
-    procedure FixTJunctions(const tJunctionsCandidates: TgIntegerList);
+    procedure FixTJunctions(const tJunctionsCandidates: TgxIntegerList);
     (* BSP node split plane.
     (* BSP node split plane.
       Divides space between positive and negative half-space, positive
       Divides space between positive and negative half-space, positive
       half-space being the one were the evaluation of an homogeneous
       half-space being the one were the evaluation of an homogeneous
@@ -383,14 +383,14 @@ var
   i, j, n: Integer;
   i, j, n: Integer;
   nodeParents: array of Integer;
   nodeParents: array of Integer;
   remapIndex: array of Integer;
   remapIndex: array of Integer;
-  indicesToCheck: TgIntegerList;
+  indicesToCheck: TgxIntegerList;
   node: TFGBSPNode;
   node: TFGBSPNode;
 begin
 begin
   n := faceGroups.Count;
   n := faceGroups.Count;
   if n = 0 then
   if n = 0 then
     Exit;
     Exit;
   SetLength(nodeParents, n);
   SetLength(nodeParents, n);
-  indicesToCheck := TgIntegerList.Create;
+  indicesToCheck := TgxIntegerList.Create;
   try
   try
     // build nodes parent information
     // build nodes parent information
     FillChar(nodeParents[0], SizeOf(Integer) * n, 255);
     FillChar(nodeParents[0], SizeOf(Integer) * n, 255);
@@ -642,7 +642,7 @@ var
   ns, np, nn: Integer;
   ns, np, nn: Integer;
   evalPlane: THmgPlane;
   evalPlane: THmgPlane;
   bestEval, eval: Single;
   bestEval, eval: Single;
-  vertices: TgAffineVectorList;
+  vertices: TgxAffineVectorList;
 begin
 begin
   Result := NullHmgVector;
   Result := NullHmgVector;
   bestEval := 1E30;
   bestEval := 1E30;
@@ -687,7 +687,7 @@ procedure TFGBSPNode.EvaluateSplitPlane(const splitPlane: THmgPlane;
 var
 var
   i, n, inci, lookupIdx: Integer;
   i, n, inci, lookupIdx: Integer;
   a, b, c: Boolean;
   a, b, c: Boolean;
-  vertices: TgAffineVectorList;
+  vertices: TgxAffineVectorList;
 const
 const
   // case resolution lookup tables (node's tris unaccounted for)
   // case resolution lookup tables (node's tris unaccounted for)
   cTriangleSplit: array [0 .. 7] of Integer = (0, 1, 1, 1, 1, 1, 1, 0);
   cTriangleSplit: array [0 .. 7] of Integer = (0, 1, 1, 1, 1, 1, 1, 0);
@@ -824,8 +824,8 @@ procedure TFGBSPNode.PerformSplit(const splitPlane: THmgPlane;
   const maxTrianglesPerLeaf: Integer = MaxInt);
   const maxTrianglesPerLeaf: Integer = MaxInt);
 var
 var
   fgPos, fgNeg: TFGBSPNode;
   fgPos, fgNeg: TFGBSPNode;
-  fgPosIndices, fgNegIndices: TgIntegerList;
-  indices: TgIntegerList;
+  fgPosIndices, fgNegIndices: TgxIntegerList;
+  indices: TgxIntegerList;
 
 
   procedure SplitTriangleMid(strayID, strayNext, strayPrev: Integer;
   procedure SplitTriangleMid(strayID, strayNext, strayPrev: Integer;
     eNext, ePrev: Single);
     eNext, ePrev: Single);
@@ -877,7 +877,7 @@ var
 var
 var
   i, i1, i2, i3, se1, se2, se3: Integer;
   i, i1, i2, i3, se1, se2, se3: Integer;
   e1, e2, e3: Single;
   e1, e2, e3: Single;
-  vertices: TgAffineVectorList;
+  vertices: TgxAffineVectorList;
   subSplitPlane: THmgPlane;
   subSplitPlane: THmgPlane;
 begin
 begin
   Assert((PositiveSubNodeIndex = 0) and (NegativeSubNodeIndex = 0));
   Assert((PositiveSubNodeIndex = 0) and (NegativeSubNodeIndex = 0));
@@ -891,7 +891,7 @@ begin
   fgNegIndices := fgNeg.VertexIndices;
   fgNegIndices := fgNeg.VertexIndices;
   // initiate split
   // initiate split
   Self.FSplitPlane := splitPlane;
   Self.FSplitPlane := splitPlane;
-  indices := TgIntegerList.Create;
+  indices := TgxIntegerList.Create;
   vertices := Owner.Owner.vertices;
   vertices := Owner.Owner.vertices;
   i := 0;
   i := 0;
   while i < VertexIndices.Count do
   while i < VertexIndices.Count do
@@ -1032,10 +1032,10 @@ begin
   end;
   end;
 end;
 end;
 
 
-procedure TFGBSPNode.FixTJunctions(const tJunctionsCandidates: TgIntegerList);
+procedure TFGBSPNode.FixTJunctions(const tJunctionsCandidates: TgxIntegerList);
 
 
   function FindTJunction(iA, iB, iC: Integer;
   function FindTJunction(iA, iB, iC: Integer;
-    candidatesList: TgIntegerList): Integer;
+    candidatesList: TgxIntegerList): Integer;
   var
   var
     i, k: Integer;
     i, k: Integer;
     vertices: PAffineVectorArray;
     vertices: PAffineVectorArray;
@@ -1090,10 +1090,10 @@ procedure TFGBSPNode.FixTJunctions(const tJunctionsCandidates: TgIntegerList);
 var
 var
   i, tj: Integer;
   i, tj: Integer;
   indices: PIntegerArray;
   indices: PIntegerArray;
-  mark: TgIntegerList;
+  mark: TgxIntegerList;
 begin
 begin
   Assert(Mode in [fgmmTriangles, fgmmFlatTriangles]);
   Assert(Mode in [fgmmTriangles, fgmmFlatTriangles]);
-  mark := TgIntegerList.Create;
+  mark := TgxIntegerList.Create;
   mark.AddSerie(1, 0, VertexIndices.Count);
   mark.AddSerie(1, 0, VertexIndices.Count);
   indices := VertexIndices.List;
   indices := VertexIndices.List;
   i := 0;
   i := 0;

+ 18 - 18
Sourcex/GXS.BumpMapping.pas

@@ -20,27 +20,27 @@ type
   TNormalMapSpace = (nmsObject, nmsTangent);
   TNormalMapSpace = (nmsObject, nmsTangent);
 
 
 procedure CalcObjectSpaceLightVectors(Light : TAffineVector;
 procedure CalcObjectSpaceLightVectors(Light : TAffineVector;
-                                      Vertices: TgAffineVectorList;
-                                      Colors: TGVectorList);
+                                      Vertices: TgxAffineVectorList;
+                                      Colors: TgxVectorList);
 procedure SetupTangentSpace(Vertices, Normals, TexCoords,
 procedure SetupTangentSpace(Vertices, Normals, TexCoords,
-                            Tangents, BiNormals : TgAffineVectorList);
+                            Tangents, BiNormals : TgxAffineVectorList);
 procedure CalcTangentSpaceLightVectors(Light : TAffineVector;
 procedure CalcTangentSpaceLightVectors(Light : TAffineVector;
                                        Vertices, Normals,
                                        Vertices, Normals,
-                                       Tangents, BiNormals : TgAffineVectorList;
-                                       Colors: TGVectorList);
+                                       Tangents, BiNormals : TgxAffineVectorList;
+                                       Colors: TgxVectorList);
 function CreateObjectSpaceNormalMap(Width, Height : Integer;
 function CreateObjectSpaceNormalMap(Width, Height : Integer;
-                                    HiNormals,HiTexCoords : TgAffineVectorList) : TBitmap;
+                                    HiNormals,HiTexCoords : TgxAffineVectorList) : TBitmap;
 function CreateTangentSpaceNormalMap(Width, Height : Integer;
 function CreateTangentSpaceNormalMap(Width, Height : Integer;
                                      HiNormals, HiTexCoords,
                                      HiNormals, HiTexCoords,
                                      LoNormals, LoTexCoords,
                                      LoNormals, LoTexCoords,
-                                     Tangents, BiNormals : TgAffineVectorList) : TBitmap;
+                                     Tangents, BiNormals : TgxAffineVectorList) : TBitmap;
 
 
 //------------------------------------------------------------
 //------------------------------------------------------------
 implementation
 implementation
 //------------------------------------------------------------
 //------------------------------------------------------------
 
 
 procedure CalcObjectSpaceLightVectors(Light: TAffineVector;
 procedure CalcObjectSpaceLightVectors(Light: TAffineVector;
-  Vertices: TgAffineVectorList; Colors: TGVectorList);
+  Vertices: TgxAffineVectorList; Colors: TgxVectorList);
 var
 var
   i: Integer;
   i: Integer;
   vec: TAffineVector;
   vec: TAffineVector;
@@ -53,7 +53,7 @@ begin
   end;
   end;
 end;
 end;
 
 
-procedure SetupTangentSpace(Vertices, Normals, TexCoords, Tangents, BiNormals: TgAffineVectorList);
+procedure SetupTangentSpace(Vertices, Normals, TexCoords, Tangents, BiNormals: TgxAffineVectorList);
 var
 var
   i, j: Integer;
   i, j: Integer;
   v, n, t: TAffineMatrix;
   v, n, t: TAffineMatrix;
@@ -146,8 +146,8 @@ begin
 end;
 end;
 
 
 procedure CalcTangentSpaceLightVectors(Light: TAffineVector;
 procedure CalcTangentSpaceLightVectors(Light: TAffineVector;
-  Vertices, Normals, Tangents, BiNormals: TgAffineVectorList;
-  Colors: TGVectorList);
+  Vertices, Normals, Tangents, BiNormals: TgxAffineVectorList;
+  Colors: TgxVectorList);
 var
 var
   i: Integer;
   i: Integer;
   mat: TAffineMatrix;
   mat: TAffineMatrix;
@@ -291,7 +291,7 @@ begin
 end;
 end;
 
 
 procedure CalcObjectSpaceNormalMap(Width, Height: Integer; 
 procedure CalcObjectSpaceNormalMap(Width, Height: Integer; 
-  NormalMap, Normals, TexCoords: TgAffineVectorList);
+  NormalMap, Normals, TexCoords: TgxAffineVectorList);
 var
 var
   i, X, Y, xs, xe, x1, y1, x2, y2, x3, y3: Integer;
   i, X, Y, xs, xe, x1, y1, x2, y2, x3, y3: Integer;
   n, n1, n2, n3: TAffineVector;
   n, n1, n2, n3: TAffineVector;
@@ -377,12 +377,12 @@ begin
 end;
 end;
 
 
 function CreateObjectSpaceNormalMap(Width, Height: Integer;
 function CreateObjectSpaceNormalMap(Width, Height: Integer;
-  HiNormals, HiTexCoords: TgAffineVectorList): TBitmap;
+  HiNormals, HiTexCoords: TgxAffineVectorList): TBitmap;
 var
 var
   i: Integer;
   i: Integer;
-  NormalMap: TgAffineVectorList;
+  NormalMap: TgxAffineVectorList;
 begin
 begin
-  NormalMap := TgAffineVectorList.Create;
+  NormalMap := TgxAffineVectorList.Create;
   NormalMap.AddNulls(Width * Height);
   NormalMap.AddNulls(Width * Height);
 
 
   CalcObjectSpaceNormalMap(Width, Height, NormalMap, HiNormals, HiTexCoords);
   CalcObjectSpaceNormalMap(Width, Height, NormalMap, HiNormals, HiTexCoords);
@@ -406,7 +406,7 @@ end;
 
 
 function CreateTangentSpaceNormalMap(Width, Height: Integer;
 function CreateTangentSpaceNormalMap(Width, Height: Integer;
   HiNormals, HiTexCoords, LoNormals, LoTexCoords, Tangents,
   HiNormals, HiTexCoords, LoNormals, LoTexCoords, Tangents,
-  BiNormals: TgAffineVectorList): TBitmap;
+  BiNormals: TgxAffineVectorList): TBitmap;
 
 
   function NormalToTangentSpace(normal: TAffineVector;
   function NormalToTangentSpace(normal: TAffineVector;
     X, Y, x1, y1, x2, y2, x3, y3: Integer; m1, m2, m3: TAffineMatrix)
     X, Y, x1, y1, x2, y2, x3, y3: Integer; m1, m2, m3: TAffineMatrix)
@@ -423,11 +423,11 @@ function CreateTangentSpaceNormalMap(Width, Height: Integer;
 
 
 var
 var
   i, X, Y, xs, xe, x1, y1, x2, y2, x3, y3: Integer;
   i, X, Y, xs, xe, x1, y1, x2, y2, x3, y3: Integer;
-  NormalMap: TgAffineVectorList;
+  NormalMap: TgxAffineVectorList;
   n: TAffineVector;
   n: TAffineVector;
   m, m1, m2, m3: TAffineMatrix;
   m, m1, m2, m3: TAffineMatrix;
 begin
 begin
-  NormalMap := TgAffineVectorList.Create;
+  NormalMap := TgxAffineVectorList.Create;
   NormalMap.AddNulls(Width * Height);
   NormalMap.AddNulls(Width * Height);
 
 
   CalcObjectSpaceNormalMap(Width, Height, NormalMap, HiNormals, HiTexCoords);
   CalcObjectSpaceNormalMap(Width, Height, NormalMap, HiNormals, HiTexCoords);

+ 4 - 4
Sourcex/GXS.CgShader.pas

@@ -185,8 +185,8 @@ type
     procedure EnableTexture;
     procedure EnableTexture;
     procedure DisableTexture;
     procedure DisableTexture;
     // Procedures for setting varying parameters with an array of values.
     // Procedures for setting varying parameters with an array of values.
-    procedure SetParameterPointer(Values: TGVectorList); overload;
-    procedure SetParameterPointer(Values: TgAffineVectorList); overload;
+    procedure SetParameterPointer(Values: TgxVectorList); overload;
+    procedure SetParameterPointer(Values: TgxAffineVectorList); overload;
     procedure EnableClientState;
     procedure EnableClientState;
     procedure DisableClientState;
     procedure DisableClientState;
     // LongName retruns ShaderName.[program type].ProgramName.ParamName.
     // LongName retruns ShaderName.[program type].ProgramName.ParamName.
@@ -941,13 +941,13 @@ begin
   cgGLEnableClientState(FHandle);
   cgGLEnableClientState(FHandle);
 end;
 end;
 
 
-procedure TCGxParameter.SetParameterPointer(Values: TgAffineVectorList);
+procedure TCGxParameter.SetParameterPointer(Values: TgxAffineVectorList);
 begin
 begin
   Assert(FVariability = CG_VARYING);
   Assert(FVariability = CG_VARYING);
   cgGLSetParameterPointer(FHandle, 3, GL_FLOAT, 0, Values.List);
   cgGLSetParameterPointer(FHandle, 3, GL_FLOAT, 0, Values.List);
 end;
 end;
 
 
-procedure TCGxParameter.SetParameterPointer(Values: TGVectorList);
+procedure TCGxParameter.SetParameterPointer(Values: TgxVectorList);
 begin
 begin
   Assert(FVariability = CG_VARYING);
   Assert(FVariability = CG_VARYING);
   cgGLSetParameterPointer(FHandle, 4, GL_FLOAT, 0, Values.List);
   cgGLSetParameterPointer(FHandle, 4, GL_FLOAT, 0, Values.List);

+ 2 - 2
Sourcex/GXS.Collision.pas

@@ -504,7 +504,7 @@ end;
   Octree.GetTrianglesInCube returns no points, why? }
   Octree.GetTrianglesInCube returns no points, why? }
 function FastCheckCubeVsFace(obj1, obj2: TgxBaseSceneObject): Boolean;
 function FastCheckCubeVsFace(obj1, obj2: TgxBaseSceneObject): Boolean;
 // var
 // var
-// triList : TgAffineVectorList;
+// triList : TgxAffineVectorList;
 // m1to2, m2to1 : TMatrix4f;
 // m1to2, m2to1 : TMatrix4f;
 // i:integer;
 // i:integer;
 begin
 begin
@@ -540,7 +540,7 @@ type
 
 
 var
 var
   i: Integer;
   i: Integer;
-  triList: TgAffineVectorList;
+  triList: TgxAffineVectorList;
   tri: PTriangle;
   tri: PTriangle;
   m1to2, m2to1: TMatrix4f;
   m1to2, m2to1: TMatrix4f;
   AABB2: TAABB;
   AABB2: TAABB;

+ 293 - 0
Sourcex/GXS.CurvesAndSurfaces.pas

@@ -0,0 +1,293 @@
+//
+// The graphics engine GLScene https://github.com/glscene
+//
+unit GXS.CurvesAndSurfaces;
+
+(* Bezier and B-Spline Curve and Surface Routines *)
+
+interface
+
+uses
+  System.SysUtils,
+  GLScene.VectorTypes,
+  GLScene.VectorGeometry,
+  GXS.VectorLists;
+
+type
+  TBSplineContinuity = (bscUniformNonPeriodic, bscUniformPeriodic);
+
+function BezierCurvePoint(t: single; n: integer; cp: PAffineVectorArray): TAffineVector;
+function BezierSurfacePoint(s, t: single; m, n: integer; cp: PAffineVectorArray): TAffineVector;
+procedure GenerateBezierCurve(Steps: integer;  ControlPoints, Vertices: TgxAffineVectorList);
+procedure GenerateBezierSurface(Steps, Width, Height: integer; ControlPoints, Vertices: TgxAffineVectorList);
+
+function BSplinePoint(t: single; n, k: integer; knots: PSingleArray;
+  cp: PAffineVectorArray): TAffineVector;
+function BSplineSurfacePoint(s, t: single; m, n, k1, k2: integer;
+  uknots, vknots: PSingleArray; cp: PAffineVectorArray): TAffineVector;
+procedure GenerateBSpline(Steps, Order: integer; KnotVector: TgxSingleList;
+  ControlPoints, Vertices: TgxAffineVectorList);
+procedure GenerateBSplineSurface(Steps, UOrder, VOrder, Width, Height: integer;
+  UKnotVector, VKnotVector: TgxSingleList;
+  ControlPoints, Vertices: TgxAffineVectorList);
+procedure GenerateKnotVector(KnotVector: TgxSingleList;
+  NumberOfPoints, Order: integer; Continuity: TBSplineContinuity);
+
+implementation // -----------------------------------------------------------
+
+function Factorial(n: integer): single;
+var
+  i: integer;
+begin
+  if (n < 0) or (n > 32) then
+    Exception.Create('Invalid factorial parameter: n = ' + IntToStr(n));
+
+  Result := 1;
+  for i := 2 to n do
+    Result := Result * i;
+end;
+
+// ------------------------------------------------------------
+// Bezier routines
+// ------------------------------------------------------------
+
+function BernsteinBasis(n, i: integer; t: single): single;
+var
+  ti, tni: single;
+begin
+  if (t = 0) and (i = 0) then
+    ti := 1
+  else
+    ti := PowerInteger(t, i);
+  if (n = i) and (t = 1) then
+    tni := 1
+  else
+    tni := PowerInteger(1 - t, integer(n - i));
+  Result := (Factorial(n) / (Factorial(i) * Factorial(n - i))) * ti * tni;
+end;
+
+function BezierCurvePoint(t: single; n: integer; cp: PAffineVectorArray)
+  : TAffineVector;
+var
+  i: integer;
+  b: single;
+begin
+  Result := NullVector;
+  for i := 0 to n - 1 do
+  begin
+    b := BernsteinBasis(n - 1, i, t);
+    Result.X := Result.X + cp[i].X * b;
+    Result.Y := Result.Y + cp[i].Y * b;
+    Result.Z := Result.Z + cp[i].Z * b;
+  end;
+end;
+
+function BezierSurfacePoint(s, t: single; m, n: integer; cp: PAffineVectorArray)
+  : TAffineVector;
+var
+  i, j: integer;
+  b1, b2: single;
+begin
+  Result := NullVector;
+  for j := 0 to n - 1 do
+    for i := 0 to m - 1 do
+    begin
+      b1 := BernsteinBasis(m - 1, i, s);
+      b2 := BernsteinBasis(n - 1, j, t);
+      Result.X := Result.X + cp[j * m + i].X * b1 * b2;
+      Result.Y := Result.Y + cp[j * m + i].Y * b1 * b2;
+      Result.Z := Result.Z + cp[j * m + i].Z * b1 * b2;
+    end;
+end;
+
+procedure GenerateBezierCurve(Steps: integer;
+  ControlPoints, Vertices: TgxAffineVectorList);
+var
+  i: integer;
+begin
+  Vertices.Count := Steps;
+  for i := 0 to Steps - 1 do
+    Vertices[i] := BezierCurvePoint(i / (Steps - 1), ControlPoints.Count,
+      ControlPoints.List);
+end;
+
+procedure GenerateBezierSurface(Steps, Width, Height: integer;
+  ControlPoints, Vertices: TgxAffineVectorList);
+var
+  i, j: integer;
+begin
+  Vertices.Count := Steps * Steps;
+  for j := 0 to Steps - 1 do
+    for i := 0 to Steps - 1 do
+      Vertices[i + j * Steps] := BezierSurfacePoint(i / (Steps - 1),
+        j / (Steps - 1), Width, Height, ControlPoints.List);
+end;
+
+// ------------------------------------------------------------
+// B-Spline routines
+// ------------------------------------------------------------
+
+function BSplineBasis(i, k, n: integer; u: single; knots: PSingleArray): single;
+var
+  v1, v2: single;
+begin
+  if (u < knots[i]) or (u > knots[i + k]) then
+  begin
+    Result := 0;
+  end
+  else if k = 1 then
+  begin
+    Result := 0;
+    if (u >= knots[i]) and (u < knots[i + 1]) then
+      Result := 1;
+  end
+  else if (i = n - 1) and (u = knots[i + k]) then
+  begin
+    Result := 1;
+  end
+  else
+  begin
+    v1 := (knots[i + k - 1] - knots[i]);
+    v2 := (knots[i + k] - knots[i + 1]);
+    if v1 <> 0 then
+      v1 := (u - knots[i]) / v1 * BSplineBasis(i, k - 1, n, u, knots);
+    if v2 <> 0 then
+      v2 := (knots[i + k] - u) / v2 * BSplineBasis(i + 1, k - 1, n, u, knots);
+    Result := v1 + v2;
+  end;
+end;
+
+function BSplinePoint(t: single; n, k: integer; knots: PSingleArray;
+  cp: PAffineVectorArray): TAffineVector;
+var
+  i: integer;
+  b: array of single;
+  det: single;
+begin
+  SetLength(b, n);
+  for i := 0 to n - 1 do
+    b[i] := BSplineBasis(i, k, n, t, knots);
+  det := 0;
+  for i := 0 to n - 1 do
+    det := det + b[i];
+  Result := NullVector;
+  for i := 0 to n - 1 do
+  begin
+    if det <> 0 then
+      b[i] := b[i] / det
+    else
+      b[i] := 0;
+    Result.X := Result.X + cp[i].X * b[i];
+    Result.Y := Result.Y + cp[i].Y * b[i];
+    Result.Z := Result.Z + cp[i].Z * b[i];
+  end;
+  SetLength(b, 0);
+end;
+
+function BSplineSurfacePoint(s, t: single; m, n, k1, k2: integer;
+  uknots, vknots: PSingleArray; cp: PAffineVectorArray): TAffineVector;
+var
+  i, j: integer;
+  b1, b2: array of single;
+  det1, det2: single;
+begin
+  SetLength(b1, m);
+  SetLength(b2, n);
+  det1 := 0;
+  det2 := 0;
+  for i := 0 to m - 1 do
+    b1[i] := BSplineBasis(i, k1, m, s, uknots);
+  for i := 0 to n - 1 do
+    b2[i] := BSplineBasis(i, k2, n, t, vknots);
+  for i := 0 to m - 1 do
+    det1 := det1 + b1[i];
+  for i := 0 to n - 1 do
+    det2 := det2 + b2[i];
+  Result := NullVector;
+  for j := 0 to n - 1 do
+  begin
+    if det2 <> 0 then
+      b2[j] := b2[j] / det2
+    else
+      b2[j] := 0;
+    for i := 0 to m - 1 do
+    begin
+      if det1 <> 0 then
+        b1[i] := b1[i] / det1
+      else
+        b1[i] := 0;
+      Result.X := Result.X + cp[j * m + i].X * b1[i] * b2[j];
+      Result.Y := Result.Y + cp[j * m + i].Y * b1[i] * b2[j];
+      Result.Z := Result.Z + cp[j * m + i].Z * b1[i] * b2[j];
+    end;
+  end;
+end;
+
+procedure GenerateBSpline(Steps, Order: integer; KnotVector: TgxSingleList;
+  ControlPoints, Vertices: TgxAffineVectorList);
+var
+  i: integer;
+begin
+  Vertices.Clear;
+  Vertices.Count := Steps;
+  for i := 0 to Steps - 1 do
+    Vertices[i] := BSplinePoint(i / (Steps - 1), ControlPoints.Count, Order + 1,
+      @KnotVector.List[0], ControlPoints.List);
+end;
+
+procedure GenerateBSplineSurface(Steps, UOrder, VOrder, Width, Height: integer;
+  UKnotVector, VKnotVector: TgxSingleList; ControlPoints, Vertices: TgxAffineVectorList);
+var
+  i, j: integer;
+begin
+  Vertices.Clear;
+  Vertices.Count := Steps * Steps;
+  for j := 0 to Steps - 1 do
+    for i := 0 to Steps - 1 do
+      Vertices[i + j * Steps] := BSplineSurfacePoint(i / (Steps - 1),
+        j / (Steps - 1), Width, Height, UOrder + 1, VOrder + 1,
+        @UKnotVector.List[0], @VKnotVector.List[0], ControlPoints.List);
+end;
+
+procedure GenerateKnotVector(KnotVector: TgxSingleList;
+  NumberOfPoints, Order: integer; Continuity: TBSplineContinuity);
+var
+  i, n, k: integer;
+begin
+  KnotVector.Clear;
+
+  k := Order + 1;
+  n := NumberOfPoints - 1;
+
+  case Continuity of
+
+    // Open curve
+    bscUniformNonPeriodic:
+      begin
+        for i := 0 to n + k do
+        begin
+          if i < k then
+            KnotVector.Add(0)
+          else if i > n then
+            KnotVector.Add(n - k + 2)
+          else
+            KnotVector.Add(i - k + 1);
+        end;
+      end;
+
+    // Closed curve
+    bscUniformPeriodic:
+      begin
+        for i := 0 to n + k do
+        begin
+          KnotVector.Add(i);
+        end;
+        KnotVector.Scale(1 / KnotVector.Sum);
+      end;
+
+  end;
+end;
+
+//----------------------------------------------------------------------------
+
+end.

Daži faili netika attēloti, jo izmaiņu fails ir pārāk liels