//Construct without financial terms public TermLevel(SimpleLevelInfo _levelNodeInfo, AtomicRITELevelInfo _levelARTIEInfo) { nodeInfo = _levelNodeInfo; aRITEInfo = _levelARTIEInfo; hasAtomicRITEs = _levelARTIEInfo.Size > 0 ? true : false; isAllAtomicRITEs = hasAtomicRITEs && _levelNodeInfo.Size == 0 ? true : false; }
//Construct without financial terms public TermLevel(int _numOfNodes, int _numOfARites, int[] _nodePartitions, int[] _aRITEPartitions, int[] _atomicRITEIndicies, int[] _nodeFactorsIndex, int[] _aRiteFactorsIndex) { levelsize = _numOfNodes + _numOfARites; nodeInfo = new SimpleLevelInfo(_nodePartitions, _numOfNodes, _nodeFactorsIndex); aRITEInfo = new AtomicRITELevelInfo(_aRITEPartitions, NumOfARITEs, _aRiteFactorsIndex, _atomicRITEIndicies); hasAtomicRITEs = _numOfARites > 0 ? true : false; isAllAtomicRITEs = hasAtomicRITEs && _numOfNodes == 0 ? true : false; }
public TermLevel(bool _maxded, bool _percentded, float[] _minDeds, float[] _maxDeds, float[] _limits, SimpleLevelInfo _levelNodeInfo, AtomicRITELevelInfo _levelARTIEInfo) { hasMaxDed = _maxded; hasPercentDed = _percentded; minDeds = _minDeds; maxDeds = _maxDeds; limits = _limits; nodeInfo = _levelNodeInfo; aRITEInfo = _levelARTIEInfo; hasAtomicRITEs = _levelARTIEInfo.Size > 0 ? true : false; isAllAtomicRITEs = hasAtomicRITEs && _levelNodeInfo.Size == 0 ? true : false; }
public TermLevel(int _numOfNodes, int _numOfARites, bool _maxded, bool _percentded, float[] _minDeds, float[] _maxDeds, float[] _limits, int[] _nodePartitions, int[] _aRITEPartitions, int[] _atomicRITEIndicies, int[] _nodeFactorsIndex, int[] _aRiteFactorsIndex) { levelsize = _numOfNodes + _numOfARites; hasMaxDed = _maxded; hasPercentDed = _percentded; hasFranchiseDed = false; minDeds = _minDeds; maxDeds = _maxDeds; limits = _limits; nodeInfo = new SimpleLevelInfo(_nodePartitions, _numOfNodes, _nodeFactorsIndex); aRITEInfo = new AtomicRITELevelInfo(_aRITEPartitions, _numOfARites, _aRiteFactorsIndex, _atomicRITEIndicies); hasAtomicRITEs = _numOfARites > 0 ? true : false; isAllAtomicRITEs = hasAtomicRITEs && _numOfNodes == 0 ? true : false; }
public TermLevel(bool _maxded, bool _percentded, float[] _minDeds, float[] _maxDeds, float[] _limits, SimpleLevelInfo _levelNodeInfo, AtomicRITELevelInfo _levelARTIEInfo , bool _franchiseded, int[] _franchiseMinDedFlags, int[] _franchiseMaxDedFlags, bool[] _maxDedFlags) { hasMaxDed = _maxded; hasPercentDed = _percentded; hasFranchiseDed = false; minDeds = _minDeds; maxDeds = _maxDeds; limits = _limits; franchiseMinDedFlags = _franchiseMinDedFlags; franchiseMaxDedFlags = _franchiseMaxDedFlags; //maxDedFlags = _maxDedFlags; nodeInfo = _levelNodeInfo; aRITEInfo = _levelARTIEInfo; hasAtomicRITEs = _levelARTIEInfo.Size > 0 ? true : false; isAllAtomicRITEs = hasAtomicRITEs && _levelNodeInfo.Size == 0 ? true : false; }
} //DoLowestLevel public void DoTermLevels(float[] FactorVector, int level) //only having AtomicRites { AtomicRITELevelInfo aRiteInfor = graph.GetAtomicRITEInfo(level).GetaRiteInfo(); SimpleLevelInfo nodeInfo = graph.GetNodeAggInfo(level).GetSimpleLevelInfo(); //Get Rites Factors int NumOfaRites = aRiteInfor.Size; int[] aRiteFactorsIndex = aRiteInfor.FactorsIndex; float[] aRiteFactors = graphstate.GetARITELevelState(level).GetFactors(); for (int i = 0; i < NumOfaRites; i++) { int uniqueIndex = aRiteFactorsIndex[i]; if (uniqueIndex == -1) { aRiteFactors[i] = 1; } else { aRiteFactors[i] = FactorVector[uniqueIndex]; } } //Get Node Factors int NumOfNodes = nodeInfo.Size; int[] nodeFactorsIndex = nodeInfo.FactorsIndex; float[] nodeFactors = graphstate.GetTermLevelState(level).GetFactors(); for (int i = 0; i < NumOfNodes; i++) { int uniqueIndex = nodeFactorsIndex[i]; if (uniqueIndex == -1) { nodeFactors[i] = 1; } else { nodeFactors[i] = FactorVector[uniqueIndex]; } } } //DoTermLevels
public AtomicRITELevel(AtomicRITELevelInfo aRITElevelInfo) { levelsize = aRITElevelInfo.Size; aRITEInfo = aRITElevelInfo; }
public AtomicRITELevel(int[] _partitions, int size, int[] _factorsIndex, int[] _atomicRITEIndicies) { levelsize = size; aRITEInfo = new AtomicRITELevelInfo(_partitions, size, _factorsIndex, _atomicRITEIndicies); }