Ejemplo n.º 1
0
/*
 * //	@mfunc	Check whether this operation makes reference to
 * //			a specific feature.
 * //	@parm	The feature to check for.
 * LOGICAL CeRadial::HasReference ( const CeFeature* const pFeat ) const {
 *
 *      if ( m_pDirection && m_pDirection->HasReference(pFeat) ) return TRUE;
 *      if ( m_pLength && m_pLength->HasReference(pFeat) ) return TRUE;
 *
 *      return FALSE;
 *
 * } // end of HasReference
 */

        /*
         * //	@mfunc	Draw observed angles recorded as part of this op.
         * //	@parm	The point the observation must be made from.
         * //			Specify 0 for all points.
         * //	@parm	The view to draw in.
         * //	@parm	Display context for the draw.
         * //	@parm	The ground window for the draw (0 for no check).
         * void CeRadial::DrawAngles ( const CePoint* const pFrom
         *                                        , CeView* view
         *                                        , CDC* pDC
         *                                        , const CeWindow* const pWin ) const {
         *
         * // Skip this op if it has an update.
         * if ( GetpLatest() ) return;
         *
         * // Draw the direction.
         * m_pDirection->DrawAngle(pFrom,view,pDC,pWin,m_pTo);
         *
         * } // end of DrawAngles
         */

        /*
         * //	@mfunc	Draw observed angles recorded as part of this op.
         * //	@parm	The point the observation must be made from.
         * //			Specify 0 for all points.
         * //	@parm	The thing we're drawing to.
         * void CeRadial::DrawAngles ( const CePoint* const pFrom
         *                                        , CeDC& gdc ) const {
         *
         * // Skip this op if it has an update.
         * if ( GetpLatest() ) return;
         *
         * // Draw the direction.
         * m_pDirection->DrawAngle(pFrom,gdc,m_pTo);
         *
         * } // end of DrawAngles
         */

        /*
         * //	@mfunc	Create transient CeMiscText objects for any observed
         * //			angles that are part of this operation.
         * //
         * //			The caller is responsible for deleting the text
         * //			objects once done with them.
         * //
         * //	@parm	List of pointers to created text objects (appended to).
         * //	@parm	Should lines be produced too?
         * //	@parm	The associated point that this op must reference.
         * void CeRadial::CreateAngleText ( CPtrList& text
         *                                                 , const LOGICAL wantLinesToo
         *                                                 , const CePoint* const pFrom ) const {
         *
         * // Skip this op if it has an update.
         * if ( GetpLatest() ) return;
         *
         * // Get the direction to do it.
         * m_pDirection->CreateAngleText(text,wantLinesToo,pFrom,m_pTo);
         *
         * } // end of CreateAngleText
         */

        /// <summary>
        /// Obtains the features that are referenced by this operation (including features
        /// that are indirectly referenced by observation classes).
        /// </summary>
        /// <returns>The referenced features (never null, but may be an empty array).</returns>
        public override Feature[] GetRequiredFeatures()
        {
            List <Feature> result = new List <Feature>();

            result.AddRange(m_Direction.GetReferences());
            result.AddRange(m_Length.GetReferences());
            return(result.ToArray());
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Obtains the features that are referenced by this operation (including features
        /// that are indirectly referenced by observation classes).
        /// </summary>
        /// <returns>The referenced features (never null, but may be an empty array).</returns>
        public override Feature[] GetRequiredFeatures()
        {
            List <Feature> result = new List <Feature>();

            result.Add(m_Center);
            result.AddRange(m_Radius.GetReferences());

            return(result.ToArray());
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Obtains the features that are referenced by this operation (including features
        /// that are indirectly referenced by observation classes).
        /// </summary>
        /// <returns>The referenced features (never null, but may be an empty array).</returns>
        public override Feature[] GetRequiredFeatures()
        {
            List <Feature> result = new List <Feature>();

            result.Add(m_From1);
            result.Add(m_From2);
            result.AddRange(m_Distance1.GetReferences());
            result.AddRange(m_Distance2.GetReferences());

            return(result.ToArray());
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Obtains the features that are referenced by this operation (including features
        /// that are indirectly referenced by observation classes).
        /// </summary>
        /// <returns>The referenced features (never null, but may be an empty array).</returns>
        public override Feature[] GetRequiredFeatures()
        {
            List <Feature> result = new List <Feature>();

            if (m_RefLine != null)
            {
                result.Add(m_RefLine);
            }

            if (m_Term1 != null)
            {
                result.Add(m_Term1);
            }

            if (m_Term2 != null && m_Term2 != m_Term1)
            {
                result.Add(m_Term2);
            }

            result.AddRange(m_Offset.GetReferences());
            return(result.ToArray());
        }