예제 #1
0
 public void ExNodeCalculate(AValueStruct vs, AValueMask pMask)
 {
     if (null != m_pExNode)
     {
         if (m_pExNode.NeedCalculate)
         {
             m_pExNode.CalculateAValues(); // 如果子节点需要重新计算...
         }
         m_pExNode.CombineAValues(vs, pMask, true);
     }
 }
예제 #2
0
        public void ReCalculate(bool bAtOnce, AValueMask pMask, bool fcChangeNotify)
        {
            NeedCalculate = true;

            if (null != pMask)
            {
                m_NodeMask.Combine(pMask);
            }
            else
            {
                m_NodeMask.CalculateAll = true;
            }

            if (null != m_pParentNode)
            {
                m_pParentNode.ReCalculate(bAtOnce, pMask, fcChangeNotify);
            }
        }
예제 #3
0
        public void CalculateAValues()
        {
            NeedCalculate = false;

            AValueStruct vs = m_NodeVS;

            if (m_NodeMask.CalculateAll)
            {
                m_NodeMask.CalculateAll = false;
                m_NodeMask = null;
            }

            // 重置标脏的属性数据
            vs.Reset(m_NodeMask);

            // 合并子节点的数值
            for (int i = 0; i < m_nChildNodeCnt; i++)
            {
                AValueNode pNode = m_pChildNode[i];
                if (null != pNode)
                {
                    if (pNode.NeedCalculate)
                    {
                        pNode.CalculateAValues(); // 如果子节点需要重新计算...
                    }
                    // 合并子节点的当前属性结构
                    pNode.CombineAValues(vs, m_NodeMask, true);
                }
            }

            // 合并本节点的属性结构
            AddupAValues(vs, m_NodeMask);

            ExNodeCalculate(vs, m_NodeMask);

            ExportResult(vs, m_NodeMask);

            m_NodeMask.Reset(); // 复位
        }
예제 #4
0
 public void CombineAValues(AValueStruct vs, AValueMask pMask, bool bLinear)
 {
     vs.Combine(m_NodeVS, pMask, bLinear);
 }
예제 #5
0
 public virtual void ExportResult(AValueStruct vs, AValueMask pMask)
 {
 }
예제 #6
0
 public virtual void AddupAValues(AValueStruct vs, AValueMask pMask)
 {
 }