Пример #1
0
        /// <summary>
        /// Adds a reference from this ID to a row.
        /// </summary>
        /// <param name="row">The row to point to.</param>
        internal void AddReference(Row row)
        {
            m_Rows = (m_Rows == null ? row : m_Rows.Add(row));

            // Check whether any associated features are instances of TextFeature that
            // have RowTextContent geometry (a placeholder class that is meant to exist
            // only during deserialization from the database). If so, see whether the
            // geometry can now be replaced with the "proper" RowTextGeometry.

            if (m_Features != null)
            {
                foreach (Feature f in m_Features)
                {
                    TextFeature tf = (f as TextFeature);
                    if (tf != null)
                    {
                        RowTextContent content = (tf.TextGeometry as RowTextContent);
                        if (content != null && content.TableId == row.Table.Id)
                        {
                            tf.TextGeometry = new RowTextGeometry(row, content);
                        }
                    }
                }
            }
        }
Пример #2
0
 /// <summary>
 /// Adds a reference from this ID to a spatial feature.
 /// </summary>
 /// <param name="feature">The feature to point to.</param>
 public void AddReference(Feature feature)
 {
     m_Features = (m_Features == null ? feature : m_Features.Add(feature));
 }