public ReqProRequirementPrx[] GetRequirementTracesTo(int nMaxTraceCount, ref eTraceAbortReason eAbort, out int nTraceCount, ReqProRequirementPrx reqReqPrxTracesTo) { if (rpxReq != null) { int i = 0; int nTraceCountTo; int nTraceCountChildren; ReqProRequirementPrx[] aReqPrxTo = GetRequirementTraces(rpxReq.TracesTo, nMaxTraceCount, out nTraceCountTo, reqReqPrxTracesTo); if (nTraceCountTo != aReqPrxTo.GetLength(0)) { eAbort = eAbort | eTraceAbortReason.eTooManyTracesTo; } ReqProRequirementPrx[] aReqPrxChildren = GetRequirementTraces(rpxReq.Children, -1, out nTraceCountChildren, reqReqPrxTracesTo); ReqProRequirementPrx[] aReqPrx; aReqPrx = new ReqProRequirementPrx[aReqPrxTo.GetLength(0) + aReqPrxChildren.GetLength(0)]; foreach (ReqProRequirementPrx reqPrx in aReqPrxTo) { aReqPrx[i++] = reqPrx; } foreach (ReqProRequirementPrx reqPrx in aReqPrxChildren) { aReqPrx[i++] = reqPrx; } nTraceCount = nTraceCountTo + nTraceCountChildren; return(aReqPrx); } nTraceCount = 0; return(new ReqProRequirementPrx[0]); }
public ReqProRequirementPrx[] GetRequirementTracesFrom(int nMaxTraceCount, ref eTraceAbortReason eAbort, out int nTraceCount, ReqProRequirementPrx reqReqPrxTracesFrom) { if (rpxReq != null) { ReqProRequirementPrx[] aReqPrx = GetRequirementTraces(rpxReq.TracesFrom, nMaxTraceCount, out nTraceCount, reqReqPrxTracesFrom); if (nTraceCount != aReqPrx.GetLength(0)) { eAbort = eAbort | eTraceAbortReason.eTooManyTracesFrom; } if (!rpxReq.IsRoot) { ReqProRequirementPrx[] aOut; int i; ReqProRequirementPrx reqParent = GetRequirementTrace( rpxReq.get_Parent(enumRequirementsWeights.eReqWeight_Medium), enumRelationshipDirections.eRelDirection_Parent); aOut = new ReqProRequirementPrx[aReqPrx.GetLength(0) + 1]; for (i = 0; i < aReqPrx.GetLength(0); i++) { aOut[i] = aReqPrx[i]; } aOut[i] = reqParent; nTraceCount++; } return(aReqPrx); } nTraceCount = 0; return(new ReqProRequirementPrx[0]); }
public ReqTraceNode(ReqProRequirementPrx reqProReqPrx, ulong ulDegreeRel, bool bIsRootNode, ReqProRequirementPrx[] aReqProReqPrxTracesFrom, ReqProRequirementPrx[] aReqProReqPrxTracesTo, int nTraceFromCount, int nTraceToCount, eTraceAbortReason eAbort, int nTraceFromHopCount, int nTraceToHopCount) : base(reqProReqPrx) { x = int.MinValue; y = int.MinValue; this.nTraceFromHopCount = int.MaxValue; this.nTraceToHopCount = int.MaxValue; OnceAgain(ulDegreeRel, bIsRootNode, aReqProReqPrxTracesFrom, aReqProReqPrxTracesTo, nTraceFromCount, nTraceToCount, eAbort, nTraceFromHopCount, nTraceToHopCount); }
public void OnceAgain(ulong ulDegreeRel, bool bIsRootNode, ReqProRequirementPrx[] aReqProReqPrxTracesFrom, ReqProRequirementPrx[] aReqProReqPrxTracesTo, int nTraceFromCount, int nTraceToCount, eTraceAbortReason eAbort, int nTraceFromHopCount, int nTraceToHopCount) { this.bIsRootNode = bIsRootNode; this.ulDegreeRel = ulDegreeRel; this.aReqProReqPrxTracesFrom = aReqProReqPrxTracesFrom; this.aReqProReqPrxTracesTo = aReqProReqPrxTracesTo; this.nTraceFromCount = nTraceFromCount; this.nTraceToCount = nTraceToCount; this.eAbort = eAbort; if (nTraceFromHopCount < this.nTraceFromHopCount) { this.nTraceFromHopCount = nTraceFromHopCount; } if (nTraceToHopCount < this.nTraceToHopCount) { this.nTraceToHopCount = nTraceToHopCount; } }