CFx SDK Documentation  2022 SP0
DbEllipse.h
Go to the documentation of this file.
1 // Copyright (C) 2002-2017, Open Design Alliance (the "Alliance").
3 // All rights reserved.
4 //
5 // This software and its documentation and related materials are owned by
6 // the Alliance. The software may only be incorporated into application
7 // programs owned by members of the Alliance, subject to a signed
8 // Membership Agreement and Supplemental Software License Agreement with the
9 // Alliance. The structure and organization of this software are the valuable
10 // trade secrets of the Alliance and its suppliers. The software is also
11 // protected by copyright law and international treaty provisions. Application
12 // programs incorporating this software must include the following statement
13 // with their copyright notices:
14 //
15 // This application incorporates Teigha(R) software pursuant to a license
16 // agreement with Open Design Alliance.
17 // Teigha(R) Copyright (C) 2002-2017 by Open Design Alliance.
18 // All rights reserved.
19 //
20 // By use of this software, its documentation or related materials, you
21 // acknowledge and accept the above terms.
23 
24 
25 
26 
27 #ifndef _OD_DB_ELIPSE_H
28 #define _OD_DB_ELIPSE_H
30 #include "TD_PackPush.h"
31 
32 #include "DbCurve.h"
33 
63 {
64 public:
66 
75 
76 
92 
93 
110  void setCenter( const OdGePoint3d& center );
111 
112 
126 
127 
143 
144 
161 
162 
177  double radiusRatio() const;
178 
179 
196  void setRadiusRatio( double radiusRatio );
197 
198 
215  double startAngle() const;
216 
217 
240  void setStartAngle( double startAngle );
241 
242 
259  double endAngle() const;
260 
261 
284  void setEndAngle( double endAngle );
285 
286 
298  double paramAtAngle( double angle ) const;
299 
300 
309  double angleAtParam( double param ) const;
310 
311 
334  void get(OdGePoint3d& center,
335  OdGeVector3d& unitNormal,
336  OdGeVector3d& majorAxis,
337  double& radiusRatio,
338  double& startAngle,
339  double& endAngle) const;
340 
341 
368  void set(const OdGePoint3d& center,
369  const OdGeVector3d& unitNormal,
370  const OdGeVector3d& majorAxis,
371  double radiusRatio,
372  double startAngle = 0.0,
373  double endAngle = Oda2PI);
374 
375 
377  OdDbDwgFiler* pFiler);
378 
379  virtual void dwgOutFields(
380  OdDbDwgFiler* pFiler) const;
381 
383  OdDbDxfFiler* pFiler);
384 
385  virtual void dxfOutFields(
386  OdDbDxfFiler* pFiler) const;
387 
388  virtual bool subWorldDraw(
389  OdGiWorldDraw* pWd) const;
390 
391  //FELIX_CHANGE_BEGIN
393  OdGeExtents3d& extents) const;
394  //FELIX_CHANGE_END
395 
397  void* pClsid) const;
398 
399  virtual bool isClosed() const;
400 
401  virtual bool isPeriodic() const;
402 
403 
416  virtual bool isPlanar() const;
417 
418 
436  virtual OdResult getPlane( OdGePlane& gePlane, OdDb::Planarity& gePlanarity ) const;
437 
438 
460  virtual OdResult getStartParam( double& startParam ) const;
461 
462 
491  void setStartParam( double startParam );
492 
493 
515  virtual OdResult getEndParam( double& endParam ) const;
516 
517 
546  void setEndParam( double endParam );
547 
548 
566  virtual OdResult getStartPoint( OdGePoint3d& startPoint ) const;
567 
568 
586  virtual OdResult getEndPoint( OdGePoint3d& endPoint ) const;
587 
588 
608  virtual OdResult getPointAtParam( double param, OdGePoint3d& pointOnCurve ) const;
609 
610 
629  virtual OdResult getParamAtPoint( const OdGePoint3d& pointOnCurve, double& param ) const;
630 
631 
649  virtual OdResult getDistAtParam( double param, double& dist ) const;
650 
651 
669  virtual OdResult getParamAtDist( double dist, double& param ) const;
670 
671 
689  virtual OdResult getFirstDeriv( double param, OdGeVector3d& firstDeriv ) const;
690 
691 
709  virtual OdResult getSecondDeriv( double param, OdGeVector3d& secondDeriv ) const;
710 
711 
729  virtual OdResult getArea( double& vArea ) const;
730 
731 
734 
736  const OdGeMatrix3d& xfm);
737 
738  virtual OdResult getOdGeCurve(OdGeCurve3d*& pGeCurve, const OdGeTol& tol = OdGeContext::gTol) const;
739  virtual OdResult setFromOdGeCurve(const OdGeCurve3d& geCurve, OdGeVector3d *normal = NULL, const OdGeTol& tol = OdGeContext::gTol);
741 };
742 
751 
752 #include "TD_PackPop.h"
753 
754 #endif //_OD_DB_ELIPSE_H
755 
OdSmartPtr< OdDbEllipse > OdDbEllipsePtr
Definition: DbEllipse.h:750
#define TOOLKIT_EXPORT
Definition: DbExport.h:40
tol
Definition: DimVarDefs.h:2287
#define NULL
Definition: GsProperties.h:177
OdResult
Definition: OdResult.h:29
#define Oda2PI
Definition: OdaCommon.h:57
virtual OdResult getSecondDeriv(double param, OdGeVector3d &secondDeriv) const
virtual OdResult getFirstDeriv(double param, OdGeVector3d &firstDeriv) const =0
virtual OdResult getOdGeCurve(OdGeCurve3d *&pGeCurve, const OdGeTol &tol=OdGeContext::gTol) const
virtual OdResult getEndParam(double &endParam) const
TD_USING(OdDbCurve::getSecondDeriv)
virtual OdResult setFromOdGeCurve(const OdGeCurve3d &geCurve, OdGeVector3d *normal=NULL, const OdGeTol &tol=OdGeContext::gTol)
virtual OdResult getStartParam(double &startParam) const
double paramAtAngle(double angle) const
virtual OdResult getPlane(OdGePlane &gePlane, OdDb::Planarity &gePlanarity) const
virtual bool isPlanar() const
virtual OdResult getPointAtParam(double param, OdGePoint3d &pointOnCurve) const
void setCenter(const OdGePoint3d &center)
void get(OdGePoint3d &center, OdGeVector3d &unitNormal, OdGeVector3d &majorAxis, double &radiusRatio, double &startAngle, double &endAngle) const
OdGeVector3d majorAxis() const
double angleAtParam(double param) const
void setStartParam(double startParam)
virtual OdResult getParamAtPoint(const OdGePoint3d &pointOnCurve, double &param) const
OdGeVector3d normal() const
double radiusRatio() const
virtual OdResult getStartPoint(OdGePoint3d &startPoint) const
virtual OdResult getSecondDeriv(double param, OdGeVector3d &secondDeriv) const
virtual bool isClosed() const
virtual OdResult dwgInFields(OdDbDwgFiler *pFiler)
virtual OdResult subGetClassID(void *pClsid) const
double startAngle() const
virtual OdResult subGetGeomExtents(OdGeExtents3d &extents) const
virtual OdResult subTransformBy(const OdGeMatrix3d &xfm)
virtual OdResult dxfInFields(OdDbDxfFiler *pFiler)
virtual bool isPeriodic() const
virtual OdResult getEndPoint(OdGePoint3d &endPoint) const
virtual void dwgOutFields(OdDbDwgFiler *pFiler) const
double endAngle() const
virtual bool subWorldDraw(OdGiWorldDraw *pWd) const
virtual OdResult getFirstDeriv(double param, OdGeVector3d &firstDeriv) const
void setStartAngle(double startAngle)
OdGePoint3d center() const
virtual OdResult getDistAtParam(double param, double &dist) const
virtual OdResult reverseCurve()
OdGeVector3d minorAxis() const
void setRadiusRatio(double radiusRatio)
virtual OdResult getArea(double &vArea) const
void setEndParam(double endParam)
virtual OdResult getParamAtDist(double dist, double &param) const
ODDB_DECLARE_MEMBERS(OdDbEllipse)
void setEndAngle(double endAngle)
TD_USING(OdDbCurve::getFirstDeriv)
virtual void dxfOutFields(OdDbDxfFiler *pFiler) const
void set(const OdGePoint3d &center, const OdGeVector3d &unitNormal, const OdGeVector3d &majorAxis, double radiusRatio, double startAngle=0.0, double endAngle=Oda2PI)
Definition: GeTol.h:49
Planarity
Definition: DbEntity.h:74
static GE_STATIC_EXPORT OdGeTol gTol
Definition: GeGbl.h:60