Ejemplo n.º 1
0
        //#########################################################################################

        #region 构造函数
        /// <summary>
        /// 构造函数,缺省使用中心天体:地球(J2项系数为0)
        /// </summary>
        //public J2Gravity()
        //    : base(RoleOfForce.Principal, KindOfForce.NewtonianSpecificForce)
        //{
        //    CentralBodiesFacet fromContext = CentralBodiesFacet.GetFromContext();
        //    this.m_centralBody = fromContext.Earth;
        //    this.m_gravitationalParameter = WorldGeodeticSystem1984.GravitationalParameter;
        //    this.J2ZonalHarmonicCoefficient = 0.0;
        //    this.m_referenceDistance = m_centralBody.Shape.SemimajorAxisLength;
        //}

        /// <summary>
        /// 构造函数,缺省使用中心天体:地球(J2项系数为0)
        /// </summary>
        /// <param name="targetPoint">计算引力的瞬时点(位置、速度)</param>
        //public J2Gravity(Point targetPoint)
        //    : this()
        //{
        //    this.m_targetPoint = targetPoint;
        //}

        /// <summary>
        /// 构造函数,从已有对象复制
        /// </summary>
        /// <param name="existingInstance">已有对象</param>
        /// <param name="context">A CopyContext that controls the depth of the copy.</param>
        protected J2Gravity(J2Gravity existingInstance, CopyContext context)
            : base(existingInstance, context)
        {
            this.m_centralBody                = context.UpdateReference <CentralBody>(existingInstance.m_centralBody);
            this.m_gravitationalParameter     = existingInstance.m_gravitationalParameter;
            this.m_ignorePartials             = existingInstance.m_ignorePartials;
            this.m_targetPoint                = context.UpdateReference <Point>(existingInstance.m_targetPoint);
            this.m_j2ZonalHarmonicCoefficient = existingInstance.m_j2ZonalHarmonicCoefficient;
            this.m_referenceDistance          = existingInstance.m_referenceDistance;
        }
Ejemplo n.º 2
0
 //#####################################################################################
 /// <summary>
 /// 构造函数,从已有对象创建
 /// </summary>
 /// <param name="existingInstance"></param>
 /// <param name="context"></param>
 private J2Evaluator(J2Evaluator existingInstance, CopyContext context)
     : base(existingInstance, context)
 {
     this.m_position  = existingInstance.m_position;
     this.m_gravity   = existingInstance.m_gravity;
     this.m_definedIn = context.UpdateReference <Axes>(existingInstance.m_definedIn);
     this.UpdateEvaluatorReferences(context);
 }