XIncludeFile "Vector.pb" EnableExplicit ;****************** ;- Line module ;****************** Structure Line3 a.Vector3 b.Vector3 EndStructure Procedure setLine3(*line.Line3, *a.Vector3, *b.Vector3) copyVector3(*line\a, *a) copyVector3(*line\b, *b) EndProcedure Procedure copyLine3(*result.Line3, *line.Line3) copyVector3(*result\a, *line\a) copyVector3(*result\b, *line\b) EndProcedure Procedure calculateLineVector(*result.Vector3, *line.Line3) copyVector3(*result, *line\b) subVector3(*result, *line\a) EndProcedure Procedure.f distanceLinePoint(*line.Line3, *vector.Vector3) Define ab.Vector3 : calculateLineVector(@ab, *line) Define av.Vector3 copyVector3(@av, *vector) subVector3(@av, *line\a) Define cross.Vector3 : crossVector3(@cross, @av, @ab) Define result.f = lengthVector3(@cross) / lengthVector3(@ab) ProcedureReturn result EndProcedure ; IDE Options = PureBasic 5.11 (Windows - x64) ; CursorPosition = 39 ; Folding = - ; EnableAsm ; EnableUnicode ; EnableThread ; EnableXP ; CPU = 1