AGI STK Objects 11Send comments on this topic.
AddConstraint Method (IAgAccessConstraintCollection)
See Also  Example
EConstraint
Windows






Windows & Linux

Description

Adds a constraint to the Constraint Collection.


To determine the interface to use for a specific constraint, scroll down to the EConstraint Parameter table near the bottom of this help page. This table lists all possible values for the AgEAccessConstraints enumeration. The description column provides the corresponding interface to use with each constraint. For example, IAgAccessCnstrMinMax is the interface used with the Range constraint, eCstrRange.


Code snippet examples that show how to add and configure constraints are provided at the bottom of this help page.


The eCstrApparentTime, eCstrDuration, eCstrGMT, eCstrIntervals, eCstrLocalTime constraint types can be added multiple times to the constraint collection.

Syntax

[Visual Basic .NET]
Public Function AddConstraint( _
   ByVal EConstraint As AgEAccessConstraints _
) As IAgAccessConstraint
[C#]
public IAgAccessConstraint AddConstraint(
   AgEAccessConstraints EConstraint
);
[Managed C++]
public: IAgAccessConstraint^ AddConstraint(
   AgEAccessConstraints EConstraint
);
[Java]
public IAgAccessConstraint addConstraint(
   AgEAccessConstraints EConstraint
);
[Unmanaged C++]
public: HRESULT AddConstraint(
   AgEAccessConstraints EConstraint,
   IAgAccessConstraint ** ReturnValue
);

Parameters

EConstraint
MemberValueDescription
eCstrNone0None. Use interface IAgAccessConstraint
eCstrImageQuality1Image quality. Use interface IAgAccessCnstrMinMax
eCstrAltitude2Altitude. Use interface IAgAccessCnstrMinMax
eCstrAngularRate3Angular rate. Use interface IAgAccessCnstrMinMax
eCstrApparentTime4Apparent time. Use interface IAgAccessCnstrMinMax
eCstrATCentroidElevationAngle5Area Target centroid elevation angle. Use interface IAgAccessCnstrMinMax
eCstrAzimuthAngle6Azimuth angle. Use interface IAgAccessCnstrMinMax
eCstrBackground7Background. Use interface IAgAccessCnstrBackground
eCstrBetaAngle8Beta angle. Use interface IAgAccessCnstrMinMax
eCstrCrdnAngle9Angle. Use interface IAgAccessCnstrCrdnCn
eCstrCrdnVectorMag10Vector magnitude. Use interface IAgAccessCnstrCrdnCn
eCstrCrossTrackRange11Cross-track range. Use interface IAgAccessCnstrMinMax
eCstrDopplerConeAngle12Doppler cone angle. Use interface IAgAccessCnstrMinMax
eCstrDuration13Duration. Use interface IAgAccessCnstrMinMax
eCstrElevationAngle14Elevation angle. Use interface IAgAccessCnstrMinMax, IAgAccessCnstrAngle
eCstrExclusionZone15Exclusion zone. Use interface IAgAccessCnstrExclZonesCollection, IAgAccessCnstrZone
eCstrGMT16GMT. Use interface IAgAccessCnstrMinMax
eCstrGrazingAlt17Grazing altitude. Use interface IAgAccessCnstrMinMax
eCstrGrazingAngle18Grazing angle. Use interface IAgAccessCnstrMinMax
eCstrGroundElevAngle19Ground elevation angle. Use interface IAgAccessCnstrMinMax
eCstrGroundTrack20Ground track. Use interface IAgAccessCnstrGroundTrack
eCstrInclusionZone21Inclusion zone. Use interface IAgAccessCnstrZone
eCstrIntervals22Intervals. Use interface IAgAccessCnstrIntervals
eCstrInTrackRange23In-track range. Use interface IAgAccessCnstrMinMax
eCstrLatitude24Latitude. Use interface IAgAccessCnstrMinMax
eCstrLighting25Lighting. Use interface IAgAccessCnstrCondition
eCstrLineOfSight26Line of sight. Use interface IAgAccessConstraint
eCstrLocalTime27Local time. Use interface IAgAccessCnstrMinMax
eCstrLOSLunarExclusion28Line of sight lunar exclusion. Use interface IAgAccessCnstrAngle
eCstrLOSSunExclusion29Line of sight sun exclusion. Use interface IAgAccessCnstrAngle
eCstrLunarElevationAngle30Lunar elevation angle. Use interface IAgAccessCnstrMinMax
eCstrMatlab31Matlab. Use interface IAgAccessCnstrMinMax
eCstrObjectExclusionAngle32Object exclusion angle. Use interface IAgAccessCnstrObjExAngle
eCstrPropagationDelay33Propagation delay. Use interface IAgAccessCnstrMinMax
eCstrRange34Range. Use interface IAgAccessCnstrMinMax
eCstrRangeRate35Range rate. Use interface IAgAccessCnstrMinMax
eCstrSarAreaRate36SAR area rate. Use interface IAgAccessCnstrMinMax
eCstrSarAzRes37SAR azimuth resolution. Use interface IAgAccessCnstrMinMax
eCstrSarCNR38SAR clutter-to-noise ratio. Use interface IAgAccessCnstrMinMax
eCstrSarExternalData39SAR external data. Use interface IAgAccessCnstrMinMax
eCstrSarIntTime40SAR integration time. Use interface IAgAccessCnstrMinMax
eCstrSarPTCR41SAR point target-to-clutter ratio. Use interface IAgAccessCnstrMinMax
eCstrSarSCR42SAR signal-to-clutter ratio. Use interface IAgAccessCnstrMinMax
eCstrSarSigmaN43SAR sigma N. Use interface IAgAccessCnstrMinMax
eCstrSarSNR44SAR signal-to-noise ratio. Use interface IAgAccessCnstrMinMax
eCstrSquintAngle45Squint angle. Use interface IAgAccessCnstrMinMax
eCstrSrchTrkClearDoppler46Search-track clear doppler. Use interface IAgAccessConstraint
eCstrSrchTrkDwellTime47Search-track dwell time. Use interface IAgAccessCnstrMinMax
eCstrSrchTrkIntegratedPDet48Search-track integrated probability of detection. Use interface IAgAccessCnstrMinMax
eCstrSrchTrkIntegratedPulses49Search-track integrated pulses. Use interface IAgAccessConstraint
eCstrSrchTrkIntegratedSNR50Search-track integrated signal-to-noise ratio. Use interface IAgAccessCnstrMinMax
eCstrSrchTrkIntegrationTime51Search-track integration time. Use interface IAgAccessCnstrMinMax
eCstrSrchTrkMLCFilter52Search-track main lobe clutter filter. Use interface IAgAccessConstraint
eCstrSrchTrkSinglePulsePDet53Search-track single-pulse probability of detection. Use interface IAgAccessCnstrMinMax
eCstrSrchTrkSinglePulseSNR54Search-track single-pulse signal-to-noise ratio. Use interface IAgAccessCnstrMinMax
eCstrSrchTrkSLCFilter55Search-track side lobe clutter filter. Use interface IAgAccessConstraint
eCstrSrchTrkUnambigDoppler56Search-track unambiguous doppler. Use interface IAgAccessConstraint
eCstrSrchTrkUnambigRange57Search-track unambiguous range. Use interface IAgAccessConstraint
eCstrSunElevationAngle58Sun elevation angle. Use interface IAgAccessCnstrMinMax
eCstrSunGroundElevAngle59Sun ground angle. Use interface IAgAccessCnstrMinMax
eCstrSunSpecularExclusion60Sun specular exclusion. Use interface IAgAccessCnstrAngle
eCstrThirdBodyObstruction61Third body obstruction. Use interface IAgAccessCnstrThirdBody
eCstrTimeSlipRange62This enumeration is deprecated.
eCstrCentroidAzimuthAngle63Centroid azimuth angle. Use interface IAgAccessCnstrMinMax
eCstrCentroidRange64Centroid range. Use interface IAgAccessCnstrMinMax
eCstrCentroidSunElevationAngle65Centroid sun elevation angle. Use interface IAgAccessCnstrMinMax
eCstrCollectionAngle66Collection angle. Use interface IAgAccessCnstrMinMax
eCstrTerrainMask67Terrain mask. Use interface IAgAccessConstraint
eCstrAzElMask68Azimuth-elevation mask. Use interface IAgAccessConstraint
eCstrAzimuthRate69Azimuth rate. Use interface IAgAccessCnstrMinMax
eCstrElevationRate70Elevation rate. Use interface IAgAccessCnstrMinMax
eCstrGeoExclusion71Geostationary belt exclusion. Use interface IAgAccessCnstrAngle
eCstrGroundSampleDistance72Ground sample distance. Use interface IAgAccessCnstrMinMax
eCstrHeightAboveHorizon73Height above horizon. Use interface IAgAccessCnstrMinMax
eCstrTerrainGrazingAngle74Terrain grazing angle. Use interface IAgAccessCnstrMinMax
eCstrAngleOffBoresight75Angle off boresight. Use interface IAgAccessCnstrMinMax
eCstrAngleOffBoresightRate76Angle off boresight rate. Use interface IAgAccessCnstrMinMax
eCstrAreaMask77Area mask. Use interface IAgAccessConstraint
eCstrBoresightGrazingAngle78Boresight grazing angle. Use interface IAgAccessCnstrMinMax
eCstrBSIntersectLightingCondition79Boresight Intersection lighting condition. Use interface IAgAccessCnstrMinMax
eCstrBSLunarExclusion80Boresight lunar exclusion. Use interface IAgAccessCnstrAngle
eCstrBSSunExclusion81Boresight sun exclusion. Use interface IAgAccessCnstrAngle
eCstrFieldOfView82Field of view. Use interface IAgAccessConstraint
eCstrFOVSunSpecularExclusion83Field of view sun specular exclusion. Use interface IAgAccessConstraint
eCstrFOVSunSpecularInclusion84Field of view sun specular inclusion. Use interface IAgAccessConstraint
eCstrHorizonCrossing85Horizon crossing. Use interface IAgAccessConstraint
eCstrSensorAzElMask89Sensor azimuth-elevation mask. Use interface IAgAccessConstraint
eCstrForeground90Foreground. Use interface IAgAccessConstraint
eCstrCbObstruction91Central Body Obstruction. Use interface IAgAccessCnstrCbObstruction.
eCstrPlugin92Access plugin constraint. Use IAgAccessCnstrPluginMinMax
eCstrDepth93Depth constraint. Use IAgAccessCnstrPluginMinMax
eCstrSEETMagFieldLshell95Magnetic Dipole L-Shell. The L value is a measure to indicate a particle's drift shell in a dipole-approximated magnetic field. Use IAgAccessCnstrMinMax
eCstrSEETMagFieldLineSeparation96Magnetic Field Line Separation; the centric angle between the North footprint of the field line containing the vehicle's location and the North footprint of the field line containing the target's location. Use IAgAccessCnstrMinMax
eCstrSEETImpactFlux97Impact Flux; the total impact flux from all types of meteoroid particles. Use IAgAccessCnstrMinMax
eCstrSEETDamageFlux98Damage Flux; the total impact flux from all types of meteoroid particles causing damage. Use IAgAccessCnstrMinMax
eCstrSEETDamageMassFlux99Damage Mass Flux; the total impact mass flux from all meteoroid particles causing damage. Use IAgAccessCnstrMinMax
eCstrSEETImpactMassFlux100Impact Mass Flux; the total impact mass flux ffrom all types of meteoroid particles. Use IAgAccessCnstrMinMax
eCstrSEETSAAFluxIntensity101SAA Flux Intensity; SAA Flux Intensity is determined at the vehicle's location and for specified proton-energy flux threshold channel. Use IAgAccessCnstrMinMax
eCstrSEETVehicleTemperature102Vehicle Temperature, computed assuming thermal equilibrium. Use IAgAccessCnstrMinMax
eCstrSurfaceObstruction103This enumeration is deprecated. Use 'Line of Sight' constraint. Surface Obstruction. Use interface IAgAccessConstraint
eCstrCrdnCondition104Coordinate condition constraint. Use interface IAgAccessCnstrCrdnCn
eCstrSarCNRJamming105SAR CNR Jamming constraint. Use IAgAccessCnstrMinMax
eCstrSarJOverS106SAR J/S constraint. Use IAgAccessCnstrMinMax
eCstrSarOrthoPolCNR107SAR Orthogonal Polar CNR constraint. Use IAgAccessCnstrMinMax
eCstrSarOrthoPolCNRJamming108SAR Orthogonal Polar CNR Jamming constraint. Use IAgAccessCnstrMinMax
eCstrSarOrthoPolJOverS109SAR Orthogonal Polar J/S constraint. Use IAgAccessCnstrMinMax
eCstrSarOrthoPolPTCR110SAR Orthogonal Polar PTCR constraint. Use IAgAccessCnstrMinMax
eCstrSarOrthoPolSCR111SAR Orthogonal Polar SCR constraint. Use IAgAccessCnstrMinMax
eCstrSarOrthoPolSCRJamming112SAR Orthogonal Polar SCR Jamming constraint. Use IAgAccessCnstrMinMax
eCstrSarOrthoPolSNR113SAR Orthogonal Polar SNR constraint. Use IAgAccessCnstrMinMax
eCstrSarOrthoPolSNRJamming114SAR Orthogonal Polar SNR Jamming constraint. Use IAgAccessCnstrMinMax
eCstrSarSCRJamming115SAR SCR Jamming constraint. Use IAgAccessCnstrMinMax
eCstrSarSNRJamming116SAR SNR Jamming constraint. Use IAgAccessCnstrMinMax
eCstrSrchTrkDwellTimeJamming117Search-Track Dwell Time Jamming constraint. Use IAgAccessCnstrMinMax
eCstrSrchTrkIntegratedJOverS118Search-Track Integrated J/S constraint. Use IAgAccessCnstrMinMax
eCstrSrchTrkIntegratedPDetJamming119Search-Track Integrated PDet Jamming constraint. Use IAgAccessCnstrMinMax
eCstrSrchTrkIntegratedPulsesJamming120Search-Track Integrated Pulses Jamming constraint. Use IAgAccessCnstrMinMax
eCstrSrchTrkIntegratedSNRJamming121Search-Track Integrated SNR Jamming constraint. Use IAgAccessCnstrMinMax
eCstrSrchTrkIntegrationTimeJamming122Search-Track Integration Time Jamming constraint. Use IAgAccessCnstrMinMax
eCstrSrchTrkOrthoPolDwellTime123Search-Track Orthogonal Polar Dwell Time constraint. Use IAgAccessCnstrMinMax
eCstrSrchTrkOrthoPolDwellTimeJamming124Search-Track Orthogonal Polar Dwell Time Jamming constraint. Use IAgAccessCnstrMinMax
eCstrSrchTrkOrthoPolIntegratedJOverS125Search-Track Orthogonal Polar Integrated J/S constraint. Use IAgAccessCnstrMinMax
eCstrSrchTrkOrthoPolIntegratedPDet126Search-Track Orthogonal Polar Integrated PDet constraint. Use IAgAccessCnstrMinMax
eCstrSrchTrkOrthoPolIntegratedPDetJamming127Search-Track Orthogonal Polar Integrated PDet Jamming constraint. Use IAgAccessCnstrMinMax
eCstrSrchTrkOrthoPolIntegratedPulses128Search-Track Orthogonal Polar Integrated Pulses constraint. Use IAgAccessCnstrMinMax
eCstrSrchTrkOrthoPolIntegratedPulsesJamming129Search-Track Orthogonal Polar Integrated Pulses Jamming constraint. Use IAgAccessCnstrMinMax
eCstrSrchTrkOrthoPolIntegratedSNR130Search-Track Orthogonal Polar Integrated SNR constraint. Use IAgAccessCnstrMinMax
eCstrSrchTrkOrthoPolIntegratedSNRJamming131Search-Track Orthogonal Polar Integrated SNR Jamming constraint. Use IAgAccessCnstrMinMax
eCstrSrchTrkOrthoPolIntegrationTime132Search-Track Orthogonal Polar Integration Time constraint. Use IAgAccessCnstrMinMax
eCstrSrchTrkOrthoPolIntegrationTimeJamming133Search-Track Orthogonal Polar Integration Time Jamming constraint. Use IAgAccessCnstrMinMax
eCstrSrchTrkOrthoPolSinglePulseJOverS134Search-Track Orthogonal Polar Single Pulse J/S constraint. Use IAgAccessCnstrMinMax
eCstrSrchTrkOrthoPolSinglePulsePDet135Search-Track Orthogonal Polar Single Pulse PDet constraint. Use IAgAccessCnstrMinMax
eCstrSrchTrkOrthoPolSinglePulsePDetJamming136Search-Track Orthogonal Polar Single Pulse PDet Jamming constraint. Use IAgAccessCnstrMinMax
eCstrSrchTrkOrthoPolSinglePulseSNR137Search-Track Orthogonal Polar Single Pulse SNR constraint. Use IAgAccessCnstrMinMax
eCstrSrchTrkOrthoPolSinglePulseSNRJamming138Search-Track Orthogonal Polar Integrated SNR Jamming constraint. Use IAgAccessCnstrMinMax
eCstrSrchTrkSinglePulseJOverS139Search-Track Single Pulse J/S constraint. Use IAgAccessCnstrMinMax
eCstrSrchTrkSinglePulsePDetJamming140Search-Track Single Pulse PDet Jamming constraint. Use IAgAccessCnstrMinMax
eCstrSrchTrkSinglePulseSNRJamming141Search-Track Single Pulse SNR Jamming constraint. Use IAgAccessCnstrMinMax
eCstrEOIRSNR142EOIR SNR constraint. Use IAgAccessCnstrMinMax
eCstrFOVCbCenter143Field Of View Central Body Center constraint.
eCstrFOVCbHorizonRefine144Field Of View Central Body Horizon Refine constraint.
eCstrFOVCbObstructionCrossIn145Field Of View Central Body Obstruction Cross In constraint.
eCstrFOVCbObstructionCrossOut146Field Of View Central Body Obstruction Cross Out constraint.
eCstrSensorRangeMask147Sensor Range Mask constraint.
eCstrAtmosLoss148Atmosphere Absorption Loss constraint.
eCstrBERPlusI149BER+I constraint.
eCstrBitErrorRate150Bit Error Rate constraint.
eCstrCOverI151C/I constraint.
eCstrCOverN152C/N constraint.
eCstrCOverNPlusI153C/N+I constraint.
eCstrCOverNo154C/No constraint.
eCstrCOverNoPlusIo155C/No+Io constraint.
eCstrCloudsFogLoss156Clouds And Fog Loss constraint.
eCstrCommPlugin157Comm Plugin constraint.
eCstrDeltaTOverT158Delta T/T constraint.
eCstrDopplerShift159Doppler Shift constraint.
eCstrEbOverNo160Energy per bit to noise ratio (Eb/No) constraint.
eCstrEbOverNoPlusIo161Eb/No+Io constraint.
eCstrFluxDensity162Flux Density constraint.
eCstrFrequency163Frequence constraint.
eCstrGOverT164G/T constraint.
eCstrJOverS165J/S constraint.
eCstrLinkEIRP166Link EIRP constraint.
eCstrLinkMargin167Link Margin constraint.
eCstrNoiseTemperature168Noise Temperature constraint.
eCstrPolRelAngle169Polar Relative Angle constraint.
eCstrPowerAtReceiverInput170Power at Receiver Input constraint.
eCstrPowerFluxDensity171Power Flux Density constraint.
eCstrRainLoss172Rain Loss constraint.
eCstrRcvdIsotropicPower173Received Isotropic Power constraint.
eCstrUserCustomALoss174User Custom A Loss constraint.
eCstrUserCustomBLoss175User Custom B Loss constraint.
eCstrUserCustomCLoss176User Custom C Loss constraint.
eCstrFreeSpaceLoss177Free Space Loss constraint.
eCstrPropLoss178Propagation Loss constraint.
eCstrTotalPwrAtRcvrInput179Total Power At Receiver Input constraint.
eCstrTotalRcvdRfPower180Total Received Rf Power constraint.
eCstrTropoScintillLoss181Troposphere Scintillation Loss constraint.
eCstrUrbanTerresLoss182Urban Terrestrial Loss constraint.
eCstrTimeSlipSurfaceRange183Time Slip Surface Range constraint.
eCstrCableTransDelay184Cable Transmission Delay constraint.
eCstrProcessDelay185Process Delay constraint.
eCstrRdrXmtTgtAccess186RdrXmtTgtAccess constraint.
eCstrSunIlluminationAngle187Sun Illumination angle. Use interface IAgAccessCnstrMinMax
eCstrSpectralFluxDensity188Spectral Flux Density constraint.

Return Type

IAgAccessConstraint type.

Example

Add an access constraint to an STK Object
[C#]Copy Code
IAgAccessConstraintCollection accessConstraints = stkobject.AccessConstraints; 
 
// Add constraints 
accessConstraints.AddConstraint(AgEAccessConstraints.eCstrSunElevationAngle); 
 

Add and configure a third body obstruction access constraint
[C#]Copy Code
// Get IAgAccessCnstrThirdBody interface 
IAgAccessCnstrThirdBody thirdBodyConstraint = accessconstraints.AddConstraint(AgEAccessConstraints.eCstrThirdBodyObstruction) as IAgAccessCnstrThirdBody; 
 
// AvailableObstructions returns a one dimensional array of obstruction paths 
Array availableArray = thirdBodyConstraint.AvailableObstructions; 
 
// In this example add all available obstructions 
Console.WriteLine("Available obstructions"); 
foreach (string available in availableArray) 

    Console.WriteLine(available); 
    thirdBodyConstraint.AddObstruction(available); 

 
// AssignedObstructions returns a one dimensional array of obstruction paths 
Array assignedArray = thirdBodyConstraint.AssignedObstructions; 
 
Console.WriteLine("Assigned obstructions"); 
foreach (string assigned in assignedArray) 

    Console.WriteLine(assigned); 

 

Add multiple access constraints of the same type to an STK Object
[C#]Copy Code
IAgAccessConstraintCollection accessConstraints = stkobject.AccessConstraints; 
 
// Add constraints 
// Only the eCstrApparentTime, eCstrDuration, eCstrGMT, eCstrIntervals, eCstrLocalTime constraint 
// types can be added multiple times to the constraint collection. 
accessConstraints.AddConstraint(AgEAccessConstraints.eCstrLocalTime); 
accessConstraints.AddConstraint(AgEAccessConstraints.eCstrLocalTime); 
 

Add an access constraint to an STK Object
[Visual Basic .NET]Copy Code
Dim accessConstraints As IAgAccessConstraintCollection = stkobject.AccessConstraints

' Add constraints
accessConstraints.AddConstraint(AgEAccessConstraints.eCstrSunElevationAngle)

Add and configure a third body obstruction access constraint
[Visual Basic .NET]Copy Code
' Get IAgAccessCnstrThirdBody interface
Dim thirdBodyConstraint As IAgAccessCnstrThirdBody = TryCast(accessconstraints.AddConstraint(AgEAccessConstraints.eCstrThirdBodyObstruction), IAgAccessCnstrThirdBody)

' AvailableObstructions returns a one dimensional array of obstruction paths
Dim availableArray As Array = thirdBodyConstraint.AvailableObstructions

' In this example add all available obstructions
Console.WriteLine("Available obstructions")
For Each available As String In availableArray
    Console.WriteLine(available)
    thirdBodyConstraint.AddObstruction(available)
Next

' AssignedObstructions returns a one dimensional array of obstruction paths
Dim assignedArray As Array = thirdBodyConstraint.AssignedObstructions

Console.WriteLine("Assigned obstructions")
For Each assigned As String In assignedArray
    Console.WriteLine(assigned)
Next

Add multiple access constraints of the same type to an STK Object
[Visual Basic .NET]Copy Code
Dim accessConstraints As IAgAccessConstraintCollection = stkobject.AccessConstraints

' Add constraints
' Only the eCstrApparentTime, eCstrDuration, eCstrGMT, eCstrIntervals, eCstrLocalTime constraint
' types can be added multiple times to the constraint collection.
accessConstraints.AddConstraint(AgEAccessConstraints.eCstrLocalTime)
accessConstraints.AddConstraint(AgEAccessConstraints.eCstrLocalTime)

See Also

© 2018 Analytical Graphics, Inc. All Rights Reserved.