/*: This is a quick demo for the TGLLines object and spline functionality. TGLLines can handle normal lines and cubic splines, each node can have a different color, and the line can be color-interpolated. Note that the camera in this sample is in orthogonal mode, this makes for a quick and easy way to work in 2D with OpenGL (try switching the camera to perpective mode if you don't see the point). */ //--------------------------------------------------------------------------- #include #pragma hdrstop #include "fSplinesC.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma link "GLS.Scene" #pragma link "GLS.SceneViewer" #pragma link "GLS.Objects" #pragma link "GLS.BaseClasses" #pragma link "GLS.Coordinates" #pragma resource "*.dfm" TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent * Owner):TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::MoveCenterNodeTo(int x, int y) { GLLines1->Nodes->Items[1]->AsAffineVector = GLSceneViewer1->Buffer->ScreenToWorld(x, y); } //--------------------------------------------------------------------------- void __fastcall TForm1::GLSceneViewer1MouseDown(TObject * Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { MoveCenterNodeTo(X, Y); } //--------------------------------------------------------------------------- void __fastcall TForm1::GLSceneViewer1MouseMove(TObject * Sender, TShiftState Shift, int X, int Y) { if(Shift.Contains(ssShift)) MoveCenterNodeTo(X, Y); } //---------------------------------------------------------------------------