private void InterpretPointFeature(IFeature pFea, int traceWeighFI)
{
// Create the listItem and add the class name and OID
IDataset pDS = (IDataset)pFea.Class;
ListViewItem pLI = lvwDevices.Items.Add(pDS.Name);
pLI.UseItemStyleForSubItems = false;
if (pFea.HasOID == true)
pLI.SubItems.Add(Convert.ToString(pFea.OID));
else
pLI.SubItems.Add("No OID");
// get the trace weight value
object rawValue = pFea.get_Value(traceWeighFI);
if (DBNull.Value.Equals(rawValue) == true)
{
AddListSubItem(pLI,"<Null>", Color.Black);
return;
}
int traceWeight = Convert.ToInt32(rawValue);
AddListSubItem(pLI, Convert.ToString(traceWeight), Color.Black);
// Bit 30 - Normal Position
if (IsBitSet(traceWeight, 30))
AddListSubItem(pLI, "Closed", Color.Red);
else
AddListSubItem(pLI, "Open", Color.Green);
// Bit 29 - Is Valve
if (IsBitSet(traceWeight, 29))
AddListSubItem(pLI, "Yes", Color.Green);
else
AddListSubItem(pLI, "No", Color.Red);
// Bit 28 - Is Critical Valve
if (IsBitSet(traceWeight, 28))
AddListSubItem(pLI, "Yes", Color.Green);
else
AddListSubItem(pLI, "No", Color.Red);
//// Bit 27 - Is Non-Controllable Fitting
if (IsBitSet(traceWeight, 27))
AddListSubItem(pLI, "Yes", Color.Green);
else
AddListSubItem(pLI, "No", Color.Red);
//// Bit 26 - Is Controllable Fitting
if (IsBitSet(traceWeight, 26))
AddListSubItem(pLI, "Yes", Color.Green);
else
AddListSubItem(pLI, "No", Color.Red);
// Bit 25 - Is Rectifier
if (IsBitSet(traceWeight, 25))
AddListSubItem(pLI, "Yes", Color.Green);
else
AddListSubItem(pLI, "No", Color.Red);
//// Bit 21 - Is TBS?
if (IsBitSet(traceWeight, 21))
AddListSubItem(pLI, "Yes", Color.Green);
else
AddListSubItem(pLI, "No", Color.Red);
//// Bit 20 - Is Regulator
if (IsBitSet(traceWeight, 20))
AddListSubItem(pLI, "Yes", Color.Green);
else
AddListSubItem(pLI, "No", Color.Red);
//// Bit 19 - Is CP Barrier
if (IsBitSet(traceWeight, 19))
AddListSubItem(pLI, "Yes", Color.Green);
else
AddListSubItem(pLI, "No", Color.Red);
//// Bit 18 - Is Gas System Boundary
if (IsBitSet(traceWeight, 18))
AddListSubItem(pLI, "Yes", Color.Green);
else
AddListSubItem(pLI, "No", Color.Red);
//// Bit 17 - Is Gas Pressure System Boundary
if (IsBitSet(traceWeight, 17))
AddListSubItem(pLI, "Yes", Color.Green);
else
AddListSubItem(pLI, "No", Color.Red);
//// Bit 16 - Is Emergency Isolation System Boundary
if (IsBitSet(traceWeight, 16))
AddListSubItem(pLI, "Yes", Color.Green);
else
AddListSubItem(pLI, "No", Color.Red);
}