Click or drag to resize

DefinitionalObject Class

The base class for all definitional objects. A definitional object has a few characteristics:

Inheritance Hierarchy
System.Object
  AGI.Foundation.Infrastructure.DefinitionalObject
    More...

Namespace:  AGI.Foundation.Infrastructure
Assembly:  AGI.Foundation.Core (in AGI.Foundation.Core.dll) Version: 25.1.421.0 (25.1.421.0)
Syntax
public abstract class DefinitionalObject : ICloneWithContext, 
	IFreezable, IEquatableDefinition, IEnumerateDependencies

The DefinitionalObject type exposes the following members.

Constructors
  NameDescription
Protected methodDefinitionalObject()
Initializes a new instance.
Protected methodDefinitionalObject(DefinitionalObject, CopyContext)
Initializes a new instance as a copy of an existing instance.
Top
Properties
  NameDescription
Public propertyIsFrozen
Gets a value indicating whether this object is frozen. A frozen object cannot be modified and an ObjectFrozenException will be thrown if an attempt is made to do so.
Top
Methods
  NameDescription
Public methodStatic memberAreSameDefinition(Boolean, Boolean)
Determines if two booleans have the same definition. This overload simply checks equality and is provided for convenience.
Public methodStatic memberAreSameDefinition(Double, Double)
Determines if two doubles have the same definition. This overload simply checks equality and is provided for convenience.
Public methodStatic memberAreSameDefinition(IEquatableDefinition, Object)
Determines if two objects have the same definition or are both null.
Public methodStatic memberAreSameDefinition(Int32, Int32)
Determines if two integers have the same definition. This overload simply checks equality and is provided for convenience.
Public methodStatic memberAreSameDefinition(Object, Object)
Determines if two objects have the same definition or are both null.
Protected methodCheckForSameDefinition
Checks to determine if another instance has the same definition as this instance and returns true if it does. Derived classes MUST override this method and check all new fields introduced by the derived class for definitional equivalence. It is NOT necessary to check base class fields because the base class will already have done that. When overriding this method, you should NOT call the base implementation because it will return false for all derived-class instances. Derived classes should check the type of other to preserve the symmetric nature of IsSameDefinition(Object).
Public methodClone
Clones this object using the specified context.
Public methodStatic memberCollectionItemsAreSameDefinition<T>(T[],T[])
Determines if two collections contain items with the same definition and in the same order, or are both null.
Public methodStatic memberCollectionItemsAreSameDefinition<T>(IEnumerable<T>, IEnumerable<T>)
Determines if two collections contain items with the same definition and in the same order, or are both null.
Public methodStatic memberCollectionItemsAreSameDefinition<T>(TimeIntervalCollection<T>, TimeIntervalCollection<T>)
Determines if two interval collections contain items with the same definition and in the same order, or are both null.
Protected methodComputeCurrentDefinitionHashCode
Computes a hash code based on the current properties of this object. Derived classes MUST override this method and compute a hash code that combines: a unique hash code seed, the base implementation result, and the hash codes of all new fields introduced by the derived class which are used in the CheckForSameDefinition(DefinitionalObject) method.
Public methodStatic memberDictionaryItemsAreSameDefinition<TKey, TValue>
Determines if two dictionaries contain items with the same definition, or are both null.
Public methodEnumerateDependencies
Enumerates the dependencies of this object by calling Enumerate<T> (T) for each object that this object directly depends upon. Derived classes which contain additional dependencies MUST override this method, call the base implementation, and enumerate dependencies introduced by the derived class.
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodFreeze
Freezes this object. Further attempts to modify it will result in an ObjectFrozenException.
Protected methodFreezeAggregatedObjects
Called by Freeze() to also freeze any objects that are considered to be a part of this object. Derived classes which contain additional aggregated objects MUST override this method, call the base implementation, and freeze aggregated objects introduced by the derived class. The objects that need to be frozen in this method are frequently created in this object's constructor and are not settable via properties.
Public methodStatic memberGetCollectionHashCode(Double[])
Computes a hash code from the items in an array. The hash code computed is order dependent, that is, another array with the same items in a different order will have a different hash code.
Public methodStatic memberGetCollectionHashCode<T>(T[])
Computes a hash code from the items in an array. The hash code computed is order dependent, that is, another array with the same items in a different order will have a different hash code.
Public methodStatic memberGetCollectionHashCode<T>(IEnumerable<T>)
Computes a hash code from the items in an enumerable collection. The hash code computed is order dependent, that is, another collection with the same items in a different order will have a different hash code.
Public methodGetDefinitionHashCode()
Gets a hash code representing the definition of this object.
Public methodStatic memberGetDefinitionHashCode(Boolean)
Gets a hash code safely. This overload simply calls GetHashCode() and is provided for convenience.
Public methodStatic memberGetDefinitionHashCode(Double)
Gets a hash code safely. This overload simply calls GetHashCode() and is provided for convenience.
Public methodStatic memberGetDefinitionHashCode(IEquatableDefinition)
Gets a hash code safely. If the specified object is null, a valid hash code is still returned.
Public methodStatic memberGetDefinitionHashCode(Int32)
Gets a hash code safely. This overload simply calls GetHashCode() and is provided for convenience.
Public methodStatic memberGetDefinitionHashCode<T>(T)
Gets a hash code safely. If the specified object is null, a valid hash code is still returned.
Public methodStatic memberGetDictionaryHashCode<TKey, TValue>
Computes a hash code from the items in a dictionary.
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodIsSameDefinition
Determines if this object has the same definition as another object.
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Protected methodThrowIfFrozen
Throws ObjectFrozenException if this object IsFrozen. This method should be called from any method or property that modifies this object.
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
See Also
Inheritance Hierarchy
System.Object
  AGI.Foundation.Infrastructure.DefinitionalObject
    AGI.Foundation.Access.AccessComputation
    AGI.Foundation.Access.AccessQuery
    AGI.Foundation.AircraftPropagation.AccelerationPerformanceModel
    AGI.Foundation.AircraftPropagation.ClimbDescentPerformanceModel
    AGI.Foundation.AircraftPropagation.CruisePerformanceModel
    AGI.Foundation.AircraftPropagation.HorizontalBehavior
    AGI.Foundation.AircraftPropagation.Maneuver
    AGI.Foundation.AircraftPropagation.PerformanceModels
    AGI.Foundation.AircraftPropagation.SimpleFixedWingCoordinatedFlight
    AGI.Foundation.AircraftPropagation.SimpleFixedWingForwardFlightAerodynamics
    AGI.Foundation.AircraftPropagation.SimpleForwardFlightJetPropulsion
    AGI.Foundation.AircraftPropagation.SimpleForwardFlightPropellerPropulsion
    AGI.Foundation.AircraftPropagation.VerticalBehavior
    AGI.Foundation.Ccsds.CcsdsOrbitEphemerisMessageSegment
    AGI.Foundation.Celestial.AtmosphericRefractionModel
    AGI.Foundation.Celestial.CentralBody
    AGI.Foundation.Celestial.EquationOfEquinoxes
    AGI.Foundation.Celestial.ForceModel
    AGI.Foundation.Celestial.IndividualPlateModel
    AGI.Foundation.Celestial.JplDE
    AGI.Foundation.Celestial.JplDEFile
    AGI.Foundation.Celestial.LibrationModel
    AGI.Foundation.Celestial.NutationModel
    AGI.Foundation.Celestial.PlanetarySystemBarycenter
    AGI.Foundation.Celestial.PrecessionModel
    AGI.Foundation.Celestial.SolarSystemBarycenter
    AGI.Foundation.Celestial.SolidTideModel
    AGI.Foundation.Celestial.SphericalHarmonicGravitySecularVariations
    AGI.Foundation.Celestial.TorqueModel
    AGI.Foundation.Celestial.USStandardAtmosphere1976
    AGI.Foundation.Celestial.WindModel
    AGI.Foundation.Communications.Antennas.BaseGainPattern
    AGI.Foundation.Communications.Antennas.DirectionsProvider
    AGI.Foundation.Communications.Antennas.PhasedArrayBeamformer
    AGI.Foundation.Communications.Antennas.PhasedArrayElement
    AGI.Foundation.Communications.Antennas.PhasedArrayElementFactor
    AGI.Foundation.Communications.Antennas.StaticDirection
    AGI.Foundation.Communications.CommunicationSystem
    AGI.Foundation.Communications.PointScattererFrequencyBand
    AGI.Foundation.Communications.PointScattererInformation
    AGI.Foundation.Communications.PointScattererLinkPath
    AGI.Foundation.Communications.Polarization
    AGI.Foundation.Communications.PolarizationSource
    AGI.Foundation.Communications.ScatteringCoefficient
    AGI.Foundation.Communications.SignalChannelIdentifier
    AGI.Foundation.Communications.SignalComputation
    AGI.Foundation.Communications.SignalIdentifier
    AGI.Foundation.Communications.SignalProcessing.IntendedSignalStrategy
    AGI.Foundation.Communications.SignalProcessing.SignalProcessor
    AGI.Foundation.Communications.SignalPropagation.ItuRP676AtmosphericModel
    AGI.Foundation.Communications.SignalPropagation.ItuRP838AtmosphericModel
    AGI.Foundation.Communications.SignalPropagation.ItuRP840AtmosphericModel
    AGI.Foundation.Communications.SignalPropagation.SignalPropagationModel
    AGI.Foundation.Communications.SignalPropagation.SignalPropagationModelChain
    AGI.Foundation.Coordinates.ComplexMatrix
    AGI.Foundation.Coordinates.DynamicState<T>
    AGI.Foundation.Coordinates.Matrix
    AGI.Foundation.Coordinates.NumericalPropagatorAdapterHelper
    AGI.Foundation.Coordinates.StateElementAdapterDefinition
    AGI.Foundation.Coverage.AssetDefinition
    AGI.Foundation.Coverage.BaseCoverageDefinition
    AGI.Foundation.Coverage.CoverageDefinitionOnSingleObject
    AGI.Foundation.Geometry.Axes
    AGI.Foundation.Geometry.CommunicationLinkSignalData<T>
    AGI.Foundation.Geometry.DynamicCovariance3By3
    AGI.Foundation.Geometry.DynamicDelaunayElements
    AGI.Foundation.Geometry.DynamicEquinoctialElements
    AGI.Foundation.Geometry.DynamicKozaiIzsakMeanElements
    AGI.Foundation.Geometry.DynamicMatrix
    AGI.Foundation.Geometry.DynamicModifiedKeplerianElements
    AGI.Foundation.Geometry.InternationalTerrestrialReferenceFrameTransformer
    AGI.Foundation.Geometry.LinkSubdivision
    AGI.Foundation.Geometry.Point
    AGI.Foundation.Geometry.ReferenceFrame
    AGI.Foundation.Geometry.Scalar
    AGI.Foundation.Geometry.ScalarDependentOnServiceProvider
    AGI.Foundation.Geometry.Shapes.DynamicSensorFieldOfView
    AGI.Foundation.Geometry.Shapes.SensorProjectionOptions
    AGI.Foundation.Geometry.TwoDimensionalConvexHull
    AGI.Foundation.Geometry.Vector
    AGI.Foundation.Geometry.VectorDependentOnServiceProvider
    AGI.Foundation.Infrastructure.ExtensibleObject
    AGI.Foundation.Infrastructure.ObjectExtension
    AGI.Foundation.Infrastructure.ValueDefinition<T>
    AGI.Foundation.Navigation.Advanced.GpsSignalGenerator
    AGI.Foundation.Navigation.Advanced.NavigationReceiverAccessQuery
    AGI.Foundation.Navigation.Advanced.NavigationReceiverChannel
    AGI.Foundation.Navigation.Advanced.NavigationSignal
    AGI.Foundation.Navigation.GpsReceiver
    AGI.Foundation.Navigation.GpsReceiverNoiseModel
    AGI.Foundation.Navigation.Models.GpsReceiverErrorModel
    AGI.Foundation.NumericalMethods.Advanced.InterpolationAlgorithm
    AGI.Foundation.NumericalMethods.Advanced.PartialDerivativesFixed
    AGI.Foundation.NumericalMethods.Advanced.PartialDerivativesSum
    AGI.Foundation.NumericalMethods.CostFunctionSettings
    AGI.Foundation.NumericalMethods.Covariance6By6TwoBodyBlender
    AGI.Foundation.NumericalMethods.DoubleFunctionSampling
    AGI.Foundation.NumericalMethods.DoubleMotionInterpolator
    AGI.Foundation.NumericalMethods.DurationFunctionSampling
    AGI.Foundation.NumericalMethods.InequalityConstraintSettings
    AGI.Foundation.NumericalMethods.JulianDateFunctionSampling
    AGI.Foundation.NumericalMethods.RotationalMotionInterpolator
    AGI.Foundation.NumericalMethods.SegmentPropagatorConstraint
    AGI.Foundation.NumericalMethods.SegmentPropagatorCostFunction
    AGI.Foundation.NumericalMethods.SegmentPropagatorInequalityConstraint
    AGI.Foundation.NumericalMethods.SegmentPropagatorVariable
    AGI.Foundation.NumericalMethods.SolverConstraintSettings
    AGI.Foundation.NumericalMethods.SolverVariableSettings
    AGI.Foundation.NumericalMethods.TranslationalMotionInterpolator
    AGI.Foundation.Platforms.Advanced.GraphicsParameter<T>
    AGI.Foundation.Propagators.Advanced.AuxiliaryStateElement
    AGI.Foundation.Propagators.Advanced.PropagationStateCorrector
    AGI.Foundation.Propagators.Advanced.PropagationStateElement
    AGI.Foundation.Propagators.CartesianOnePointPropagator
    AGI.Foundation.Propagators.LifetimeOrbitPropagator
    AGI.Foundation.Propagators.NumericalPropagatorDefinition
    AGI.Foundation.Propagators.StoppablePropagatorDefinition
    AGI.Foundation.Propagators.TwoBodyStateTransitionMatrixPropagator
    AGI.Foundation.Radar.RadarWaveformProcessor
    AGI.Foundation.RouteDesign.Advanced.ConnectionConfigurationResult
    AGI.Foundation.RouteDesign.Advanced.ParametricRouteSegment
    AGI.Foundation.RouteDesign.Advanced.ProcedureConfigurationResult
    AGI.Foundation.RouteDesign.Advanced.ProfileSegment
    AGI.Foundation.RouteDesign.Advanced.SurfaceSegment
    AGI.Foundation.RouteDesign.DefaultConnectionBehavior
    AGI.Foundation.RouteDesign.PropagatedRoute
    AGI.Foundation.RouteDesign.RoutePropagator
    AGI.Foundation.RouteDesign.RouteSegment
    AGI.Foundation.SegmentPropagation.FollowSegmentBeginning
    AGI.Foundation.SegmentPropagation.FollowSegmentEnding
    AGI.Foundation.SegmentPropagation.ImpulsiveManeuverInformation
    AGI.Foundation.SegmentPropagation.SegmentDefinition
    AGI.Foundation.SegmentPropagation.StateUpdaterDefinition
    AGI.Foundation.SegmentPropagation.TargetedSegmentListOperator
    AGI.Foundation.Spice.JplSpkEphemerisProvider
    AGI.Foundation.Spice.JplSpkFile
    AGI.Foundation.StoppingConditions.StoppingCondition
    AGI.Foundation.StoppingConditions.StoppingConditionConstraint
    AGI.Foundation.Tracking.EntityFilter<TEntity>
    AGI.Foundation.Tracking.EntityFilterChain<TEntity>
    AGI.Foundation.Tracking.EntityParameter<TEntity>