FRX SDK Documentation 2025 SP0
Loading...
Searching...
No Matches
AcGeImpOffsetCurve3d.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
20#include "..\acge17\AcGe.h"
21
22template < typename Param1 > class AcArrayMemCopyReallocator;
25class AcGeImpCurve3d;
26class AcGeImpEntity3d;
27class AcGeImpInterval;
29class AcGeImpObject;
31class AcGeLink;
32class AcGeMatrix3d;
33class AcGePoint3d;
35class AcGeTol;
36class AcGeVector3d;
37
39{
40public:
41 //AcGeImpOffsetCurve3d();
42 //AcGeImpOffsetCurve3d( AcGeImpCurve3d const &, AcGeVector3d const &,double,int);
44 AcGeImpCurve3d const * curve(double &, AcGeVector3d &, AcGeMatrix3d &,int &)const ;
45 AcGeImpCurve3d const * curve(void)const ;
51 AcGeVector3d normal(void)const ;
52 double offsetDistance(void)const ;
53 int paramDirection(void)const ;
54 virtual ~AcGeImpOffsetCurve3d(void);
55 virtual AcGeImpBoundBlock3d boundBlock(int, AcGeImpInterval const &,int)const ;
58 virtual AcGeImpCurve3d & setInterval(void);
59 virtual AcGeImpCurve3d * offsetBaseCurve(void)const ;
62 virtual AcGeImpObject * copy(void)const ;
63 virtual AcGePoint3d evalPoint(double)const ;
65 virtual double length(double,double,double)const ;
66 virtual double paramAtLength(double,double,int,double)const ;
67 virtual double paramOf( AcGePoint3d const &, AcGeTol const & = AcGeContext::gTol)const ;
68 virtual AcGe::EntityId type(int)const ;
69 virtual int explode( AcDbVoidPtrArray &, AcGeIntArray &, AcGeImpInterval const *)const ;
70 virtual int intersectSelf( AcGeCurveIntData &, AcGeVector3d const &,double, AcGeTol const & = AcGeContext::gTol)const ;
71 virtual int intersectWith( AcGeImpCurve3d const &, AcGeVector3d const &, AcGeCurveIntData &, AcGeTol const & = AcGeContext::gTol)const ;
72 virtual int isClosed( AcGeTol const & = AcGeContext::gTol)const ;
73 virtual int isDegenerate( AcGeImpEntity3d * &, AcGeTol const & = AcGeContext::gTol)const ;
74 virtual int isDegenerate( AcGe::EntityId &, AcGeTol const & = AcGeContext::gTol)const ;
75 virtual int isEqualTo( AcGeImpEntity3d const &, AcGeTol const & = AcGeContext::gTol)const ;
76 virtual int isLinear( AcGeImpLinearEnt3d &, AcGeTol const & = AcGeContext::gTol)const ;
77 virtual int isPeriodic(double &,int)const ;
78 virtual int isPlanar( AcGeImpPlanarEnt &, AcGeTol const & = AcGeContext::gTol)const ;
79 virtual void * getExternalEntity(void)const ;
80 virtual void eventDeleted( AcGeLink const &);
81 virtual void eventModified( AcGeLink const &);
82 virtual void eventTransformed( AcGeLink const &, AcGeMatrix3d const &);
83 virtual void getInterval( AcGeImpInterval &,int,int)const ;
84 virtual void getSplitCurves(double, AcGeImpCurve3d * &, AcGeImpCurve3d * &)const ;
86
87private:
88 virtual void evaluate(int, AcGePointOnCurve3dData &,int)const ;
89
90};
AcGeImpCurve3d const * curve(double &, AcGeVector3d &, AcGeMatrix3d &, int &) const
AcGeImpCurve3d const * curve(void) const
virtual AcGe::EntityId type(int) const
virtual int explode(AcDbVoidPtrArray &, AcGeIntArray &, AcGeImpInterval const *) const
virtual void eventModified(AcGeLink const &)
int paramDirection(void) const
double offsetDistance(void) const
virtual double paramOf(AcGePoint3d const &, AcGeTol const &=AcGeContext::gTol) const
virtual void * getExternalEntity(void) const
virtual AcGeImpObject * copy(void) const
AcGeImpOffsetCurve3d & operator=(AcGeImpOffsetCurve3d const &)
virtual int isLinear(AcGeImpLinearEnt3d &, AcGeTol const &=AcGeContext::gTol) const
void vanishDerivs(AcGeDoubleArray &, AcGeDoubleArray &, int) const
virtual void eventDeleted(AcGeLink const &)
virtual int intersectWith(AcGeImpCurve3d const &, AcGeVector3d const &, AcGeCurveIntData &, AcGeTol const &=AcGeContext::gTol) const
virtual int isDegenerate(AcGeImpEntity3d *&, AcGeTol const &=AcGeContext::gTol) const
virtual int isDegenerate(AcGe::EntityId &, AcGeTol const &=AcGeContext::gTol) const
AcGeMatrix3d transformation(void) const
virtual int isClosed(AcGeTol const &=AcGeContext::gTol) const
virtual AcGeImpEntity3d * exactOffset(double, AcGeVector3d const &, AcGeDoubleArray *, AcGeDoubleArray *, AcGe::OffsetCrvExtType, AcGeTol const &=AcGeContext::gTol) const
virtual int isEqualTo(AcGeImpEntity3d const &, AcGeTol const &=AcGeContext::gTol) const
AcGeImpOffsetCurve3d & setOffsetDistance(double)
AcGeImpOffsetCurve3d & setCurve(AcGeImpCurve3d const &)
AcGeImpOffsetCurve3d(AcGeImpOffsetCurve3d const &)
virtual AcGeImpCurve3d & setInterval(void)
virtual double paramAtLength(double, double, int, double) const
virtual AcGeImpCurve3d * offsetBaseCurve(void) const
virtual double length(double, double, double) const
virtual ~AcGeImpOffsetCurve3d(void)
virtual int intersectSelf(AcGeCurveIntData &, AcGeVector3d const &, double, AcGeTol const &=AcGeContext::gTol) const
virtual int isPeriodic(double &, int) const
AcGeVector3d normal(void) const
virtual void getInterval(AcGeImpInterval &, int, int) const
virtual void eventTransformed(AcGeLink const &, AcGeMatrix3d const &)
virtual AcGeImpCurve3d & setInterval(AcGeImpInterval const &, int)
virtual AcGeImpEntity3d & transformBy(AcGeMatrix3d const &)
virtual void getSplitCurves(double, AcGeImpCurve3d *&, AcGeImpCurve3d *&) const
virtual int isPlanar(AcGeImpPlanarEnt &, AcGeTol const &=AcGeContext::gTol) const
virtual AcGeImpBoundBlock3d boundBlock(int, AcGeImpInterval const &, int) const
virtual AcGePoint3d evalPoint(double, int, AcArray< AcGeVector3d, AcArrayMemCopyReallocator< AcGeVector3d > > &) const
virtual AcGePoint3d evalPoint(double) const
AcGeImpOffsetCurve3d & setNormal(AcGeVector3d const &)
virtual AcGeImpCurve3d & reverseParam(void)
static ARX_API_STATIC AcGeTol gTol
Definition AcGeContext.h:24
OffsetCrvExtType
Definition AcGe.h:188
EntityId
Definition AcGe.h:84