This commit is contained in:
Frank
2023-09-24 22:46:50 +02:00
parent c46061466c
commit 3568f27150
2 changed files with 29 additions and 8 deletions
+9 -2
View File
@@ -141,7 +141,9 @@ VECTOR.__index = VECTOR
-- ToDo list -- ToDo list
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- TODO: A lot... -- TODO: 3D rotation
-- TODO: Markers
-- TODO: Documentation
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Constructor -- Constructor
@@ -1063,6 +1065,8 @@ end
function VECTOR.__div(a, b) function VECTOR.__div(a, b)
assert(VECTOR._IsVector(a) and type(b) == "number", "div: wrong argument types (expected <vector> and <number>)") assert(VECTOR._IsVector(a) and type(b) == "number", "div: wrong argument types (expected <vector> and <number>)")
env.info("FF __div")
local c=VECTOR:New(a.x/b, a.y/b, a.z/b) local c=VECTOR:New(a.x/b, a.y/b, a.z/b)
@@ -1081,7 +1085,10 @@ end
-- @param #VECTOR b Vector b. -- @param #VECTOR b Vector b.
-- @return #boolean If `true`, both vectors are equal -- @return #boolean If `true`, both vectors are equal
function VECTOR.__eq(a, b) function VECTOR.__eq(a, b)
assert(VECTOR._IsVector(a) and VECTOR._IsVector(b), "ERROR in VECTOR.__eq: wrong argument types: (expected <vector> and <vector>)") --assert(VECTOR._IsVector(a) and VECTOR._IsVector(b), "ERROR in VECTOR.__eq: wrong argument types: (expected <vector> and <vector>)")
env.info("FF __eq",showMessageBox)
BASE:I(a)
BASE:I(b)
return a.x==b.x and a.y==b.y and a.z==b.z return a.x==b.x and a.y==b.y and a.z==b.z
end end
+20 -6
View File
@@ -97,7 +97,7 @@ function NAVAID:New(ZoneName, SceneryName, Type)
self.zone=ZONE:FindByName(ZoneName) self.zone=ZONE:FindByName(ZoneName)
self.coordinate=self.zone:GetCoordinate() self=self.zone:GetCoordinate()
if SceneryName then if SceneryName then
self.scenery=SCENERY:FindByNameInZone(SceneryName, ZoneName) self.scenery=SCENERY:FindByNameInZone(SceneryName, ZoneName)
@@ -173,6 +173,8 @@ end
-- Private Functions -- Private Functions
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- Add private CLASS functions here.
-- No private NAVAID functions yet.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
@@ -434,7 +436,7 @@ end
-- @field #string ClassName Name of the class. -- @field #string ClassName Name of the class.
-- @field #number verbose Verbosity of output. -- @field #number verbose Verbosity of output.
-- @field #string name Name of the point. -- @field #string name Name of the point.
-- @field Core.Point#COORDINATE coordinate Coordinate of the fix. -- @field Core.Vector#VECTOR vector Position vector of the fix.
-- @field Wrapper.Marker#MARKER marker Marker on F10 map. -- @field Wrapper.Marker#MARKER marker Marker on F10 map.
-- @field #boolean isCompulsory Is this a compulsory fix. -- @field #boolean isCompulsory Is this a compulsory fix.
-- --
@@ -477,17 +479,17 @@ NAVPOINT.version="0.0.1"
-- Constructor(s) -- Constructor(s)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--- Create a new NAVPOINT class instance from a given COORDINATE. --- Create a new NAVPOINT class instance from a given VECTOR.
-- @param #NAVPOINT self -- @param #NAVPOINT self
-- @param #string Name Name of the fix. Should be unique! -- @param #string Name Name of the fix. Should be unique!
-- @param Core.Point#COORDINATE Coordinate Coordinate of the point. -- @param Core.Vector#VECTOR Vector Position vector of the navpoint.
-- @return #NAVPOINT self -- @return #NAVPOINT self
function NAVPOINT:NewFromCoordinate(Name, Coordinate) function NAVPOINT:NewFromVector(Name, Vector)
-- Inherit everything from BASE class. -- Inherit everything from BASE class.
self=BASE:Inherit(self, BASE:New()) -- #NAVFIX self=BASE:Inherit(self, BASE:New()) -- #NAVFIX
self.coordinate=Coordinate self.vector=Vector
self.name=Name self.name=Name
@@ -497,6 +499,18 @@ function NAVPOINT:NewFromCoordinate(Name, Coordinate)
return self return self
end end
--- Create a new NAVPOINT class instance from a given COORDINATE.
-- @param #NAVPOINT self
-- @param #string Name Name of the fix. Should be unique!
-- @param Core.Point#COORDINATE Coordinate Coordinate of the point.
-- @return #NAVPOINT self
function NAVPOINT:NewFromCoordinate(Name, Coordinate)
local Vector=VECTOR:NewFromVec(Coordinate)
self=NAVPOINT:NewFromVector(Name, Vector)
return self
end
--- Create a new NAVPOINT class instance from a given NAVPOINT. --- Create a new NAVPOINT class instance from a given NAVPOINT.
-- You have to specify the distance and bearing from the new point to the given point. *E.g.*, for a distance of 5 NM and a bearing of 090° (West), the -- You have to specify the distance and bearing from the new point to the given point. *E.g.*, for a distance of 5 NM and a bearing of 090° (West), the
-- new nav point is created 5 NM East of the given nav point. The reason is that this corresponts to convention used in most maps. -- new nav point is created 5 NM East of the given nav point. The reason is that this corresponts to convention used in most maps.