FRX SDK Documentation 2025 SP0
Loading...
Searching...
No Matches
AcDbSpline.h
Go to the documentation of this file.
1#pragma once
2
3//
4// (C) Copyright 2005-2024 by Graebert GmbH.
5//
6// Permission to use, copy, modify, and distribute this software in
7// object code form for any purpose and without fee is hereby granted,
8// provided that the above copyright notice appears in all copies and
9// that both that copyright notice and the limited warranty and
10// restricted rights notice below appear in all supporting
11// documentation.
12//
13// GRAEBERT PROVIDES THIS PROGRAM "AS IS" AND WITH ALL FAULTS.
14// GRAEBERT SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OF
15// MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE. GRAEBERT GMBH
16// DOES NOT WARRANT THAT THE OPERATION OF THE PROGRAM WILL BE
17// UNINTERRUPTED OR ERROR FREE.
18
19#include "..\acdb17\AcDbCurve.h"
20#include "..\acdb17\AcDb.h"
21#include "..\acad\Acad.h"
23
24template < typename Param1 > class AcArrayMemCopyReallocator;
25class AcDbCurve;
27class AcGePlane;
28class AcGePoint3d;
29class AcGeVector3d;
30class AcRxClass;
31
33{
34public:
37 AcDbSpline( AcGePoint3d const &, AcGeVector3d const &, AcGeVector3d const &,double,double = 0.,double = 6.28318530717958647692);
40 double fitTolerance(void)const ;
41 double weightAt(int)const ;
42 Acad::ErrorStatus elevateDegree(int);
43 Acad::ErrorStatus getControlPointAt(int, AcGePoint3d &)const ;
46 Acad::ErrorStatus getFitPointAt(int, AcGePoint3d &)const ;
47 Acad::ErrorStatus getFitTangents( AcGeVector3d &, AcGeVector3d &)const ;
49 Acad::ErrorStatus insertFitPointAt(int, AcGePoint3d const &);
50 Acad::ErrorStatus insertKnot(double);
51 Acad::ErrorStatus purgeFitData(void);
52 Acad::ErrorStatus removeFitPointAt(int);
53 Acad::ErrorStatus reverseCurve(void);
54 Acad::ErrorStatus setControlPointAt(int, AcGePoint3d const &);
55 Acad::ErrorStatus setFitData(AcArray< AcGePoint3d, AcArrayMemCopyReallocator< AcGePoint3d> > const &, bool, AcGe::KnotParameterization, int = 3, double = 0.);
56 Acad::ErrorStatus setFitData( AcArray< AcGePoint3d, AcArrayMemCopyReallocator< AcGePoint3d> > const &,int,double, AcGeVector3d const &, AcGeVector3d const &);
57 Acad::ErrorStatus setFitPointAt(int, AcGePoint3d const &);
58 Acad::ErrorStatus setFitTangents( AcGeVector3d const &, AcGeVector3d const &);
59 Acad::ErrorStatus setFitTol(double);
60 Acad::ErrorStatus setNurbsData(int,int,int,int, AcArray< AcGePoint3d, AcArrayMemCopyReallocator< AcGePoint3d> > const &, AcGeDoubleArray const &, AcGeDoubleArray const &,double,double);
61 Acad::ErrorStatus setWeightAt(int,double);
62 Acad::ErrorStatus updateFitData(void);
63 Acad::ErrorStatus toPolyline( AcDbCurve *&, int = 10, int * = NULL, unsigned int = 0 )const;
64
65 int degree(void)const ;
66 int hasFitData(void)const ;
67 int isNull(void)const ;
68 int isRational(void)const ;
69 int numControlPoints(void)const ;
70 int numFitPoints(void)const ;
71
72 virtual ~AcDbSpline(void);
73 virtual bool castShadows(void)const ;
74 virtual bool receiveShadows(void)const ;
75
76 virtual Acad::ErrorStatus extend(double);
77 virtual Acad::ErrorStatus extend(int, AcGePoint3d const &);
78 virtual Acad::ErrorStatus getArea(double &)const ;
79 virtual Acad::ErrorStatus getClassID( _GUID *)const ;
80 virtual Acad::ErrorStatus getClosestPointTo( AcGePoint3d const &, AcGePoint3d &,int=0)const ;
81 virtual Acad::ErrorStatus getClosestPointTo( AcGePoint3d const &, AcGeVector3d const &, AcGePoint3d &,int=0)const ;
82 virtual Acad::ErrorStatus getDistAtParam(double,double &)const ;
83 virtual Acad::ErrorStatus getDistAtPoint( AcGePoint3d const &,double &)const ;
84 virtual Acad::ErrorStatus getEndParam(double &)const ;
85 virtual Acad::ErrorStatus getEndPoint( AcGePoint3d &)const ;
86 virtual Acad::ErrorStatus getFirstDeriv( AcGePoint3d const &, AcGeVector3d &)const ;
87 virtual Acad::ErrorStatus getFirstDeriv(double, AcGeVector3d &)const ;
88 virtual Acad::ErrorStatus getOffsetCurves(double, AcDbVoidPtrArray &)const ;
89 virtual Acad::ErrorStatus getOffsetCurvesGivenPlaneNormal( AcGeVector3d const &,double, AcDbVoidPtrArray &)const ;
90 virtual Acad::ErrorStatus getOrthoProjectedCurve( AcGePlane const &, AcDbCurve * &)const ;
91 virtual Acad::ErrorStatus getParamAtDist(double,double &)const ;
92 virtual Acad::ErrorStatus getParamAtPoint( AcGePoint3d const &,double &)const ;
93 virtual Acad::ErrorStatus getPlane( AcGePlane &, AcDb::Planarity &)const ;
94 virtual Acad::ErrorStatus getPointAtDist(double, AcGePoint3d &)const ;
95 virtual Acad::ErrorStatus getPointAtParam(double, AcGePoint3d &)const ;
96 virtual Acad::ErrorStatus getProjectedCurve( AcGePlane const &, AcGeVector3d const &, AcDbCurve * &)const ;
97 virtual Acad::ErrorStatus getSecondDeriv( AcGePoint3d const &, AcGeVector3d &)const ;
98 virtual Acad::ErrorStatus getSecondDeriv(double, AcGeVector3d &)const ;
99 virtual Acad::ErrorStatus getSpline( AcDbSpline * &)const ;
101 virtual Acad::ErrorStatus getSplitCurves( AcGeDoubleArray const &, AcDbVoidPtrArray &)const ;
102 virtual Acad::ErrorStatus getStartParam(double &)const ;
103 virtual Acad::ErrorStatus getStartPoint( AcGePoint3d &)const ;
104 virtual Adesk::Boolean isClosed(void)const ;
105 virtual Adesk::Boolean isPeriodic(void)const ;
106 virtual Adesk::Boolean isPlanar(void)const ;
107 virtual void setCastShadows(bool);
108 virtual void setReceiveShadows(bool);
109 virtual Acad::ErrorStatus getAcGeCurve(AcGeCurve3d * &, AcGeTol const & = AcGeContext::gTol) const;
110 virtual Acad::ErrorStatus setFromAcGeCurve(AcGeCurve3d const &, AcGeVector3d *, AcGeTol const & = AcGeContext::gTol);
111
113
114protected:
116
117};
#define ACRX_DECLARE_MEMBERS(classname)
Definition addmacro.h:756
virtual Acad::ErrorStatus getDistAtParam(double, double &) const
virtual Acad::ErrorStatus getOffsetCurves(double, AcDbVoidPtrArray &) const
int numFitPoints(void) const
Acad::ErrorStatus getFitData(AcGePoint3dArray &, Adesk::Boolean &, AcGeVector3d &, AcGeVector3d &, AcGe::KnotParameterization &, int &, double &) const
Acad::ErrorStatus updateFitData(void)
virtual Acad::ErrorStatus getProjectedCurve(AcGePlane const &, AcGeVector3d const &, AcDbCurve *&) const
int degree(void) const
int isRational(void) const
Acad::ErrorStatus elevateDegree(int)
virtual bool receiveShadows(void) const
virtual Acad::ErrorStatus getPlane(AcGePlane &, AcDb::Planarity &) const
virtual bool castShadows(void) const
virtual Acad::ErrorStatus getSpline(AcDbSpline *&) const
Acad::ErrorStatus reverseCurve(void)
virtual Acad::ErrorStatus extend(int, AcGePoint3d const &)
virtual Acad::ErrorStatus getStartPoint(AcGePoint3d &) const
Acad::ErrorStatus setFitTol(double)
virtual Acad::ErrorStatus getOffsetCurvesGivenPlaneNormal(AcGeVector3d const &, double, AcDbVoidPtrArray &) const
virtual Acad::ErrorStatus getFirstDeriv(AcGePoint3d const &, AcGeVector3d &) const
Acad::ErrorStatus setFitData(AcArray< AcGePoint3d, AcArrayMemCopyReallocator< AcGePoint3d > > const &, int, double, AcGeVector3d const &, AcGeVector3d const &)
virtual Acad::ErrorStatus getParamAtDist(double, double &) const
Acad::ErrorStatus setControlPointAt(int, AcGePoint3d const &)
virtual Acad::ErrorStatus extend(double)
Acad::ErrorStatus toPolyline(AcDbCurve *&, int=10, int *=NULL, unsigned int=0) const
virtual Acad::ErrorStatus getStartParam(double &) const
Acad::ErrorStatus setFitTangents(AcGeVector3d const &, AcGeVector3d const &)
AcDbSpline(AcDbSystemInternals *)
virtual void setCastShadows(bool)
virtual Acad::ErrorStatus getOrthoProjectedCurve(AcGePlane const &, AcDbCurve *&) const
Acad::ErrorStatus insertFitPointAt(int, AcGePoint3d const &)
virtual Acad::ErrorStatus getEndPoint(AcGePoint3d &) const
Acad::ErrorStatus setFitData(AcArray< AcGePoint3d, AcArrayMemCopyReallocator< AcGePoint3d > > const &, bool, AcGe::KnotParameterization, int=3, double=0.)
int hasFitData(void) const
virtual Acad::ErrorStatus getClosestPointTo(AcGePoint3d const &, AcGeVector3d const &, AcGePoint3d &, int=0) const
AcDbSpline(void)
virtual Acad::ErrorStatus getArea(double &) const
int numControlPoints(void) const
Acad::ErrorStatus getControlPointAt(int, AcGePoint3d &) const
virtual Adesk::Boolean isClosed(void) const
Acad::ErrorStatus purgeFitData(void)
virtual Acad::ErrorStatus setFromAcGeCurve(AcGeCurve3d const &, AcGeVector3d *, AcGeTol const &=AcGeContext::gTol)
virtual Acad::ErrorStatus getFirstDeriv(double, AcGeVector3d &) const
virtual Acad::ErrorStatus getParamAtPoint(AcGePoint3d const &, double &) const
virtual Acad::ErrorStatus getDistAtPoint(AcGePoint3d const &, double &) const
virtual Acad::ErrorStatus getAcGeCurve(AcGeCurve3d *&, AcGeTol const &=AcGeContext::gTol) const
virtual Acad::ErrorStatus getSplitCurves(AcArray< AcGePoint3d, AcArrayMemCopyReallocator< AcGePoint3d > > const &, AcDbVoidPtrArray &) const
virtual Acad::ErrorStatus getClassID(_GUID *) const
double fitTolerance(void) const
Acad::ErrorStatus getFitPointAt(int, AcGePoint3d &) const
Acad::ErrorStatus getFitData(AcArray< AcGePoint3d, AcArrayMemCopyReallocator< AcGePoint3d > > &, int &, double &, Adesk::Boolean &, AcGeVector3d &, AcGeVector3d &) const
Acad::ErrorStatus removeFitPointAt(int)
virtual Acad::ErrorStatus getClosestPointTo(AcGePoint3d const &, AcGePoint3d &, int=0) const
AcDbSpline(AcGePoint3d const &, AcGeVector3d const &, AcGeVector3d const &, double, double=0., double=6.28318530717958647692)
virtual Acad::ErrorStatus getEndParam(double &) const
virtual Acad::ErrorStatus getSecondDeriv(AcGePoint3d const &, AcGeVector3d &) const
virtual Adesk::Boolean isPeriodic(void) const
virtual Acad::ErrorStatus getSecondDeriv(double, AcGeVector3d &) const
Acad::ErrorStatus getFitTangents(AcGeVector3d &, AcGeVector3d &) const
virtual Acad::ErrorStatus getPointAtParam(double, AcGePoint3d &) const
Acad::ErrorStatus setNurbsData(int, int, int, int, AcArray< AcGePoint3d, AcArrayMemCopyReallocator< AcGePoint3d > > const &, AcGeDoubleArray const &, AcGeDoubleArray const &, double, double)
Acad::ErrorStatus insertKnot(double)
virtual Acad::ErrorStatus getPointAtDist(double, AcGePoint3d &) const
Acad::ErrorStatus getNurbsData(int &, Adesk::Boolean &, Adesk::Boolean &, Adesk::Boolean &, AcArray< AcGePoint3d, AcArrayMemCopyReallocator< AcGePoint3d > > &, AcGeDoubleArray &, AcGeDoubleArray &, double &, double &) const
virtual Adesk::Boolean isPlanar(void) const
Acad::ErrorStatus setWeightAt(int, double)
int isNull(void) const
AcDbSpline(int, int, int, int, AcArray< AcGePoint3d, AcArrayMemCopyReallocator< AcGePoint3d > > const &, AcGeDoubleArray const &, AcGeDoubleArray const &, double=0., double=AcGeKnotVector::globalKnotTolerance)
AcDbSpline(AcArray< AcGePoint3d, AcArrayMemCopyReallocator< AcGePoint3d > > const &, AcGeVector3d const &, AcGeVector3d const &, int=4, double=0.0)
double weightAt(int) const
virtual void setReceiveShadows(bool)
Acad::ErrorStatus setFitPointAt(int, AcGePoint3d const &)
AcDbSpline(AcArray< AcGePoint3d, AcArrayMemCopyReallocator< AcGePoint3d > > const &, int=4, double=0.)
virtual ~AcDbSpline(void)
virtual Acad::ErrorStatus getSplitCurves(AcGeDoubleArray const &, AcDbVoidPtrArray &) const
static ARX_API_STATIC double globalKnotTolerance
static ARX_API_STATIC AcGeTol gTol
Definition AcGeContext.h:24
KnotParameterization
Definition AcGe.h:32