Module main
[hide private]
[frames] | no frames]

Module main

source code


Version: 1.6.1

Classes [hide private]
  NullDevice
Functions [hide private]
 
default(str) source code
 
validateOptionCombinations(args)
This functions validates we didn't mistakenly chosen options that don't work with each other.
source code
 
readCommand(argv)
Processes the command used to run the simulation from the command line.
source code
 
initWindFromFile(filePath) source code
 
initWaterCurrentsFromFile(filePath) source code
 
initWavesFromFile(filePath) source code
 
initObstaclesFromFile(filePath) source code
 
writeResults(resultsType, env, patrolPoints)
Write the simulation results.
source code
 
run(withDisplay, inputFilesDir, taskFile, numSteps, speed, debug)
The main flow of the application.
source code
Variables [hide private]
  ALLOW_THREADS = 1
  BUFSIZE = 8192
  CLIP = 0
  ERR_CALL = 3
  ERR_DEFAULT = 0
  ERR_DEFAULT2 = 521
  ERR_IGNORE = 0
  ERR_LOG = 5
  ERR_PRINT = 4
  ERR_RAISE = 2
  ERR_WARN = 1
  FLOATING_POINT_SUPPORT = 1
  FPE_DIVIDEBYZERO = 1
  FPE_INVALID = 8
  FPE_OVERFLOW = 2
  FPE_UNDERFLOW = 4
  False_ = False
  Inf = inf
  Infinity = inf
  MAXDIMS = 32
  NAN = nan
  NINF = -inf
  NZERO = -0.0
  NaN = nan
  PINF = inf
  PZERO = 0.0
  RAISE = 2
  SHIFT_DIVIDEBYZERO = 0
  SHIFT_INVALID = 9
  SHIFT_OVERFLOW = 3
  SHIFT_UNDERFLOW = 6
  ScalarType = (<type 'int'>, <type 'float'>, <type 'complex'>, ...
  True_ = True
  UFUNC_BUFSIZE_DEFAULT = 8192
  UFUNC_PYVALS_NAME = 'UFUNC_PYVALS'
  WRAP = 1
  __package__ = None
  absolute = <ufunc 'absolute'>
  add = <ufunc 'add'>
  arccos = <ufunc 'arccos'>
  arccosh = <ufunc 'arccosh'>
  arcsin = <ufunc 'arcsin'>
  arcsinh = <ufunc 'arcsinh'>
  arctan = <ufunc 'arctan'>
  arctan2 = <ufunc 'arctan2'>
  arctanh = <ufunc 'arctanh'>
  bitwise_and = <ufunc 'bitwise_and'>
  bitwise_not = <ufunc 'invert'>
  bitwise_or = <ufunc 'bitwise_or'>
  bitwise_xor = <ufunc 'bitwise_xor'>
  c_ = <numpy.lib.index_tricks.CClass object at 0x3155850>
  cast = {<type 'numpy.int16'>: <function <lambda> at 0x302d668>...
  conj = <ufunc 'conjugate'>
  conjugate = <ufunc 'conjugate'>
  deg2rad = <ufunc 'deg2rad'>
  divide = <ufunc 'divide'>
  e = 2.71828182846
  equal = <ufunc 'equal'>
  exp2 = <ufunc 'exp2'>
  floor_divide = <ufunc 'floor_divide'>
  fmax = <ufunc 'fmax'>
  fmin = <ufunc 'fmin'>
  greater = <ufunc 'greater'>
  greater_equal = <ufunc 'greater_equal'>
  index_exp = <numpy.lib.index_tricks.IndexExpression object at ...
  inf = inf
  infty = inf
  invert = <ufunc 'invert'>
  isfinite = <ufunc 'isfinite'>
  left_shift = <ufunc 'left_shift'>
  less = <ufunc 'less'>
  less_equal = <ufunc 'less_equal'>
  little_endian = True
  log2 = <ufunc 'log2'>
  logaddexp = <ufunc 'logaddexp'>
  logaddexp2 = <ufunc 'logaddexp2'>
  logical_and = <ufunc 'logical_and'>
  logical_not = <ufunc 'logical_not'>
  logical_or = <ufunc 'logical_or'>
  logical_xor = <ufunc 'logical_xor'>
  maximum = <ufunc 'maximum'>
  mgrid = <numpy.lib.index_tricks.nd_grid object at 0x3155790>
  minimum = <ufunc 'minimum'>
  mod = <ufunc 'remainder'>
  multiply = <ufunc 'multiply'>
  nan = nan
  nbytes = {<type 'numpy.int16'>: 2, <type 'numpy.uint16'>: 2, <...
  negative = <ufunc 'negative'>
  newaxis = None
  nextafter = <ufunc 'nextafter'>
  not_equal = <ufunc 'not_equal'>
  ogrid = <numpy.lib.index_tricks.nd_grid object at 0x31557d0>
  ones_like = <ufunc 'ones_like'>
  pi = 3.14159265359
  power = <ufunc 'power'>
  r_ = <numpy.lib.index_tricks.RClass object at 0x3155810>
  rad2deg = <ufunc 'rad2deg'>
  reciprocal = <ufunc 'reciprocal'>
  remainder = <ufunc 'remainder'>
  right_shift = <ufunc 'right_shift'>
  rint = <ufunc 'rint'>
  s_ = <numpy.lib.index_tricks.IndexExpression object at 0x3155950>
  sctypeDict = {0: <type 'numpy.bool_'>, 1: <type 'numpy.int8'>,...
  sctypeNA = {'?': 'Bool', 'B': 'UInt8', 'Bool': <type 'numpy.bo...
  sctypes = {'complex': [<type 'numpy.complex64'>, <type 'numpy....
  sign = <ufunc 'sign'>
  signbit = <ufunc 'signbit'>
  spacing = <ufunc 'spacing'>
  square = <ufunc 'square'>
  subtract = <ufunc 'subtract'>
  true_divide = <ufunc 'true_divide'>
  typeDict = {0: <type 'numpy.bool_'>, 1: <type 'numpy.int8'>, 2...
  typeNA = {'?': 'Bool', 'B': 'UInt8', 'Bool': <type 'numpy.bool...
  typecodes = {'All': '?bhilqpBHILQPefdgFDGSUVOMm', 'AllFloat': ...
Function Details [hide private]

validateOptionCombinations(args)

source code 

This functions validates we didn't mistakenly chosen options that don't work with each other. If options are verified we just return to the the program execution. If the options are incorrect, we gracefully exit.

writeResults(resultsType, env, patrolPoints)

source code 

Write the simulation results.

TODO: this function needs to be further organized once we have a better picture regarding what types of results are usually needed. Also the function arguments should be revised as a part of the function reorganization.

Parameters:
  • resultsType (string) - a string identifier for the type of result to write
  • resultsType (string) - The simulation environment, used to extract data from
  • patrolPoints (array of (x,y) tuples) - All the points that participate in the patrol. This is required when writing data for heuristicDivide algorithm, and might be removed at some point.

run(withDisplay, inputFilesDir, taskFile, numSteps, speed, debug)

source code 

The main flow of the application. The arguments are generated by command line options, or their defaults.

Parameters:
  • withDisplay (boolean) - Tells whether to run in a GUI mode or in non-GUI mode
  • inputFilesDir (string) - The directory in which the input files are
  • taskFile (string) - A task-definition-language file
  • numSteps (int) - Number of steps to simulate
  • speed (int) - frames-per-second (each frame is one simulated second)

Variables Details [hide private]

ScalarType

Value:
(<type 'int'>,
 <type 'float'>,
 <type 'complex'>,
 <type 'long'>,
 <type 'bool'>,
 <type 'str'>,
 <type 'unicode'>,
 <type 'buffer'>,
...

cast

Value:
{<type 'numpy.int16'>: <function <lambda> at 0x302d668>, <type 'numpy.\
uint16'>: <function <lambda> at 0x302d6e0>, <type 'numpy.float64'>: <f\
unction <lambda> at 0x302d758>, <type 'numpy.object_'>: <function <lam\
bda> at 0x302d7d0>, <type 'numpy.datetime64'>: <function <lambda> at 0\
x302d848>, <type 'numpy.int32'>: <function <lambda> at 0x302d8c0>, <ty\
pe 'numpy.uint32'>: <function <lambda> at 0x302d938>, <type 'numpy.flo\
at128'>: <function <lambda> at 0x302d9b0>, <type 'numpy.string_'>: <fu\
nction <lambda> at 0x302da28>, <type 'numpy.timedelta64'>: <function <\
...

index_exp

Value:
<numpy.lib.index_tricks.IndexExpression object at 0x31558d0>

nbytes

Value:
{<type 'numpy.int16'>: 2, <type 'numpy.uint16'>: 2, <type 'numpy.float\
64'>: 8, <type 'numpy.object_'>: 8, <type 'numpy.datetime64'>: 8, <typ\
e 'numpy.int32'>: 4, <type 'numpy.uint32'>: 4, <type 'numpy.float128'>\
: 16, <type 'numpy.string_'>: 0, <type 'numpy.timedelta64'>: 8, <type \
'numpy.int64'>: 8, <type 'numpy.uint64'>: 8, <type 'numpy.complex64'>:\
 8, <type 'numpy.unicode_'>: 0, <type 'numpy.float16'>: 2, <type 'nump\
y.bool_'>: 1, <type 'numpy.int64'>: 8, <type 'numpy.uint64'>: 8, <type\
 'numpy.complex128'>: 16, <type 'numpy.void'>: 0, <type 'numpy.int8'>:\
...

sctypeDict

Value:
{0: <type 'numpy.bool_'>,
 1: <type 'numpy.int8'>,
 2: <type 'numpy.uint8'>,
 3: <type 'numpy.int16'>,
 4: <type 'numpy.uint16'>,
 5: <type 'numpy.int32'>,
 6: <type 'numpy.uint32'>,
 7: <type 'numpy.int64'>,
...

sctypeNA

Value:
{'?': 'Bool',
 'B': 'UInt8',
 'Bool': <type 'numpy.bool_'>,
 'Complex128': <type 'numpy.complex256'>,
 'Complex32': <type 'numpy.complex64'>,
 'Complex64': <type 'numpy.complex128'>,
 'D': 'Complex64',
 'Datetime64': <type 'numpy.datetime64'>,
...

sctypes

Value:
{'complex': [<type 'numpy.complex64'>,
             <type 'numpy.complex128'>,
             <type 'numpy.complex256'>],
 'float': [<type 'numpy.float16'>,
           <type 'numpy.float32'>,
           <type 'numpy.float64'>,
           <type 'numpy.float128'>],
 'int': [<type 'numpy.int8'>, <type 'numpy.int16'>, <type 'numpy.int32\
...

typeDict

Value:
{0: <type 'numpy.bool_'>,
 1: <type 'numpy.int8'>,
 2: <type 'numpy.uint8'>,
 3: <type 'numpy.int16'>,
 4: <type 'numpy.uint16'>,
 5: <type 'numpy.int32'>,
 6: <type 'numpy.uint32'>,
 7: <type 'numpy.int64'>,
...

typeNA

Value:
{'?': 'Bool',
 'B': 'UInt8',
 'Bool': <type 'numpy.bool_'>,
 'Complex128': <type 'numpy.complex256'>,
 'Complex32': <type 'numpy.complex64'>,
 'Complex64': <type 'numpy.complex128'>,
 'D': 'Complex64',
 'Datetime64': <type 'numpy.datetime64'>,
...

typecodes

Value:
{'All': '?bhilqpBHILQPefdgFDGSUVOMm',
 'AllFloat': 'efdgFDG',
 'AllInteger': 'bBhHiIlLqQpP',
 'Character': 'c',
 'Complex': 'FDG',
 'Datetime': 'Mm',
 'Float': 'efdg',
 'Integer': 'bhilqp',
...