Allows accessing existing Vector Geometry
Tool components.
Enumerate the
existing vectors.
[C#] |
Copy Code
|
foreach (IAgCrdnVector vector in provider.Vectors)
{
IAgCrdn crdn = vector as IAgCrdn;
Console.WriteLine("Name: {0}, type: {1}", crdn.Name, vector.Type);
}
|
|
Enumerate the
existing points.
[C#] |
Copy Code
|
foreach (IAgCrdnPoint point in provider.Points)
{
IAgCrdn crdn = point as IAgCrdn;
Console.WriteLine("Name: {0}, type: {1}", crdn.Name, point.Type);
}
|
|
Enumerate the
existing angles.
[C#] |
Copy Code
|
foreach (IAgCrdnAngle angle in provider.Angles)
{
IAgCrdn crdn = angle as IAgCrdn;
Console.WriteLine("Name: {0}, type: {1}", crdn.Name, angle.Type);
}
|
|
Enumerate the
existing axes.
[C#] |
Copy Code
|
foreach (IAgCrdnAxes axes in provider.Axes)
{
IAgCrdn crdn = axes as IAgCrdn;
Console.WriteLine("Name: {0}, type: {1}", crdn.Name, axes.Type);
}
|
|
Enumerate the
existing planes.
[C#] |
Copy Code
|
foreach (IAgCrdnPlane plane in provider.Planes)
{
IAgCrdn crdn = plane as IAgCrdn;
Console.WriteLine("Name: {0}, type: {1}", crdn.Name, plane.Type);
}
|
|
Enumerate the
existing systems.
[C#] |
Copy Code
|
foreach (IAgCrdnSystem system in provider.Systems)
{
IAgCrdn crdn = system as IAgCrdn;
Console.WriteLine("Name: {0}, type: {1}", crdn.Name, system.Type);
}
|
|
Enumerate the
existing parameter sets.
[C#] |
Copy Code
|
foreach (IAgCrdnParameterSet parameterSet in provider.ParameterSets)
{
IAgCrdn crdn = parameterSet as IAgCrdn;
Console.WriteLine("Name: {0}, type: {1}", crdn.Name, parameterSet.Type);
}
|
|
Enumerate the
existing calc scalars.
[C#] |
Copy Code
|
foreach (IAgCrdnCalcScalar calcScalar in provider.CalcScalars)
{
IAgCrdn crdn = calcScalar as IAgCrdn;
Console.WriteLine("Name: {0}, type: {1}", crdn.Name, calcScalar.Type);
}
|
|
Enumerate the
existing conditions.
[C#] |
Copy Code
|
foreach (IAgCrdnCondition condition in provider.Conditions)
{
IAgCrdn crdn = condition as IAgCrdn;
Console.WriteLine("Name: {0}, type: {1}", crdn.Name, condition.Type);
}
|
|
Enumerate the
existing events.
[C#] |
Copy Code
|
foreach (IAgCrdnEvent @event in provider.Events)
{
IAgCrdn crdn = @event as IAgCrdn;
Console.WriteLine("Name: {0}, type: {1}", crdn.Name, @event.Type);
}
|
|
Enumerate the
existing event arrays.
[C#] |
Copy Code
|
foreach (IAgCrdnEventArray eventArray in provider.EventArrays)
{
IAgCrdn crdn = eventArray as IAgCrdn;
Console.WriteLine("Name: {0}, type: {1}", crdn.Name, eventArray.Type);
}
|
|
Enumerate the
existing event intervals.
[C#] |
Copy Code
|
foreach (IAgCrdnEventInterval eventInterval in provider.EventIntervals)
{
IAgCrdn crdn = eventInterval as IAgCrdn;
Console.WriteLine("Name: {0}, type: {1}", crdn.Name, eventInterval.Type);
}
|
|
Enumerate the
existing event interval collections.
[C#] |
Copy Code
|
foreach (IAgCrdnEventIntervalCollection eventIntervalCollection in provider.EventIntervalCollections)
{
IAgCrdn crdn = eventIntervalCollection as IAgCrdn;
Console.WriteLine("Name: {0}, type: {1}", crdn.Name, eventIntervalCollection.Type);
}
|
|
Enumerate the
existing event interval lists.
[C#] |
Copy Code
|
foreach (IAgCrdnEventIntervalList eventIntervalList in provider.EventIntervalLists)
{
IAgCrdn crdn = eventIntervalList as IAgCrdn;
Console.WriteLine("Name: {0}, type: {1}", crdn.Name, eventIntervalList.Type);
}
|
|
Iterate through the
existing vectors.
[C#] |
Copy Code
|
for (int i = 0; i < provider.Vectors.Count; i++)
{
IAgCrdnVector vector = provider.Vectors[i];
IAgCrdn crdn = vector as IAgCrdn;
Console.WriteLine("Name: {0}, type: {1}", crdn.Name, vector.Type);
}
|
|
Iterate through the
existing points.
[C#] |
Copy Code
|
for (int i = 0; i < provider.Points.Count; i++)
{
IAgCrdnPoint point = provider.Points[i];
IAgCrdn crdn = provider.Points[i] as IAgCrdn;
Console.WriteLine("Name: {0}, type: {1}", crdn.Name, point.Type);
}
|
|
Iterate through
existing angles.
[C#] |
Copy Code
|
for (int i = 0; i < provider.Angles.Count; i++)
{
IAgCrdnAngle angle = provider.Angles[i];
IAgCrdn crdn = provider.Angles[i] as IAgCrdn;
Console.WriteLine("Name: {0}, type: {1}", crdn.Name, angle.Type);
}
|
|
Iterate through
existing axes.
[C#] |
Copy Code
|
for (int i = 0; i < provider.Axes.Count; i++)
{
IAgCrdnAxes axes = provider.Axes[i];
IAgCrdn crdn = provider.Axes[i] as IAgCrdn;
Console.WriteLine("Name: {0}, type: {1}", crdn.Name, axes.Type);
}
|
|
Iterate through
existing planes.
[C#] |
Copy Code
|
for (int i = 0; i < provider.Planes.Count; i++)
{
IAgCrdnPlane plane = provider.Planes[i];
IAgCrdn crdn = provider.Planes[i] as IAgCrdn;
Console.WriteLine("Name: {0}, type: {1}", crdn.Name, plane.Type);
}
|
|
Iterate through
existing systems (coordinate reference frames).
[C#] |
Copy Code
|
for (int i = 0; i < provider.Systems.Count; i++)
{
IAgCrdnSystem crdnSystem = provider.Systems[i];
IAgCrdn crdn = provider.Systems[i] as IAgCrdn;
Console.WriteLine("Name: {0}, type: {1}", crdn.Name, crdnSystem.Type);
}
|
|
Iterate through
existing parameter sets.
[C#] |
Copy Code
|
for (int i = 0; i < provider.ParameterSets.Count; i++)
{
IAgCrdnParameterSet parameterSet = provider.ParameterSets[i];
IAgCrdn crdn = provider.ParameterSets[i] as IAgCrdn;
Console.WriteLine("Name: {0}, type: {1}", crdn.Name, parameterSet.Type);
}
|
|
Iterate through
existing calc scalars.
[C#] |
Copy Code
|
for (int i = 0; i < provider.CalcScalars.Count; i++)
{
IAgCrdnCalcScalar calcScalar = provider.CalcScalars[i];
IAgCrdn crdn = provider.CalcScalars[i] as IAgCrdn;
Console.WriteLine("Name: {0}, type: {1}", crdn.Name, calcScalar.Type);
}
|
|
Iterate through
existing conditions.
[C#] |
Copy Code
|
for (int i = 0; i < provider.Conditions.Count; i++)
{
IAgCrdnCondition condition = provider.Conditions[i];
IAgCrdn crdn = provider.Conditions[i] as IAgCrdn;
Console.WriteLine("Name: {0}, type: {1}", crdn.Name, condition.Type);
}
|
|
Iterate through
existing events.
[C#] |
Copy Code
|
for (int i = 0; i < provider.Events.Count; i++)
{
IAgCrdnEvent @event = provider.Events[i];
IAgCrdn crdn = provider.Events[i] as IAgCrdn;
Console.WriteLine("Name: {0}, type: {1}", crdn.Name, @event.Type);
}
|
|
Iterate through
existing event arrays.
[C#] |
Copy Code
|
for (int i = 0; i < provider.EventArrays.Count; i++)
{
IAgCrdnEventArray eventArray = provider.EventArrays[i];
IAgCrdn crdn = provider.EventArrays[i] as IAgCrdn;
Console.WriteLine("Name: {0}, type: {1}", crdn.Name, eventArray.Type);
}
|
|
Iterate through
existing event intervals.
[C#] |
Copy Code
|
for (int i = 0; i < provider.EventIntervals.Count; i++)
{
IAgCrdnEventInterval eventInterval = provider.EventIntervals[i];
IAgCrdn crdn = provider.EventIntervals[i] as IAgCrdn;
Console.WriteLine("Name: {0}, type: {1}", crdn.Name, eventInterval.Type);
}
|
|
Iterate through
existing event interval collections.
[C#] |
Copy Code
|
for (int i = 0; i < provider.EventIntervalCollections.Count; i++)
{
IAgCrdnEventIntervalCollection eventIntervalCollection = provider.EventIntervalCollections[i];
IAgCrdn crdn = provider.EventIntervalCollections[i] as IAgCrdn;
Console.WriteLine("Name: {0}, type: {1}", crdn.Name, eventIntervalCollection.Type);
}
|
|
Iterate through
existing event interval lists.
[C#] |
Copy Code
|
for (int i = 0; i < provider.EventIntervalLists.Count; i++)
{
IAgCrdnEventIntervalList eventIntervalList = provider.EventIntervalLists[i];
IAgCrdn crdn = provider.EventIntervalLists[i] as IAgCrdn;
Console.WriteLine("Name: {0}, type: {1}", crdn.Name, eventIntervalList.Type);
}
|
|
Enumerate the
existing vectors.
[Visual Basic .NET] |
Copy Code
|
For Each
vector As IAgCrdnVector In provider.Vectors
Dim crdn
As IAgCrdn = TryCast(vector,
IAgCrdn)
Console.WriteLine("Name: {0}, type: {1}", crdn.Name,
vector.Type)
Next
|
|
Enumerate the
existing points.
[Visual Basic .NET] |
Copy Code
|
For Each
point As IAgCrdnPoint In provider.Points
Dim crdn
As IAgCrdn = TryCast(point,
IAgCrdn)
Console.WriteLine("Name: {0}, type: {1}", crdn.Name,
point.Type)
Next
|
|
Enumerate the
existing angles.
[Visual Basic .NET] |
Copy Code
|
For Each
angle As IAgCrdnAngle In provider.Angles
Dim crdn
As IAgCrdn = TryCast(angle,
IAgCrdn)
Console.WriteLine("Name: {0}, type: {1}", crdn.Name,
angle.Type)
Next
|
|
Enumerate the
existing axes.
[Visual Basic .NET] |
Copy Code
|
For Each
axes As IAgCrdnAxes In provider.Axes
Dim crdn
As IAgCrdn = TryCast(axes,
IAgCrdn)
Console.WriteLine("Name: {0}, type: {1}", crdn.Name,
axes.Type)
Next
|
|
Enumerate the
existing planes.
[Visual Basic .NET] |
Copy Code
|
For Each
plane As IAgCrdnPlane In provider.Planes
Dim crdn
As IAgCrdn = TryCast(plane,
IAgCrdn)
Console.WriteLine("Name: {0}, type: {1}", crdn.Name,
plane.Type)
Next
|
|
Enumerate the
existing systems.
[Visual Basic .NET] |
Copy Code
|
For Each
system As IAgCrdnSystem In provider.Systems
Dim crdn
As IAgCrdn = TryCast(system,
IAgCrdn)
Console.WriteLine("Name: {0}, type: {1}", crdn.Name,
system.Type)
Next
|
|
Enumerate the
existing parameter sets.
[Visual Basic .NET] |
Copy Code
|
For Each
parameterSet As IAgCrdnParameterSet
In provider.ParameterSets
Dim crdn
As IAgCrdn = TryCast(parameterSet,
IAgCrdn)
Console.WriteLine("Name: {0}, type: {1}", crdn.Name,
parameterSet.Type)
Next
|
|
Enumerate the
existing calc scalars.
[Visual Basic .NET] |
Copy Code
|
For Each
calcScalar As IAgCrdnCalcScalar
In provider.CalcScalars
Dim crdn
As IAgCrdn = TryCast(calcScalar,
IAgCrdn)
Console.WriteLine("Name: {0}, type: {1}", crdn.Name,
calcScalar.Type)
Next
|
|
Enumerate the
existing conditions.
[Visual Basic .NET] |
Copy Code
|
For Each
condition As IAgCrdnCondition
In provider.Conditions
Dim crdn
As IAgCrdn = TryCast(condition,
IAgCrdn)
Console.WriteLine("Name: {0}, type: {1}", crdn.Name,
condition.Type)
Next
|
|
Enumerate the
existing events.
[Visual Basic .NET] |
Copy Code
|
For Each
[event] As IAgCrdnEvent In provider.Events
Dim crdn
As IAgCrdn = TryCast([event],
IAgCrdn)
Console.WriteLine("Name: {0}, type: {1}", crdn.Name,
[event].Type)
Next
|
|
Enumerate the
existing event arrays.
[Visual Basic .NET] |
Copy Code
|
For Each
eventArray As IAgCrdnEventArray
In provider.EventArrays
Dim crdn
As IAgCrdn = TryCast(eventArray,
IAgCrdn)
Console.WriteLine("Name: {0}, type: {1}", crdn.Name,
eventArray.Type)
Next
|
|
Enumerate the
existing event intervals.
[Visual Basic .NET] |
Copy Code
|
For Each
eventInterval As IAgCrdnEventInterval
In provider.EventIntervals
Dim crdn
As IAgCrdn = TryCast(eventInterval,
IAgCrdn)
Console.WriteLine("Name: {0}, type: {1}", crdn.Name,
eventInterval.Type)
Next
|
|
Enumerate the
existing event interval collections.
[Visual Basic .NET] |
Copy Code
|
For Each
eventIntervalCollection As
IAgCrdnEventIntervalCollection In
provider.EventIntervalCollections
Dim crdn
As IAgCrdn =
TryCast(eventIntervalCollection, IAgCrdn)
Console.WriteLine("Name: {0}, type: {1}", crdn.Name,
eventIntervalCollection.Type)
Next
|
|
Enumerate the
existing event interval lists.
[Visual Basic .NET] |
Copy Code
|
For Each
eventIntervalList As
IAgCrdnEventIntervalList In
provider.EventIntervalLists
Dim crdn
As IAgCrdn =
TryCast(eventIntervalList, IAgCrdn)
Console.WriteLine("Name: {0}, type: {1}", crdn.Name,
eventIntervalList.Type)
Next
|
|
Iterate through the
existing vectors.
[Visual Basic .NET] |
Copy Code
|
Dim i As
Integer = 0
While i <>
Dim vector
As IAgCrdnVector =
provider.Vectors(i)
Dim crdn
As IAgCrdn = TryCast(vector,
IAgCrdn)
Console.WriteLine("Name: {0}, type: {1}", crdn.Name,
vector.Type)
System.Math.Max(System.Threading.Interlocked.Increment(i),i
- 1)
End While
|
|
Iterate through the
existing points.
[Visual Basic .NET] |
Copy Code
|
Dim i As
Integer = 0
While i <>
Dim point
As IAgCrdnPoint =
provider.Points(i)
Dim crdn
As IAgCrdn =
TryCast(provider.Points(i), IAgCrdn)
Console.WriteLine("Name: {0}, type: {1}", crdn.Name,
point.Type)
System.Math.Max(System.Threading.Interlocked.Increment(i),i
- 1)
End While
|
|
Iterate through
existing angles.
[Visual Basic .NET] |
Copy Code
|
Dim i As
Integer = 0
While i <>
Dim angle
As IAgCrdnAngle =
provider.Angles(i)
Dim crdn
As IAgCrdn =
TryCast(provider.Angles(i), IAgCrdn)
Console.WriteLine("Name: {0}, type: {1}", crdn.Name,
angle.Type)
System.Math.Max(System.Threading.Interlocked.Increment(i),i
- 1)
End While
|
|
Iterate through
existing axes.
[Visual Basic .NET] |
Copy Code
|
Dim i As
Integer = 0
While i <>
Dim axes
As IAgCrdnAxes = provider.Axes(i)
Dim crdn
As IAgCrdn = TryCast(provider.Axes(i),
IAgCrdn)
Console.WriteLine("Name: {0}, type: {1}", crdn.Name,
axes.Type)
System.Math.Max(System.Threading.Interlocked.Increment(i),i
- 1)
End While
|
|
Iterate through
existing planes.
[Visual Basic .NET] |
Copy Code
|
Dim i As
Integer = 0
While i <>
Dim plane
As IAgCrdnPlane =
provider.Planes(i)
Dim crdn
As IAgCrdn =
TryCast(provider.Planes(i), IAgCrdn)
Console.WriteLine("Name: {0}, type: {1}", crdn.Name,
plane.Type)
System.Math.Max(System.Threading.Interlocked.Increment(i),i
- 1)
End While
|
|
Iterate through
existing systems (coordinate reference frames).
[Visual Basic .NET] |
Copy Code
|
Dim i As
Integer = 0
While i <>
Dim crdnSystem
As IAgCrdnSystem =
provider.Systems(i)
Dim crdn
As IAgCrdn =
TryCast(provider.Systems(i), IAgCrdn)
Console.WriteLine("Name: {0}, type: {1}", crdn.Name,
crdnSystem.Type)
System.Math.Max(System.Threading.Interlocked.Increment(i),i
- 1)
End While
|
|
Iterate through
existing parameter sets.
[Visual Basic .NET] |
Copy Code
|
Dim i As
Integer = 0
While i <>
Dim
parameterSet As IAgCrdnParameterSet =
provider.ParameterSets(i)
Dim crdn
As IAgCrdn =
TryCast(provider.ParameterSets(i), IAgCrdn)
Console.WriteLine("Name: {0}, type: {1}", crdn.Name,
parameterSet.Type)
System.Math.Max(System.Threading.Interlocked.Increment(i),i
- 1)
End While
|
|
Iterate through
existing calc scalars.
[Visual Basic .NET] |
Copy Code
|
Dim i As
Integer = 0
While i <>
Dim calcScalar
As IAgCrdnCalcScalar =
provider.CalcScalars(i)
Dim crdn
As IAgCrdn =
TryCast(provider.CalcScalars(i), IAgCrdn)
Console.WriteLine("Name: {0}, type: {1}", crdn.Name,
calcScalar.Type)
System.Math.Max(System.Threading.Interlocked.Increment(i),i
- 1)
End While
|
|
Iterate through
existing conditions.
[Visual Basic .NET] |
Copy Code
|
Dim i As
Integer = 0
While i <>
Dim condition
As IAgCrdnCondition =
provider.Conditions(i)
Dim crdn
As IAgCrdn =
TryCast(provider.Conditions(i), IAgCrdn)
Console.WriteLine("Name: {0}, type: {1}", crdn.Name,
condition.Type)
System.Math.Max(System.Threading.Interlocked.Increment(i),i
- 1)
End While
|
|
Iterate through
existing events.
[Visual Basic .NET] |
Copy Code
|
Dim i As
Integer = 0
While i <>
Dim [event]
As IAgCrdnEvent =
provider.Events(i)
Dim crdn
As IAgCrdn =
TryCast(provider.Events(i), IAgCrdn)
Console.WriteLine("Name: {0}, type: {1}", crdn.Name,
[event].Type)
System.Math.Max(System.Threading.Interlocked.Increment(i),i
- 1)
End While
|
|
Iterate through
existing event arrays.
[Visual Basic .NET] |
Copy Code
|
Dim i As
Integer = 0
While i <>
Dim eventArray
As IAgCrdnEventArray =
provider.EventArrays(i)
Dim crdn
As IAgCrdn =
TryCast(provider.EventArrays(i), IAgCrdn)
Console.WriteLine("Name: {0}, type: {1}", crdn.Name,
eventArray.Type)
System.Math.Max(System.Threading.Interlocked.Increment(i),i
- 1)
End While
|
|
Iterate through
existing event intervals.
[Visual Basic .NET] |
Copy Code
|
Dim i As
Integer = 0
While i <>
Dim
eventInterval As IAgCrdnEventInterval
= provider.EventIntervals(i)
Dim crdn
As IAgCrdn =
TryCast(provider.EventIntervals(i), IAgCrdn)
Console.WriteLine("Name: {0}, type: {1}", crdn.Name,
eventInterval.Type)
System.Math.Max(System.Threading.Interlocked.Increment(i),i
- 1)
End While
|
|
Iterate through
existing event interval collections.
[Visual Basic .NET] |
Copy Code
|
Dim i As
Integer = 0
While i <>
Dim
eventIntervalCollection As
IAgCrdnEventIntervalCollection =
provider.EventIntervalCollections(i)
Dim crdn
As IAgCrdn =
TryCast(provider.EventIntervalCollections(i), IAgCrdn)
Console.WriteLine("Name: {0}, type: {1}", crdn.Name,
eventIntervalCollection.Type)
System.Math.Max(System.Threading.Interlocked.Increment(i),i
- 1)
End While
|
|
Iterate through
existing event interval lists.
[Visual Basic .NET] |
Copy Code
|
Dim i As
Integer = 0
While i <>
Dim
eventIntervalList As
IAgCrdnEventIntervalList = provider.EventIntervalLists(i)
Dim crdn
As IAgCrdn =
TryCast(provider.EventIntervalLists(i), IAgCrdn)
Console.WriteLine("Name: {0}, type: {1}", crdn.Name,
eventIntervalList.Type)
System.Math.Max(System.Threading.Interlocked.Increment(i),i
- 1)
End While
|
|
Get Center point
and Inertial System of Earth CB
[MATLAB] |
Copy Code
|
% IAgStkObjectRoot root: STK Object Model root
centerPtEarth = root.CentralBodies.Earth.Vgt.Points.Item('Center');
icrf = root.CentralBodies.Earth.Vgt.Systems.Item('ICRF');
|
|
Get default VGT
component on vehicle
[MATLAB] |
Copy Code
|
% IAgSatellite satellite: Satellite object
vgtSat = satellite.vgt;
% Get handle to the Center point on the satellite
centerPtSat = vgtSat.Points.Item('Center');
% Get handle to the Body Y Vector
bodyYSat = vgtSat.Vectors.Item('Body.Y');
% Get handle to the Body Axes
bodyAxes = vgtSat.Axes.Item('Body');
icrfAxes = vgtSat.Axes.Item('ICRF');
|
|
Create a new
Displacement Vector
[MATLAB] |
Copy Code
|
% IAgCrdnProvider vgtSat: Vector Geometry Tool Interface
% IAgCrdnPoint centerPtSat: point component
% IAgCrdnPoint centerPtEarth: point component
VectFactory = vgtSat.Vectors.Factory;
Sat2EarthCenter = VectFactory.CreateDisplacementVector('Sat2EarthCenter',centerPtSat,centerPtEarth);
|
|
Create a new
Fixed in Axes Vector
[MATLAB] |
Copy Code
|
% IAgCrdnProvider vgtSat: Vector Geometry Tool Interface
% IAgCrdnAxes bodyAxes: axes component
VectFactory = vgtSat.Vectors.Factory;
fixedAxesVector = VectFactory.Create('FixedInAxes','','eCrdnVectorTypeFixedInAxes');
fixedAxesVector.ReferenceAxes.SetAxes(bodyAxes);
fixedAxesVector.Direction.AssignXYZ(0,0,1);
|
|
Create a new
Cross Product Vector
[MATLAB] |
Copy Code
|
% IAgCrdnProvider vgtSat: Vector Geometry Tool Interface
% IAgCrdnVectorDisplacement Sat2EarthCenter: vector component
% IAgCrdnVectorDisplacement fixedAxesVector: vector component
VectFactory = vgtSat.Vectors.Factory;
lineOfNodesVector = VectFactory.CreateCrossProductVector('CrossProduct',Sat2EarthCenter,fixedAxesVector);
|
|
Create a new
Custom Script Vector
[MATLAB] |
Copy Code
|
% IAgCrdnProvider vgtSat: Vector Geometry Tool Interface
VectFactory = vgtSat.Vectors.Factory;
customScript = VectFactory.Create('Script','Description','eCrdnVectorTypeCustomScript');
% Initialization script if needed
% customScript.InitializationScriptFile = '';
customScript.ScriptFile = 'C:\Program Files\AGI\STK 11\CodeSamples\Extend\PluginScripts\VB_CustomVector.vbs';
if customScript.IsValid == false
disp('Script component not valid!');
disp(['Copy vbs file from C:\Program Files\AGI\STK 11\CodeSamples\Extend\PluginScripts\VB_CustomVector.vbs to C:\Users\' getenv('USERNAME') '\Documents\STK 11\Config\Scripting\VectorTool']);
end
|
|
Create a new
Projection Vector
[MATLAB] |
Copy Code
|
% IAgCrdnProvider vgtSat: Vector Geometry Tool Interface
% IAgCrdnVectorDisplacement Sat2EarthCenter: vector component
VectFactory = vgtSat.Vectors.Factory;
projectionVector = VectFactory.Create('Projection','','eCrdnVectorTypeProjection');
projectionVector.Source.SetVector(Sat2EarthCenter);
horizontalPlane = vgtSat.Planes.Item('LocalHorizontal');
projectionVector.ReferencePlane.SetPlane(horizontalPlane);
|
|
Create a new
Fixed in System Point
[MATLAB] |
Copy Code
|
% IAgCrdnProvider vgtSat: Vector Geometry Tool Interface
PtFactory = vgtSat.Points.Factory;
fixedPt = PtFactory.Create('FixedPt','Point offest from Center','eCrdnPointTypeFixedInSystem');
fixedPt.FixedPoint.AssignCartesian(.005,0,.005);
|
|
Create a new
Central Body Intersection Point
[MATLAB] |
Copy Code
|
% IAgCrdnProvider vgtSat: Vector Geometry Tool Interface
% IAgCrdnPoint centerPtSat: point component
PtFactory = vgtSat.Points.Factory;
cbIntersectPt = PtFactory.Create('CBIntersectPt','Point on surface along nadir vector','eCrdnPointTypeCentralBodyIntersect');
cbIntersectPt.CentralBody = 'Earth';
cbIntersectPt.ReferencePoint = centerPtSat;
cbIntersectPt.DirectionVector = vgtSat.Vectors.Item('Nadir(Detic)');
cbIntersectPt.IntersectionSurface = 'eCrdnIntersectionSurfaceAtCentralBodyEllipsoid';
|
|
Create a new
Model Attachment Point
[MATLAB] |
Copy Code
|
% IAgCrdnProvider vgtSat: Vector Geometry Tool Interface
PtFactory = vgtSat.Points.Factory;
modelPt = PtFactory.Create('ModelPt','Attach point defined in model','eCrdnPointTypeModelAttachment');
modelPt.PointableElementName = 'MainSensor-000000';
|
|
Create a new
Fixed at Time Instant Point
[MATLAB] |
Copy Code
|
% IAgCrdnProvider vgtSat: Vector Geometry Tool Interface
% IAgCrdnSystemAssembled icrf: system component
PtFactory = vgtSat.Points.Factory;
timeInstantPt = PtFactory.Create('AtTimePt','Point at time instant','eCrdnPointTypeAtTimeInstant');
timeInstantPt.SourcePoint = vgtSat.Points.Item('Center');
timeInstantPt.ReferenceSystem = icrf;
timeInstantPt.ReferenceTimeInstant = vgtSat.Events.Item('AvailabilityStartTime');
|
|
Create a new
Between Vectors Angle
[MATLAB] |
Copy Code
|
% IAgCrdnProvider vgtSat: Vector Geometry Tool Interface
% IAgCrdnVectorDisplacement Sat2EarthCenter: vector component
% IAgCrdnVectorFixedInAxes bodyYSat: vector component
AngFactory = vgtSat.Angles.Factory;
betwVect = AngFactory.Create('SatEarth2Y','Displacement Vector to Sat Body Y','eCrdnAngleTypeBetweenVectors');
betwVect.FromVector.SetVector(Sat2EarthCenter);
betwVect.ToVector.SetVector(bodyYSat);
|
|
Create a new
Aligned and Constrained Axes
[MATLAB] |
Copy Code
|
% IAgCrdnProvider vgtSat: Vector Geometry Tool Interface
% IAgCrdnVectorDisplacement Sat2EarthCenter: vector component
% IAgCrdnVectorFixedInAxes bodyYSat: vector component
AxesFactory = vgtSat.Axes.Factory;
AlignConstain = AxesFactory.Create('AlignConstrain','Aligned to displacement vector and constrained to Body Y','eCrdnAxesTypeAlignedAndConstrained');
AlignConstain.AlignmentReferenceVector.SetVector(Sat2EarthCenter);
AlignConstain.AlignmentDirection.AssignXYZ(1,0,0);
AlignConstain.ConstraintReferenceVector.SetVector(bodyYSat);
AlignConstain.constraintDirection.AssignXYZ(0,0,1);
|
|
Create a new
Fixed in Axes
[MATLAB] |
Copy Code
|
% IAgCrdnProvider vgtSat: Vector Geometry Tool Interface
% IAgStkObjectRoot root: STK Object Model root
AxesFactory = vgtSat.Axes.Factory;
fixed = AxesFactory.Create('Fixed','Axes fixed in Earth Fixed frame using Euler 321 sequence','eCrdnAxesTypeFixed');
earthFixed = root.CentralBodies.Earth.Vgt.Axes.Item('Fixed');
fixed.ReferenceAxes.SetAxes(earthFixed);
fixed.FixedOrientation.AssignEulerAngles('e321',45,35,0);
|
|
Create a new
Assembled System
[MATLAB] |
Copy Code
|
% IAgCrdnProvider vgtSat: Vector Geometry Tool Interface
% IAgCrdnPointFixedInSystem fixedPt: point component
% IAgCrdnAxes bodyAxes: axes component
SysFactory = vgtSat.Systems.Factory;
assemSys = SysFactory.Create('FixedPtSystem','System with origin at the new point','eCrdnSystemTypeAssembled');
assemSys.OriginPoint.SetPoint(fixedPt);
assemSys.ReferenceAxes.SetAxes(bodyAxes);
|
|
Create a new
Quadrant Plane
[MATLAB] |
Copy Code
|
% IAgCrdnProvider vgtSat: Vector Geometry Tool Interface
% IAgCrdnSystemAssembled icrf: system component
PlaneFactory = vgtSat.Planes.Factory;
yzQuad = PlaneFactory.Create('YZQuad','YZ Quadrant','eCrdnPlaneTypeQuadrant');
yzQuad.ReferenceSystem.SetSystem(icrf);
yzQuad.Quadrant = 'eCrdnQuadrantYZ';
|
|
Create a new
Vector Magnitude Scalar
[MATLAB] |
Copy Code
|
% IAgCrdnProvider vgtSat: Vector Geometry Tool Interface
% IAgCrdnVectorDisplacement Sat2EarthCenter: vector component
calcFactory = vgtSat.CalcScalars.Factory;
displScalar = calcFactory.CreateCalcScalarVectorMagnitude('VectorDisplacement','Vector Magnitude of Displacement Vector');
displScalar.InputVector = Sat2EarthCenter;
|
|
Create a Data
Element Scalar
[MATLAB] |
Copy Code
|
% IAgCrdnProvider vgtSat: Vector Geometry Tool Interface
calcFactory = vgtSat.CalcScalars.Factory;
trueAnom = calcFactory.Create('TrueAnomaly','','eCrdnCalcScalarTypeDataElement');
trueAnom.SetWithGroup('Classical Elements','ICRF','True Anomaly');
|
|
Create a Function
XY Scalar
[MATLAB] |
Copy Code
|
% IAgCrdnProvider vgtSat: Vector Geometry Tool Interface
% IAgCrdnCalcScalar displScalar: calc scalar component
% IAgCrdnCalcScalar trueAnom: calc scalar component
calcFactory = vgtSat.CalcScalars.Factory;
functionScalar = calcFactory.CreateCalcScalarFunction2Var('FunctionXY','Difference between the 2 scalars');
functionScalar.X = displScalar;
functionScalar.Y = trueAnom;
functionScalar.A = 1;
functionScalar.B = 1;
functionScalar.C = 1;
functionScalar.SelectedFunction = 'a*x-b*y';
functionScalar.OutputDimensionInheritance = 'eCrdnDimensionInheritanceFromX';
|
|
Get a Scalar
component and evaluate at a time
[MATLAB] |
Copy Code
|
% IAgCrdnProvider vgtSat: Vector Geometry Tool Interface
% IAgScenario scenario: Scenario object
deticLatitude = vgtSat.CalcScalars.Item('GroundTrajectory.Detic.LLA.Latitude');
result = deticLatitude.Evaluate(scenario.StartTime);
disp(['The value of detic latitude is ' result.Value]);
|
|
Create a new
Condition
[MATLAB] |
Copy Code
|
% IAgCrdnProvider vgtSat: Vector Geometry Tool Interface
% IAgCrdnCalcScalarDataElement trueAnom: calc scalar component
condFactory = vgtSat.Conditions.Factory;
scaleBound = condFactory.Create('BelowMax','Valid for displacement','eCrdnConditionTypeScalarBounds');
scaleBound.Scalar = trueAnom;
scaleBound.Operation = 'eCrdnConditionThresholdOptionBelowMax';
maxValue = root.ConversionUtility.NewQuantity('Angle', 'deg', 180);
scaleBound.SetMaximum(maxValue); %Maximum
|
|
Create a new
Attitude Parameter Set
[MATLAB] |
Copy Code
|
% IAgCrdnProvider vgtSat: Vector Geometry Tool Interface
% IAgCrdnAxes bodyAxes: axes component
% IAgCrdnAxes icrfAxes: axes component
paraFactory = vgtSat.ParameterSets.Factory;
paraSet = paraFactory.Create('attitudeICRF','Attitude Set','eCrdnParameterSetTypeAttitude');
paraSet.Axes = bodyAxes;
paraSet.ReferenceAxes = icrfAxes;
|
|
Create a new
Orbit Parameter Set
[MATLAB] |
Copy Code
|
% IAgCrdnProvider vgtSat: Vector Geometry Tool Interface
paraFactory = vgtSat.ParameterSets.Factory;
paraSetOribit = paraFactory.Create('orbitSun','Orbit','eCrdnParameterSetTypeOrbit');
paraSetOribit.OrbitingPoint = vgtSat.Points.Item('Center');
paraSetOribit.CentralBody = 'Sun';
paraSetOribit.UseCentralBodyGravitationalParameter = false;
paraSetOribit.GravitationalParameter = 398600; %km^3/sec^2
|
|
Get Times From
Defined Time Instant and create an cell array
[MATLAB] |
Copy Code
|
% IAgStkObjectRoot root: STK Object Model Root
% IAgCrdnProvider vgtSat: Vector Geometry Tool Interface
% Change DateFormat dimension to epoch seconds to make the time easier to handle in
% MATLAB
root.UnitPreferences.Item('DateFormat').SetCurrentUnit('EpSec');
satStart= vgtSat.Events.Item('AvailabilityStartTime');
start = satStart.FindOccurrence.Epoch;
satStop= vgtSat.Events.Item('AvailabilityStopTime');
stop = satStop.FindOccurrence.Epoch;
interval = {start 540 600 stop}'; %EpSec
|
|
Create a new Time
Instant
[MATLAB] |
Copy Code
|
% IAgStkObjectRoot root: STK Object Model Root
% IAgCrdnProvider vgtSat: Vector Geometry Tool Interface
% Change DateFormat dimension to epoch seconds to make the time easier to handle in
% MATLAB
root.UnitPreferences.Item('DateFormat').SetCurrentUnit('EpSec');
timeInstFactory = vgtSat.Events.Factory;
timeEpoch = timeInstFactory.CreateEventEpoch('FixedTime','Fixed Epoch Time');
timeEpoch.Epoch = 3600;
|
|
Create a new Time
Interval
[MATLAB] |
Copy Code
|
% IAgStkObjectRoot root: STK Object Model Root
% IAgCrdnProvider vgtSat: Vector Geometry Tool Interface
% Change DateFormat dimension to epoch seconds to make the time easier to handle in
% MATLAB
root.UnitPreferences.Item('DateFormat').SetCurrentUnit('EpSec');
timeIntFactory = vgtSat.EventIntervals.Factory;
timeInterval = timeIntFactory.CreateEventIntervalFixed('TimeInterval','Fixed time interval');
timeInterval.SetInterval(60,120);
|
|
Create a new
Interval List
[MATLAB] |
Copy Code
|
% IAgCrdnProvider vgtSat: Vector Geometry Tool Interface
% 2(n) x 1 cell interval: cell of time values
timeListFactory = vgtSat.EventIntervalLists.Factory;
custom = timeListFactory.Create('Custom','','eCrdnEventIntervalListTypeFixed');
custom.SetIntervals(interval);
|
|
Create a new
Collection of Interval List
[MATLAB] |
Copy Code
|
% IAgCrdnProvider vgtSat: Vector Geometry Tool Interface
% IAgCrdnPoint centerPtSat: point component
timeCollListFactory = vgtSat.EventIntervalCollections.Factory;
timeColl = timeCollListFactory.CreateEventIntervalCollectionLighting('LightingList','Collection of lighting intervals');
timeColl.UseObjectEclipsingBodies = true;
timeColl.Location = centerPtSat;
|
|
Create a new Time
Array
[MATLAB] |
Copy Code
|
% IAgCrdnProvider vgtSat: Vector Geometry Tool Interface
% IAgCrdnEventIntervalListFixed custom: interval list component
timeArrayFactory = vgtSat.EventArrays.Factory;
timeArray = timeArrayFactory.CreateEventArrayStartStopTimes('StartTimes','Start Times of Custom Intervals');
timeArray.ReferenceIntervals = custom;
timeArray.StartStopOption = 'eCrdnStartStopOptionCountStartOnly';
|
|