| 95 | }}} |
| 96 | |
| 97 | |
| 98 | === IEllipticalArcSegment === |
| 99 | |
| 100 | {{{ |
| 101 | /// \brief |
| 102 | /// The FdoIEllipticalArcSegment class represets an Elliptical Arc Segment |
| 103 | /// geometry type. EllipticalArcSegment can describe portions of, or a full |
| 104 | /// ellipse. If describing a full ellipse, the start and end points are identical |
| 105 | /// and the mid-point is the diametrically opposite point on the ellipse. |
| 106 | /// |
| 107 | /// \remarks |
| 108 | /// Two foci were specified as opposed to major/minor axes so that the |
| 109 | /// API can derive this class from ArcSegmentAbstract and CurveSegmentAbstract, |
| 110 | /// thus reusing the concepts of start/mid/end points as defined in the base |
| 111 | /// classes. In this manner the API can maintain a common look/feel when defining |
| 112 | /// arc types. The expectation is that a Geometry API utility method will be |
| 113 | /// provided that will allow conversion to major/minor axis. |
| 114 | /// |
| 115 | /// The semimajor axis and the semiminor axis are one half of the major and minor |
| 116 | /// diameters, respectively. These are sometimes called the major and minor semi-axes, |
| 117 | /// the major and minor semiaxes,or major radius and minor radius. |
| 118 | /// |
| 119 | /// The foci of the ellipse are two special points on the ellipse's major |
| 120 | /// axis and are equidistant from the center point. The sum of the distances from any |
| 121 | /// point on the ellipse to those two foci is constant and equal to the major |
| 122 | /// diameter. Each of these two points is called a focus of the ellipse. |
| 123 | /// |
| 124 | class FdoIEllipticalArcSegment : public FdoIArcSegmentAbstract |
| 125 | { |
| 126 | public: |
| 127 | |
| 128 | /// \brief |
| 129 | /// Gets the two focal positions of this Ellipse Geometry. |
| 130 | /// |
| 131 | /// \return |
| 132 | /// Returns the two focal positions of the Ellipse as a collection |
| 133 | /// of two positions. |
| 134 | /// |
| 135 | virtual FdoIDirectPositionCollection const * GetFocalPositions() const = 0; |
| 136 | |
| 137 | /// \brief |
| 138 | /// Gets the two focal positions of this Ellipse Geometry as an array. |
| 139 | /// The ordinates are in the order XYZMXYZM, with only those present |
| 140 | /// according to the dimensionality. |
| 141 | /// |
| 142 | /// \return |
| 143 | /// Returns the two focal positions of the Ellipse as a collection |
| 144 | /// |
| 145 | virtual const double * GetFocalPositionOrdinates() = 0; |
| 146 | |
| 147 | protected: |
| 148 | |
| 149 | /// \brief |
| 150 | /// Constructs a default instance. |
| 151 | /// |
| 152 | FdoIEllipticalArcSegment() {}; |
| 153 | |
| 154 | /// \brief |
| 155 | /// Default destructor. |
| 156 | /// |
| 157 | virtual ~FdoIEllipticalArcSegment() {}; |
| 158 | }; |