public CResultAErreur CalculeArbre( CSchemaReseau schema, ESensAllerRetourLienReseau sens, CBaseGraphesReseau baseGraphes) { CResultAErreur result = CResultAErreur.True; if (baseGraphes == null) { baseGraphes = new CBaseGraphesReseau(); } CGrapheReseau graphe = baseGraphes.GetGrapheExistant(schema, sens); if (graphe == null) { graphe = new CGrapheReseau(baseGraphes); result = graphe.CalculeGraphe(schema, sens); if (!result) { return(result); } baseGraphes.AddGrapheReseau(schema.Id, sens, graphe); } switch (schema.ModeOperationnel.Code) { case EModeOperationnelSchema.AllMandatory: return(CalculArbreTousNecessaires(schema, graphe)); case EModeOperationnelSchema.AutomaticRedundancy: return(CalculArbreRedondanceAuto(schema, graphe)); case EModeOperationnelSchema.Custom: result.EmpileErreur("For future use"); return(result); default: break; } return(result); }
public override CResultAErreur Serialize(C2iSerializer serializer) { int nVersion = GetNumVersion(); CResultAErreur result = serializer.TraiteVersion(ref nVersion); if (!result) { return(result); } result = base.Serialize(serializer); if (!result) { return(result); } int nX, nY; if (nVersion >= 1) { nX = m_pointOffsetElement1.X; nY = m_pointOffsetElement1.Y; serializer.TraiteInt(ref nX); serializer.TraiteInt(ref nY); m_pointOffsetElement1 = new Point(nX, nY); nX = m_pointOffsetElement2.X; nY = m_pointOffsetElement2.Y; serializer.TraiteInt(ref nX); serializer.TraiteInt(ref nY); m_pointOffsetElement2 = new Point(nX, nY); } if (nVersion >= 2) { int nTmp; nTmp = m_foreColor.ToArgb(); serializer.TraiteInt(ref nTmp); m_foreColor = Color.FromArgb(nTmp); serializer.TraiteInt(ref m_nLineWidth); } int nNbPts = 0; nNbPts = Points.Length; serializer.TraiteInt(ref nNbPts); switch (serializer.Mode) { case ModeSerialisation.Ecriture: foreach (Point pt in Points) { nX = pt.X; nY = pt.Y; serializer.TraiteInt(ref nX); serializer.TraiteInt(ref nY); } break; case ModeSerialisation.Lecture: m_listePoints = new List <Point>(); for (int n = 0; n < nNbPts; n++) { nX = 0; nY = 0; serializer.TraiteInt(ref nX); serializer.TraiteInt(ref nY); m_listePoints.Add(new Point(nX, nY)); } break; } if (nVersion >= 3) { int nSens = (int)m_sensReseau; serializer.TraiteInt(ref nSens); m_sensReseau = (ESensAllerRetourLienReseau)nSens; } if (nVersion >= 4) { int nMode = (int)m_modeOperationnel; serializer.TraiteInt(ref nMode); m_modeOperationnel = (EModeOperationnelSchema)nMode; } if (nVersion >= 5) { serializer.TraiteBool(ref m_bIsBezier); } return(result); }