FRX SDK Documentation 2025 SP0
Loading...
Searching...
No Matches
AcGeImpCompositeCurve3d.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;
26class AcGeImpCurve3d;
27class AcGeImpEntity3d;
28class AcGeImpInterval;
30class AcGeImpObject;
33class AcGeLink;
34class AcGeMatrix3d;
35class AcGePoint3d;
37class AcGeTol;
38class AcGeVector3d;
39
41{
42public:
43
45{
46};
47
48public:
55 AcGeImpCurve3d * curve(int)const ;
56 double globalToLocalParam(double,int &,double &)const ;
57 double localToGlobalParam(double,int)const ;
58 int smooth(double, AcGeTol const &,bool);
60 virtual AcGeImpBoundBlock3d boundBlock(int, AcGeImpInterval const &,int)const ;
63 virtual AcGeImpCurve3d & setInterval(void);
66 virtual AcGeImpEntity3d * project( AcGeImpPlanarEnt const &, AcGeVector3d const &, AcGeTol const & = AcGeContext::gTol)const ;
67 virtual AcGeImpObject * copy(void)const ;
68 virtual AcGePoint3d evalPoint(double)const ;
70 virtual double length(double,double,double)const ;
71 virtual double paramAtLength(double,double,int,double)const ;
72 virtual AcGe::EntityId type(int)const ;
73 virtual int area(double,double,double &, AcGeTol const & = AcGeContext::gTol)const ;
74 virtual int explode( AcDbVoidPtrArray &, AcGeIntArray &, AcGeImpInterval const *)const ;
75 virtual int intersectSelf( AcGeCurveIntData &, AcGeVector3d const &,double, AcGeTol const & = AcGeContext::gTol)const ;
76 virtual int intersectWith( AcGeImpCurve3d const &, AcGeVector3d const &, AcGeCurveIntData &, AcGeTol const & = AcGeContext::gTol)const ;
77 virtual int intersectWith( AcGeImpInterval const &, AcGeImpInterval const &, AcGeVector3d const &, AcGeCurveIntData &, AcGeTol const & = AcGeContext::gTol)const ;
78 virtual int isClosed( AcGeTol const & = AcGeContext::gTol)const ;
79 virtual int isDegenerate( AcGeImpEntity3d * &, AcGeTol const & = AcGeContext::gTol)const ;
80 virtual int isDegenerate( AcGe::EntityId &, AcGeTol const & = AcGeContext::gTol)const ;
81 virtual int isEqualTo( AcGeImpEntity3d const &, AcGeTol const & = AcGeContext::gTol)const ;
82 virtual int isLinear( AcGeImpLinearEnt3d &, AcGeTol const & = AcGeContext::gTol)const ;
83 virtual int isPeriodic(double &,int)const ;
84 virtual int isPlanar( AcGeImpPlanarEnt &, AcGeTol const & = AcGeContext::gTol)const ;
85 virtual void * getExternalEntity(void)const ;
86 virtual void eventDeleted( AcGeLink const &);
87 virtual void eventModified( AcGeLink const &);
88 virtual void eventSetInterval( AcGeLink const &);
91 virtual void getInterval( AcGeImpInterval &,int,int)const ;
93 virtual void getSplitCurves(double, AcGeImpCurve3d * &, AcGeImpCurve3d * &)const ;
100
101private:
102 AcGeImpPointOnCurve3d * compPointOnCurve( AcGeCompCrvEvalData * &,int, AcGeMatrix3d *)const ;
103 int configLeft( AcGeImpCompositeCurve3d const &, AcGeCurveIntData const &, AcGeIntArray const &, AcGeIntArray const &, AcGeIntArray const &,double, AcGeImpCurve3d *,int,double, AcGeImpCurve3d *,double, AcGeImpCurve3d *, AcGeVector3d const &, AcGeTol const & = AcGeContext::gTol)const ;
105 int intersectWith( AcGeImpCurve3d const &, AcGeImpInterval const &, AcGeImpInterval const &, AcGeVector3d const &, AcGeCurveIntData &, AcGeTol const & = AcGeContext::gTol)const ;
106 virtual void evaluate(int, AcGePointOnCurve3dData &,int)const ;
108 void getLowerAndUpperPoints(int, AcGePoint3d const &,double,double &, AcGeImpCurve3d * &,double &, AcGeImpCurve3d * &, AcGeTol const & = AcGeContext::gTol)const ;
109 void globalToLocalIParam(double,int,double &,double &)const ;
110 void setConfigOverlap( AcGe::AcGeXConfig &,bool)const ;
111
112};
virtual void eventSetInterval(AcGeLink const &)
void getCurveList(AcDbVoidPtrArray &) const
virtual int isPeriodic(double &, int) const
virtual void getSamplePoints(double, double, double, AcGeImpPointOnCurve3d &, AcArray< AcGePoint3d, AcArrayMemCopyReallocator< AcGePoint3d > > &, AcGeDoubleArray &, AcArray< AcGeVector3d, AcArrayMemCopyReallocator< AcGeVector3d > > *, AcArray< AcGeVector3d, AcArrayMemCopyReallocator< AcGeVector3d > > *) const
double globalToLocalParam(double, int &, double &) const
virtual AcGe::EntityId type(int) const
virtual AcGeImpCurve3d & setInterval(AcGeImpInterval const &, int)
virtual AcGeImpEntity3d * exactOffset(double, AcGeVector3d const &, AcGeDoubleArray *, AcGeDoubleArray *, AcGe::OffsetCrvExtType, AcGeTol const &=AcGeContext::gTol) const
int smooth(double, AcGeTol const &, bool)
AcGeImpCompositeCurve3d & append(AcGeImpCurve3d *)
virtual AcGeImpEntity3d * project(AcGeImpPlanarEnt const &, AcGeVector3d const &, AcGeTol const &=AcGeContext::gTol) const
virtual int isLinear(AcGeImpLinearEnt3d &, AcGeTol const &=AcGeContext::gTol) const
virtual AcGePoint3d evalPoint(double) const
virtual AcGePoint3d evalPoint(double, int, AcArray< AcGeVector3d, AcArrayMemCopyReallocator< AcGeVector3d > > &) const
void removeLinksG1Continuity(void)
virtual void * getExternalEntity(void) const
void addLinksG1Continuity(double)
double localToGlobalParam(double, int) const
AcGeImpCompositeCurve3d & operator=(AcGeImpCompositeCurve3d const &)
virtual void eventModified(AcGeLink const &)
virtual int isPlanar(AcGeImpPlanarEnt &, AcGeTol const &=AcGeContext::gTol) const
void getSegParams(AcGeDoubleArray &) const
virtual void getClosestPointTo(AcGePoint3d const &, AcGeImpPointOnCurve3d &, AcGeTol const &=AcGeContext::gTol) const
virtual int isClosed(AcGeTol const &=AcGeContext::gTol) const
virtual AcGeImpCurve3d & setInterval(void)
AcGeImpCompositeCurve3d(AcGeImpCompositeCurve3d const &)
virtual int isDegenerate(AcGeImpEntity3d *&, AcGeTol const &=AcGeContext::gTol) const
virtual void eventDeleted(AcGeLink const &)
AcGeImpCompositeCurve3d & set(AcDbVoidPtrArray const &, int)
void getInvalidArcs(AcDbVoidPtrArray &) const
virtual int isDegenerate(AcGe::EntityId &, AcGeTol const &=AcGeContext::gTol) const
virtual int area(double, double, double &, AcGeTol const &=AcGeContext::gTol) const
virtual AcGeImpBoundBlock3d boundBlock(int, AcGeImpInterval const &, int) const
virtual void getSplitCurves(double, AcGeImpCurve3d *&, AcGeImpCurve3d *&) const
virtual double paramAtLength(double, double, int, double) const
virtual int isEqualTo(AcGeImpEntity3d const &, AcGeTol const &=AcGeContext::gTol) const
virtual ~AcGeImpCompositeCurve3d(void)
virtual double length(double, double, double) const
virtual AcGeImpEntity3d & transformBy(AcGeMatrix3d const &)
virtual void getInterval(AcGeImpInterval &, int, int) const
AcGeImpCurve3d * curve(int) const
void getIntervalCurves(AcGeImpInterval const &, int &, int &, AcGeImpInterval &, AcGeImpInterval &, AcGePoint3d &, AcGePoint3d &, AcGePoint3d &, AcGePoint3d &, AcGeTol const &=AcGeContext::gTol) const
virtual void getClosestPointTo(AcGeImpCurve3d const &, AcGeImpPointOnCurve3d &, AcGeImpPointOnCurve3d &, AcGeTol const &=AcGeContext::gTol) const
virtual int explode(AcDbVoidPtrArray &, AcGeIntArray &, AcGeImpInterval const *) const
virtual AcGeImpCurve3d & reverseParam(void)
virtual int intersectWith(AcGeImpInterval const &, AcGeImpInterval const &, AcGeVector3d const &, AcGeCurveIntData &, AcGeTol const &=AcGeContext::gTol) const
virtual int intersectWith(AcGeImpCurve3d const &, AcGeVector3d const &, AcGeCurveIntData &, AcGeTol const &=AcGeContext::gTol) const
virtual int intersectSelf(AcGeCurveIntData &, AcGeVector3d const &, double, AcGeTol const &=AcGeContext::gTol) const
AcGeImpCompositeCurve3d(AcDbVoidPtrArray const &, int)
virtual AcGeImpObject * copy(void) const
static ARX_API_STATIC AcGeTol gTol
Definition AcGeContext.h:24
OffsetCrvExtType
Definition AcGe.h:188
EntityId
Definition AcGe.h:84
AcGeXConfig
Definition AcGe.h:41