push another simulated state onto the queue,
return the difference in (simulation) time between the
last frame requested by the drawing engine and the last frame
pushed on by the simulator
graph must be copied before calling this.
push another simulated state onto the queue, but only if the queue
is empty
return the difference in (simulation) time between the
last frame requested by the drawing engine and the last frame
pushed on by the simulator
graph must be copied before calling this.
Updates arrLfDerivDst with the instantaneous derivatives
of the continuous-time component of the agent's state
given its current state and sensor readings.
Updates arrLfDerivDst with the instantaneous derivatives
of the continuous-time component of the agent's state
given its current state and sensor readings
Updates arrLfDerivDst with the instantaneous derivatives
of the continuous-time component of the agent's state
given its current state and sensor readings
Updates arrLfDerivDst with the instantaneous derivatives
of the continuous-time component of the agent's state
given its current state and sensor readings
Updates arrLfDerivDst with the instantaneous derivatives
of the continuous-time component of the agent's state
given its current state and sensor readings
Updates arrLfDerivDst with the instantaneous derivatives
of the continuous-time component of the agent's state
given its current state and sensor readings
gets "epsilon" (floating point values "epsilon" apart
are considered to be equal)
Meaningful to numerical simulation, but meaningless
to underlying system being modelled.
gets "epsilon" (floating point values "epsilon" apart
are considered to be equal)
Meaningful to numerical simulation, but meaningless
to underlying system being modelled.
gets "epsilon" (floating point values "epsilon" apart
are considered to be equal)
Meaningful to numerical simulation, but meaningless
to underlying system being modelled.
Finds the ith component in screen coordinates of a vector
indicated by the portion of the array arrLfState starting
at nIdxOff; Fails if nIdxOff >= 2, or if wrapped projection is null.
Increment round counter (e.g which round of the algorithm we're on)
This is essential for
correct negotiation of constraint tree topology re-arrangements
Increment round counter (e.g which round of the algorithm we're on)
This is essential for
correct negotiation of constraint tree topology re-arrangements
Clone function for IMsgChannel interface
: Note the Lisp-like lazy internal copy semantics:
This reflects the design intent of modelling discrete state
transitions inspired by the functional paradigm, while modeling
continuous-time state using the array-based programming paradigm
(see
http://en.wikipedia.org/wiki/Array-based_programming)
Implementation of "Move in global frame" formation morphing algorithm
rewritten (nearly) from scratch to represent state of the algorithm circa
February 2007.
Implementation of "Move in local frame" formation morphing algorithm
rewritten (nearly) from scratch to represent state of the algorithm circa
February 2007.
Implementat ion of
interface for specifying per-agent information neccessary to
perform formation morphing to morph to a rectangle with a
"comb" topology.
Implementat ion of
interface for specifying per-agent information neccessary to
perform formation morphing to morph to a rectangle with a
"comb" topology.
Implementat ion of
interface for specifying per-agent information neccessary to
perform formation morphing to morph to a rectangle with a
"comb" topology.
Implementat ion of
interface for specifying per-agent information neccessary to
perform formation morphing to morph to a rectangle with a
"comb" topology.
Adapter to take one interface of type IProjection and make a
IProjection which maps its inputs to a translation of the results
of the wrapped IProjection on the same inputs
This code should be fixed to be more readable
Currently it is copied from TreeAlgDraw, but with the
"adding to the state queue" and "removing from the state queue"
disabled
sets "epsilon" (floating point values "epsilon" apart
are considered to be equal)
Meaningful to numerical simulation, but meaningless
to underlying system being modelled.
sets "epsilon" (floating point values "epsilon" apart
are considered to be equal)
Meaningful to numerical simulation, but meaningless
to underlying system being modelled.
sets "epsilon" (floating point values "epsilon" apart
are considered to be equal)
Meaningful to numerical simulation, but meaningless
to underlying system being modelled.
Given the previous state of an agent, and the channels
to recieve messages from, recieve messages (destructively)
and return new state (non-destructively).
Given the previous state of an agent, and the channels
to recieve messages from, recieve messages (destructively)
and return new state (non-destructively).
Given the previous state of an agent, and the channels
to recieve messages from, recieve messages (destructively)
and return new state (non-destructively).
Given the previous state of an agent, and the channels
to recieve messages from, recieve messages (destructively)
and return new state (non-destructively).
Given the previous state of an agent, and the channels
to recieve messages from, recieve messages (destructively)
and return new state (non-destructively).
Given the previous state of an agent, and the channels
to recieve messages from, recieve messages (destructively)
and return new state (non-destructively).
Given the previous state of an agent, and the channels
to recieve messages from, recieve messages (destructively)
and return new state (non-destructively).
Given the previous state of an agent, and the channels
to recieve messages from, recieve messages (destructively)
and return new state (non-destructively).
Given the previous state of an agent, and the channels
to recieve messages from, recieve messages (destructively)
and return new state (non-destructively).
Given the previous state of an agent, and the channels
to recieve messages from, recieve messages (destructively)
and return new state (non-destructively).
Given the previous state of an agent, and the channels
to recieve messages from, recieve messages (destructively)
and return new state (non-destructively).
Given the previous state of an agent, and the channels
to recieve messages from, recieve messages (destructively)
and return new state (non-destructively).
Given the previous state of an agent, and the channels
to recieve messages from, recieve messages (destructively)
and return new state (non-destructively).
Given the previous state of an agent, and the channels
to recieve messages from, recieve messages (destructively)
and return new state (non-destructively).