private void InterpretLineFeature(IFeature pFea, int traceWeighFI)
{
// Create the listItem and add the class name and OID
IDataset pDS = (IDataset)pFea.Class;
ListViewItem pLI = lvwPipes.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 25 - Traceable?
if (IsBitSet(traceWeight, 25))
AddListSubItem(pLI, "No", Color.Red);
else
AddListSubItem(pLI, "Yes", Color.Green);
// Bit 24 - Pinchable?
if (IsBitSet(traceWeight, 24))
AddListSubItem(pLI, "No", Color.Red);
else
AddListSubItem(pLI, "Yes", Color.Green);
// Bit 23 - CP Barrier
if (IsBitSet(traceWeight, 23))
AddListSubItem(pLI, "No", Color.Red);
else
AddListSubItem(pLI, "Yes", Color.Green);
}