DistributeClusterGoals:
--------------------------------------------------------------------------
Given a set of geometric goals for the cluster, with corresponding target
IDs and a desired team structure mapping those IDs into various teams, this
function returns a set of "teamGoals" structures as well as the relative
geometry of each team's reference with respect to the cluster origin.
Only valid for circular orbits.
Since version 7.
--------------------------------------------------------------------------
Form:
[teamGoals,refGoals] = DistributeClusterGoals( clusterGoals, targetIDs, teams, dPhi );
--------------------------------------------------------------------------
------
Inputs
------
clusterGoals (.) Set of all geometric goals for the cluster
targetIDs (1,:) Set of unique ID numbers for the cluster goals
teams (.) Data structure array of team info, where all
member and reference IDs correspond to the
"targetIDs" set.
dPhi (1) Angular resolution for variable state discretization
-------
Outputs
-------
teamGoals (.) Array of team goals data structures
refGoals (.) Array of geometric goal structures, describing
relative geometry of each reference with
respect to the cluster origin.
--------------------------------------------------------------------------
Children:
FormationFlying: Coord/CirclePhase
FormationFlying: DataStructures/Geometry_Structure
FormationFlying: DataStructures/TeamGoals_Structure
FormationFlying: DataStructures/Team_Structure
FormationFlying: Guidance/IsDuplicateState
FormationFlying: Guidance/PCGoals
FormationFlying: Transformation/DeltaElem2Goals
FormationFlying: Transformation/Goals2DeltaElem