In our application, we exposed a custom file format to ArcScene through a custom plugin data-source. However, we experience some problems which we ascribe to caching issues.
We generate a dataset with 5 fields, in particular OID, Shape and 3 custom columns. This dataset is added to the scene through a standard feature layer. ArcScene properly calls IPlugInDatasetHelper.get_Fields to obtain the IFields from our dataset.
Upon user interaction, this dataset might get regenerated where the number of fields might change. In this case to OID, Shape and a single custom row. If ArcScene now calls IPlugInDatasetHelper.FetchAll , the last parameter (object FieldMap) still contains 5 entries. ArcScene does not call IPlugInDatasetHelper.get_Fields anymore, despite the column count having changed.
Is there a way to tell ArcScene/ArcMap the fields in our custom data-source have changed?
We already tried ISceneGraph.Invalidate on our feature layer or ActiveView.Redraw of no avail.