CFx SDK Documentation  2023 SP0
DbArc.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_ARC_
28 #define _OD_DB_ARC_
29 
30 #include "TD_PackPush.h"
31 
32 #include "DbCurve.h"
33 
52 {
53 public:
54 
56 
65 
66 
79 
80 
95  void setCenter( const OdGePoint3d& center );
96 
97 
109  double radius() const;
110 
111 
125  void setRadius( double radius );
126 
127 
142  double startAngle() const;
143 
144 
166  void setStartAngle( double startAngle );
167 
168 
183  double endAngle() const;
184 
185 
207  void setEndAngle( double endAngle );
208 
209 
225  double thickness() const;
226 
227 
244  void setThickness( double vThickness );
245 
246 
260 
261 
279  void setNormal( const OdGeVector3d& geVector );
280 
281 
286 
288  OdDbDwgFiler* pFiler);
289 
290  virtual void dwgOutFields(
291  OdDbDwgFiler* pFiler) const;
292 
294  OdDbDxfFiler* pFiler);
295 
296  virtual void dxfOutFields(
297  OdDbDxfFiler* pFiler) const;
298 
300  OdDbDxfFiler* pFiler);
301 
302  virtual void dxfOutFields_R12(
303  OdDbDxfFiler* pFiler) const;
304 
305  virtual bool subWorldDraw(
306  OdGiWorldDraw* pWd) const;
307 
308  //FELIX_CHANGE_BEGIN
310  OdGeExtents3d& extents) const;
311  //FELIX_CHANGE_END
312 
314  const OdGeMatrix3d& xfm);
315 
317  const OdGeMatrix3d& xfm,
318  OdDbEntityPtr& pCopy) const;
319 
321  void* pClsid) const;
322 
323  virtual bool isClosed() const;
324 
325  virtual bool isPeriodic() const;
326 
327 
340  virtual bool isPlanar() const;
341 
342 
360  virtual OdResult getPlane( OdGePlane& gePlane, OdDb::Planarity& gePlanarity ) const;
361 
362 
377  virtual OdResult getStartParam( double& startParam ) const;
378 
379 
394  virtual OdResult getEndParam( double& endParam ) const;
395 
396 
410  virtual OdResult getStartPoint( OdGePoint3d& startPoint ) const;
411 
412 
426  virtual OdResult getEndPoint( OdGePoint3d& endPoint ) const;
427 
428 
445  virtual OdResult getPointAtParam( double param, OdGePoint3d& pointOnCurve ) const;
446 
447 
463  virtual OdResult getParamAtPoint( const OdGePoint3d& pointOnCurve, double& param ) const;
464 
465 
481  virtual OdResult getDistAtParam( double param, double& dist ) const;
482 
483 
498  virtual OdResult getParamAtDist( double dist, double& param ) const;
499 
500 
516  virtual OdResult getFirstDeriv( double param, OdGeVector3d& firstDeriv ) const;
517 
518 
534  virtual OdResult getSecondDeriv( double param, OdGeVector3d& secondDeriv ) const;
535 
536 
550  virtual OdResult getArea( double& vArea ) const;
551 
552 
555  /*
556  OdDbArc(const OdGePoint3d& center, double radius,
557  double startAngle, double endAngle);
558  OdDbArc(const OdGePoint3d& center, const OdGeVector3d& normal,
559  double radius, double startAngle, double endAngle);
560  */
561 
562  virtual OdResult getOdGeCurve(OdGeCurve3d*& pGeCurve, const OdGeTol& tol = OdGeContext::gTol) const;
563  virtual OdResult setFromOdGeCurve(const OdGeCurve3d& geCurve, OdGeVector3d *normal = NULL, const OdGeTol& tol = OdGeContext::gTol);
565  virtual OdDbEntityPtr subSubentPtr(const OdDbFullSubentPath& /* path */) const;
566 };
567 
576 
577 #include "TD_PackPop.h"
578 
579 #endif
580 
OdSmartPtr< OdDbArc > OdDbArcPtr
Definition: DbArc.h:575
#define TOOLKIT_EXPORT
Definition: DbExport.h:40
tol
Definition: DimVarDefs.h:2287
#define NULL
Definition: GsProperties.h:177
OdResult
Definition: OdResult.h:29
Definition: DbArc.h:52
virtual OdResult subGetTransformedCopy(const OdGeMatrix3d &xfm, OdDbEntityPtr &pCopy) const
virtual OdResult getParamAtDist(double dist, double &param) const
TD_USING(OdDbCurve::getFirstDeriv)
OdGeVector3d normal() const
virtual bool isClosed() const
virtual OdDbEntityPtr subSubentPtr(const OdDbFullSubentPath &) const
void setThickness(double vThickness)
void setEndAngle(double endAngle)
OdGePoint3d center() const
OdGeMatrix3d getEcs() const
ODDB_DECLARE_MEMBERS(OdDbArc)
double thickness() const
virtual OdResult reverseCurve()
double startAngle() const
virtual bool isPeriodic() const
virtual OdResult getParamAtPoint(const OdGePoint3d &pointOnCurve, double &param) const
virtual OdResult getSecondDeriv(double param, OdGeVector3d &secondDeriv) const
virtual OdResult getPlane(OdGePlane &gePlane, OdDb::Planarity &gePlanarity) const
virtual OdResult getStartPoint(OdGePoint3d &startPoint) const
virtual OdResult dxfInFields_R12(OdDbDxfFiler *pFiler)
virtual OdResult getEndPoint(OdGePoint3d &endPoint) const
virtual OdResult getFirstDeriv(double param, OdGeVector3d &firstDeriv) const
virtual bool subWorldDraw(OdGiWorldDraw *pWd) const
virtual OdResult getStartParam(double &startParam) const
double endAngle() const
virtual OdResult subTransformBy(const OdGeMatrix3d &xfm)
virtual OdResult subGetClassID(void *pClsid) const
virtual void dxfOutFields(OdDbDxfFiler *pFiler) const
void setRadius(double radius)
virtual OdResult dxfInFields(OdDbDxfFiler *pFiler)
virtual OdResult getDistAtParam(double param, double &dist) const
virtual OdResult subGetGeomExtents(OdGeExtents3d &extents) const
virtual OdResult getEndParam(double &endParam) const
virtual OdResult setFromOdGeCurve(const OdGeCurve3d &geCurve, OdGeVector3d *normal=NULL, const OdGeTol &tol=OdGeContext::gTol)
void setCenter(const OdGePoint3d &center)
virtual void dwgOutFields(OdDbDwgFiler *pFiler) const
virtual OdResult getArea(double &vArea) const
double radius() const
virtual OdResult dwgInFields(OdDbDwgFiler *pFiler)
virtual OdResult getPointAtParam(double param, OdGePoint3d &pointOnCurve) const
void setStartAngle(double startAngle)
TD_USING(OdDbCurve::getSecondDeriv)
virtual bool isPlanar() const
void setNormal(const OdGeVector3d &geVector)
virtual OdResult getOdGeCurve(OdGeCurve3d *&pGeCurve, const OdGeTol &tol=OdGeContext::gTol) const
virtual void dxfOutFields_R12(OdDbDxfFiler *pFiler) const
virtual OdResult getSecondDeriv(double param, OdGeVector3d &secondDeriv) const
virtual OdResult getFirstDeriv(double param, OdGeVector3d &firstDeriv) const =0
Definition: GeTol.h:49
Planarity
Definition: DbEntity.h:74
static GE_STATIC_EXPORT OdGeTol gTol
Definition: GeGbl.h:60