unit ugluVectorEx; {$mode objfpc}{$H+} {$macro on} {$modeswitch typehelpers} interface uses Classes, SysUtils, ugluVectorExHelper; type TgluVector2p = TgluVectorP.TVector2; TgluVector3p = TgluVectorP.TVector3; TgluVector4p = TgluVectorP.TVector4; TgluVector2e = TgluVectorE.TVector2; TgluVector3e = TgluVectorE.TVector3; TgluVector4e = TgluVectorE.TVector4; TgluVector2i = TgluVectorI.TVector2; TgluVector3i = TgluVectorI.TVector3; TgluVector4i = TgluVectorI.TVector4; TgluVector2us = TgluVectorUS.TVector2; TgluVector3us = TgluVectorUS.TVector3; TgluVector4us = TgluVectorUS.TVector4; TgluVector2ub = TgluVectorUB.TVector2; TgluVector3ub = TgluVectorUB.TVector3; TgluVector4ub = TgluVectorUB.TVector4; TgluVector2f = TgluVectorF.TVector2; TgluVector3f = TgluVectorF.TVector3; TgluVector4f = TgluVectorF.TVector4; TgluVector2d = TgluVectorD.TVector2; TgluVector3d = TgluVectorD.TVector3; TgluVector4d = TgluVectorD.TVector4; PgluVector2p = ^TgluVector2p; PgluVector3p = ^TgluVector3p; PgluVector4p = ^TgluVector4p; PgluVector2e = ^TgluVector2e; PgluVector3e = ^TgluVector3e; PgluVector4e = ^TgluVector4e; PgluVector2i = ^TgluVector2i; PgluVector3i = ^TgluVector3i; PgluVector4i = ^TgluVector4i; PgluVector2us = ^TgluVector2us; PgluVector3us = ^TgluVector3us; PgluVector4us = ^TgluVector4us; PgluVector2ub = ^TgluVector2ub; PgluVector3ub = ^TgluVector3ub; PgluVector4ub = ^TgluVector4ub; PgluVector2f = ^TgluVector2f; PgluVector3f = ^TgluVector3f; PgluVector4f = ^TgluVector4f; PgluVector2d = ^TgluVector2d; PgluVector3d = ^TgluVector3d; PgluVector4d = ^TgluVector4d; {$DEFINE __VECTOR_HELPER_INTERFACE} { TgluVector2p } {$DEFINE __IMPL := TgluVectorP} {$DEFINE __SIZE := 2} {$DEFINE __VEC := TgluVector2p} {$DEFINE __HELPER := TgluTypeHelperVector2p} {$I ugluVectorEx.inc} { TgluVector3p } {$DEFINE __IMPL := TgluVectorP} {$DEFINE __SIZE := 3} {$DEFINE __VEC := TgluVector3p} {$DEFINE __HELPER := TgluTypeHelperVector3p} {$I ugluVectorEx.inc} { TgluVector4p } {$DEFINE __IMPL := TgluVectorP} {$DEFINE __SIZE := 4} {$DEFINE __VEC := TgluVector4p} {$DEFINE __HELPER := TgluTypeHelperVector4p} {$I ugluVectorEx.inc} { TgluVector2e } {$DEFINE __IMPL := TgluVectorE} {$DEFINE __SIZE := 2} {$DEFINE __VEC := TgluVector2e} {$DEFINE __HELPER := TgluTypeHelperVector2e} {$I ugluVectorEx.inc} { TgluVector3e } {$DEFINE __IMPL := TgluVectorE} {$DEFINE __SIZE := 3} {$DEFINE __VEC := TgluVector3e} {$DEFINE __HELPER := TgluTypeHelperVector3e} {$I ugluVectorEx.inc} { TgluVector4e } {$DEFINE __IMPL := TgluVectorE} {$DEFINE __SIZE := 4} {$DEFINE __VEC := TgluVector4e} {$DEFINE __HELPER := TgluTypeHelperVector4e} {$I ugluVectorEx.inc} { TgluVector2i } {$DEFINE __IMPL := TgluVectorI} {$DEFINE __SIZE := 2} {$DEFINE __VEC := TgluVector2i} {$DEFINE __HELPER := TgluTypeHelperVector2i} {$DEFINE __HELPER_I := TgluTypeHelperVector2ii} {$I ugluVectorEx.inc} { TgluVector3i } {$DEFINE __IMPL := TgluVectorI} {$DEFINE __SIZE := 3} {$DEFINE __VEC := TgluVector3i} {$DEFINE __HELPER := TgluTypeHelperVector3i} {$DEFINE __HELPER_I := TgluTypeHelperVector3ii} {$I ugluVectorEx.inc} { TgluVector4i } {$DEFINE __IMPL := TgluVectorI} {$DEFINE __SIZE := 4} {$DEFINE __VEC := TgluVector4i} {$DEFINE __HELPER := TgluTypeHelperVector4i} {$DEFINE __HELPER_I := TgluTypeHelperVector4ii} {$I ugluVectorEx.inc} { TgluVector2us } {$DEFINE __IMPL := TgluVectorUS} {$DEFINE __SIZE := 2} {$DEFINE __VEC := TgluVector2us} {$DEFINE __HELPER := TgluTypeHelperVector2us} {$DEFINE __HELPER_I := TgluTypeHelperVector2usi} {$I ugluVectorEx.inc} { TgluVector3us } {$DEFINE __IMPL := TgluVectorUS} {$DEFINE __SIZE := 3} {$DEFINE __VEC := TgluVector3us} {$DEFINE __HELPER := TgluTypeHelperVector3us} {$DEFINE __HELPER_I := TgluTypeHelperVector3usi} {$I ugluVectorEx.inc} { TgluVector4us } {$DEFINE __IMPL := TgluVectorUS} {$DEFINE __SIZE := 4} {$DEFINE __VEC := TgluVector4us} {$DEFINE __HELPER := TgluTypeHelperVector4us} {$DEFINE __HELPER_I := TgluTypeHelperVector4usi} {$I ugluVectorEx.inc} { TgluVector2ub } {$DEFINE __IMPL := TgluVectorUB} {$DEFINE __SIZE := 2} {$DEFINE __VEC := TgluVector2ub} {$DEFINE __HELPER := TgluTypeHelperVector2ub} {$DEFINE __HELPER_I := TgluTypeHelperVector2ubi} {$I ugluVectorEx.inc} { TgluVector3ub } {$DEFINE __IMPL := TgluVectorUB} {$DEFINE __SIZE := 3} {$DEFINE __VEC := TgluVector3ub} {$DEFINE __HELPER := TgluTypeHelperVector3ub} {$DEFINE __HELPER_I := TgluTypeHelperVector3ubi} {$I ugluVectorEx.inc} { TgluVector4ub } {$DEFINE __IMPL := TgluVectorUB} {$DEFINE __SIZE := 4} {$DEFINE __VEC := TgluVector4ub} {$DEFINE __HELPER := TgluTypeHelperVector4ub} {$DEFINE __HELPER_I := TgluTypeHelperVector4ubi} {$I ugluVectorEx.inc} { TgluVector2f } {$DEFINE __IMPL := TgluVectorF} {$DEFINE __SIZE := 2} {$DEFINE __VEC := TgluVector2f} {$DEFINE __HELPER := TgluTypeHelperVector2f} {$DEFINE __HELPER_I := TgluTypeHelperVector2fi} {$DEFINE __HELPER_F := TgluTypeHelperVector2ff} {$I ugluVectorEx.inc} { TgluVector3f } {$DEFINE __IMPL := TgluVectorF} {$DEFINE __SIZE := 3} {$DEFINE __VEC := TgluVector3f} {$DEFINE __HELPER := TgluTypeHelperVector3f} {$DEFINE __HELPER_I := TgluTypeHelperVector3fi} {$DEFINE __HELPER_F := TgluTypeHelperVector3ff} {$I ugluVectorEx.inc} { TgluVector4f } {$DEFINE __IMPL := TgluVectorF} {$DEFINE __SIZE := 4} {$DEFINE __VEC := TgluVector4f} {$DEFINE __HELPER := TgluTypeHelperVector4f} {$DEFINE __HELPER_I := TgluTypeHelperVector4fi} {$DEFINE __HELPER_F := TgluTypeHelperVector4ff} {$I ugluVectorEx.inc} { TgluVector2d } {$DEFINE __IMPL := TgluVectorD} {$DEFINE __SIZE := 2} {$DEFINE __VEC := TgluVector2d} {$DEFINE __HELPER := TgluTypeHelperVector2d} {$DEFINE __HELPER_I := TgluTypeHelperVector2di} {$DEFINE __HELPER_F := TgluTypeHelperVector2df} {$I ugluVectorEx.inc} { TgluVector3d } {$DEFINE __IMPL := TgluVectorD} {$DEFINE __SIZE := 3} {$DEFINE __VEC := TgluVector3d} {$DEFINE __HELPER := TgluTypeHelperVector3d} {$DEFINE __HELPER_I := TgluTypeHelperVector3di} {$DEFINE __HELPER_F := TgluTypeHelperVector3df} {$I ugluVectorEx.inc} { TgluVector4d } {$DEFINE __IMPL := TgluVectorD} {$DEFINE __SIZE := 4} {$DEFINE __VEC := TgluVector4d} {$DEFINE __HELPER := TgluTypeHelperVector4d} {$DEFINE __HELPER_I := TgluTypeHelperVector4di} {$DEFINE __HELPER_F := TgluTypeHelperVector4df} {$I ugluVectorEx.inc} {$UNDEF __VECTOR_HELPER_INTERFACE} implementation {$DEFINE __VECTOR_HELPER_IMPL} { TgluVector2p } {$DEFINE __IMPL := TgluVectorP} {$DEFINE __SIZE := 2} {$DEFINE __VEC := TgluVector2p} {$DEFINE __HELPER := TgluTypeHelperVector2p} {$I ugluVectorEx.inc} { TgluVector3p } {$DEFINE __IMPL := TgluVectorP} {$DEFINE __SIZE := 3} {$DEFINE __VEC := TgluVector3p} {$DEFINE __HELPER := TgluTypeHelperVector3p} {$I ugluVectorEx.inc} { TgluVector4p } {$DEFINE __IMPL := TgluVectorP} {$DEFINE __SIZE := 4} {$DEFINE __VEC := TgluVector4p} {$DEFINE __HELPER := TgluTypeHelperVector4p} {$I ugluVectorEx.inc} { TgluVector2e } {$DEFINE __IMPL := TgluVectorE} {$DEFINE __SIZE := 2} {$DEFINE __VEC := TgluVector2e} {$DEFINE __HELPER := TgluTypeHelperVector2e} {$I ugluVectorEx.inc} { TgluVector3e } {$DEFINE __IMPL := TgluVectorE} {$DEFINE __SIZE := 3} {$DEFINE __VEC := TgluVector3e} {$DEFINE __HELPER := TgluTypeHelperVector3e} {$I ugluVectorEx.inc} { TgluVector4e } {$DEFINE __IMPL := TgluVectorE} {$DEFINE __SIZE := 4} {$DEFINE __VEC := TgluVector4e} {$DEFINE __HELPER := TgluTypeHelperVector4e} {$I ugluVectorEx.inc} { TgluVector2i } {$DEFINE __IMPL := TgluVectorI} {$DEFINE __SIZE := 2} {$DEFINE __VEC := TgluVector2i} {$DEFINE __HELPER := TgluTypeHelperVector2i} {$DEFINE __HELPER_I := TgluTypeHelperVector2ii} {$I ugluVectorEx.inc} { TgluVector3i } {$DEFINE __IMPL := TgluVectorI} {$DEFINE __SIZE := 3} {$DEFINE __VEC := TgluVector3i} {$DEFINE __HELPER := TgluTypeHelperVector3i} {$DEFINE __HELPER_I := TgluTypeHelperVector3ii} {$I ugluVectorEx.inc} { TgluVector4i } {$DEFINE __IMPL := TgluVectorI} {$DEFINE __SIZE := 4} {$DEFINE __VEC := TgluVector4i} {$DEFINE __HELPER := TgluTypeHelperVector4i} {$DEFINE __HELPER_I := TgluTypeHelperVector4ii} {$I ugluVectorEx.inc} { TgluVector2us } {$DEFINE __IMPL := TgluVectorUS} {$DEFINE __SIZE := 2} {$DEFINE __VEC := TgluVector2us} {$DEFINE __HELPER := TgluTypeHelperVector2us} {$DEFINE __HELPER_I := TgluTypeHelperVector2usi} {$I ugluVectorEx.inc} { TgluVector3us } {$DEFINE __IMPL := TgluVectorUS} {$DEFINE __SIZE := 3} {$DEFINE __VEC := TgluVector3us} {$DEFINE __HELPER := TgluTypeHelperVector3us} {$DEFINE __HELPER_I := TgluTypeHelperVector3usi} {$I ugluVectorEx.inc} { TgluVector4us } {$DEFINE __IMPL := TgluVectorUS} {$DEFINE __SIZE := 4} {$DEFINE __VEC := TgluVector4us} {$DEFINE __HELPER := TgluTypeHelperVector4us} {$DEFINE __HELPER_I := TgluTypeHelperVector4usi} {$I ugluVectorEx.inc} { TgluVector2ub } {$DEFINE __IMPL := TgluVectorUB} {$DEFINE __SIZE := 2} {$DEFINE __VEC := TgluVector2ub} {$DEFINE __HELPER := TgluTypeHelperVector2ub} {$DEFINE __HELPER_I := TgluTypeHelperVector2ubi} {$I ugluVectorEx.inc} { TgluVector3ub } {$DEFINE __IMPL := TgluVectorUB} {$DEFINE __SIZE := 3} {$DEFINE __VEC := TgluVector3ub} {$DEFINE __HELPER := TgluTypeHelperVector3ub} {$DEFINE __HELPER_I := TgluTypeHelperVector3ubi} {$I ugluVectorEx.inc} { TgluVector4ub } {$DEFINE __IMPL := TgluVectorUB} {$DEFINE __SIZE := 4} {$DEFINE __VEC := TgluVector4ub} {$DEFINE __HELPER := TgluTypeHelperVector4ub} {$DEFINE __HELPER_I := TgluTypeHelperVector4ubi} {$I ugluVectorEx.inc} { TgluVector2f } {$DEFINE __IMPL := TgluVectorF} {$DEFINE __SIZE := 2} {$DEFINE __VEC := TgluVector2f} {$DEFINE __HELPER := TgluTypeHelperVector2f} {$DEFINE __HELPER_I := TgluTypeHelperVector2fi} {$DEFINE __HELPER_F := TgluTypeHelperVector2ff} {$I ugluVectorEx.inc} { TgluVector3f } {$DEFINE __IMPL := TgluVectorF} {$DEFINE __SIZE := 3} {$DEFINE __VEC := TgluVector3f} {$DEFINE __HELPER := TgluTypeHelperVector3f} {$DEFINE __HELPER_I := TgluTypeHelperVector3fi} {$DEFINE __HELPER_F := TgluTypeHelperVector3ff} {$I ugluVectorEx.inc} { TgluVector4ub } {$DEFINE __IMPL := TgluVectorF} {$DEFINE __SIZE := 4} {$DEFINE __VEC := TgluVector4f} {$DEFINE __HELPER := TgluTypeHelperVector4f} {$DEFINE __HELPER_I := TgluTypeHelperVector4fi} {$DEFINE __HELPER_F := TgluTypeHelperVector4ff} {$I ugluVectorEx.inc} { TgluVector2d } {$DEFINE __IMPL := TgluVectorD} {$DEFINE __SIZE := 2} {$DEFINE __VEC := TgluVector2d} {$DEFINE __HELPER := TgluTypeHelperVector2d} {$DEFINE __HELPER_I := TgluTypeHelperVector2di} {$DEFINE __HELPER_F := TgluTypeHelperVector2df} {$I ugluVectorEx.inc} { TgluVector3d } {$DEFINE __IMPL := TgluVectorD} {$DEFINE __SIZE := 3} {$DEFINE __VEC := TgluVector3d} {$DEFINE __HELPER := TgluTypeHelperVector3d} {$DEFINE __HELPER_I := TgluTypeHelperVector3di} {$DEFINE __HELPER_F := TgluTypeHelperVector3df} {$I ugluVectorEx.inc} { TgluVector4d } {$DEFINE __IMPL := TgluVectorD} {$DEFINE __SIZE := 4} {$DEFINE __VEC := TgluVector4d} {$DEFINE __HELPER := TgluTypeHelperVector4d} {$DEFINE __HELPER_I := TgluTypeHelperVector4di} {$DEFINE __HELPER_F := TgluTypeHelperVector4df} {$I ugluVectorEx.inc} {$UNDEF __VECTOR_HELPER_IMPL} end.