FRX SDK Documentation 2025 SP0
Loading...
Searching...
No Matches
AcGeCurve3d.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;
24class AcGeEntity3d;
25class AcGeInterval;
26class AcGeLine3d;
27class AcGePlane;
28class AcGePoint3d;
30class AcGeTol;
31class AcGeVector3d;
32
34{
35 friend class DefValueProducer;
36
37public:
47 AcGeEntity3d * project( AcGePlane const &, AcGeVector3d const &, AcGeTol const & = AcGeContext::gTol)const ;
50 AcGePoint3d evalPoint(double)const ;
54 double distanceTo( AcGeCurve3d const &, AcGeTol const & = AcGeContext::gTol)const ;
55 double distanceTo( AcGePoint3d const &, AcGeTol const & = AcGeContext::gTol)const ;
56 double length(double,double,double = AcGeContext::gTol.equalPoint())const ;
57 double paramAtLength(double,double,Frx::Boolean = Frx::kTrue,double = AcGeContext::gTol.equalPoint() )const ;
58 double paramOf( AcGePoint3d const &, AcGeTol const & = AcGeContext::gTol)const ;
59 Adesk::Boolean area(double,double,double &, AcGeTol const & = AcGeContext::gTol)const ;
70 Adesk::Boolean isOn( AcGePoint3d const &,double &, AcGeTol const & = AcGeContext::gTol)const ;
71 Adesk::Boolean isOn(double, AcGeTol const & = AcGeContext::gTol)const ;
72 Adesk::Boolean isPeriodic(double &)const ;
77 void getInterval( AcGeInterval &)const ;
83 void getSamplePoints(double,double,double, AcArray< AcGePoint3d, AcArrayMemCopyReallocator< AcGePoint3d> > &, AcGeDoubleArray &, bool = false)const ;
86 void getSplitCurves(double, AcGeCurve3d * &, AcGeCurve3d * &)const ;
88
89protected:
92
93};
AcGePoint3d projClosestPointTo(AcGePoint3d const &, AcGeVector3d const &, AcGeTol const &=AcGeContext::gTol) const
Adesk::Boolean area(double, double, double &, AcGeTol const &=AcGeContext::gTol) const
Adesk::Boolean isDegenerate(AcGe::EntityId &, AcGeTol const &=AcGeContext::gTol) const
Adesk::Boolean isCoplanarWith(AcGeCurve3d const &, AcGePlane &, AcGeTol const &=AcGeContext::gTol) const
double paramAtLength(double, double, Frx::Boolean=Frx::kTrue, double=AcGeContext::gTol.equalPoint()) const
Adesk::Boolean isDegenerate(AcGeEntity3d *&, AcGeTol const &=AcGeContext::gTol) const
void getProjClosestPointTo(AcGeCurve3d const &, AcGeVector3d const &, AcGePointOnCurve3d &, AcGePointOnCurve3d &, AcGeTol const &=AcGeContext::gTol) const
void getClosestPointTo(AcGeCurve3d const &, AcGePointOnCurve3d &, AcGePointOnCurve3d &, AcGeTol const &=AcGeContext::gTol) const
Adesk::Boolean isOn(double, AcGeTol const &=AcGeContext::gTol) const
Adesk::Boolean isClosed(AcGeTol const &=AcGeContext::gTol) const
void getSamplePoints(double, double, double, AcArray< AcGePoint3d, AcArrayMemCopyReallocator< AcGePoint3d > > &, AcGeDoubleArray &, bool=false) const
void getProjClosestPointTo(AcGePoint3d const &, AcGeVector3d const &, AcGePointOnCurve3d &, AcGeTol const &=AcGeContext::gTol) const
AcGePoint3d closestPointTo(AcGePoint3d const &, AcGeTol const &=AcGeContext::gTol) const
AcGeBoundBlock3d orthoBoundBlock(AcGeInterval const &) const
void getInterval(AcGeInterval &) const
AcGeBoundBlock3d boundBlock(AcGeInterval const &) const
double length(double, double, double=AcGeContext::gTol.equalPoint()) const
Adesk::Boolean explode(AcDbVoidPtrArray &, AcGeIntArray &, AcGeInterval const *=nullptr) const
Adesk::Boolean setInterval(AcGeInterval const &)
AcGeBoundBlock3d boundBlock(void) const
AcGeCurve3d & setInterval(void)
void getSamplePoints(int, AcArray< AcGePoint3d, AcArrayMemCopyReallocator< AcGePoint3d > > &, AcArray< double, AcArrayMemCopyReallocator< double > > &) const
AcGeEntity3d * project(AcGePlane const &, AcGeVector3d const &, AcGeTol const &=AcGeContext::gTol) const
void getLocalClosestPoints(AcGePoint3d const &, AcGePointOnCurve3d &, AcGeInterval const *, AcGeTol const &=AcGeContext::gTol) const
Adesk::Boolean isOn(AcGePoint3d const &, AcGeTol const &=AcGeContext::gTol) const
Adesk::Boolean isOn(AcGePoint3d const &, double &, AcGeTol const &=AcGeContext::gTol) const
AcGePoint3d evalPoint(double, int, AcArray< AcGeVector3d, AcArrayMemCopyReallocator< AcGeVector3d > > &) const
Adesk::Boolean isPeriodic(double &) const
AcGePoint3d evalPoint(double) const
AcGeEntity3d * orthoProject(AcGePlane const &, AcGeTol const &=AcGeContext::gTol) const
AcGeCurve3d & reverseParam(void)
Adesk::Boolean isLinear(AcGeLine3d &, AcGeTol const &=AcGeContext::gTol) const
void getClosestPointTo(AcGePoint3d const &, AcGePointOnCurve3d &, AcGeTol const &=AcGeContext::gTol) const
void getTrimmedOffset(double, AcGeVector3d const &, AcDbVoidPtrArray &, AcGe::OffsetCrvExtType=AcGe::kFillet, AcGeTol const &=AcGeContext::gTol) const
AcGeCurve3d & operator=(AcGeCurve3d const &)
AcGeBoundBlock3d orthoBoundBlock(void) const
void getLocalClosestPoints(AcGeCurve3d const &, AcGePointOnCurve3d &, AcGePointOnCurve3d &, AcGeInterval const *, AcGeInterval const *, AcGeTol const &=AcGeContext::gTol) const
AcGeCurve3d(void)
void getInterval(AcGeInterval &, AcGePoint3d &, AcGePoint3d &) const
void getSplitCurves(double, AcGeCurve3d *&, AcGeCurve3d *&) const
Adesk::Boolean getNormalPoint(AcGePoint3d const &, AcGePointOnCurve3d &, AcGeTol const &=AcGeContext::gTol) const
double distanceTo(AcGePoint3d const &, AcGeTol const &=AcGeContext::gTol) const
Adesk::Boolean hasEndPoint(AcGePoint3d &) const
AcGePoint3d closestPointTo(AcGeCurve3d const &, AcGePoint3d &, AcGeTol const &=AcGeContext::gTol) const
void getSamplePoints(int, AcArray< AcGePoint3d, AcArrayMemCopyReallocator< AcGePoint3d > > &) const
double distanceTo(AcGeCurve3d const &, AcGeTol const &=AcGeContext::gTol) const
AcGePoint3d projClosestPointTo(AcGeCurve3d const &, AcGeVector3d const &, AcGePoint3d &, AcGeTol const &=AcGeContext::gTol) const
Adesk::Boolean isPlanar(AcGePlane &, AcGeTol const &=AcGeContext::gTol) const
AcGeCurve3d(AcGeCurve3d const &)
Adesk::Boolean hasStartPoint(AcGePoint3d &) const
double paramOf(AcGePoint3d const &, AcGeTol const &=AcGeContext::gTol) const
static ARX_API_STATIC AcGeTol gTol
Definition AcGeContext.h:24
OffsetCrvExtType
Definition AcGe.h:188
@ kFillet
Definition AcGe.h:189
EntityId
Definition AcGe.h:84
int Boolean
Definition frx.h:25
@ kTrue
Definition frx.h:31