FRX SDK Documentation 2025 SP0
Loading...
Searching...
No Matches
AcGeImpLinearEnt3d.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 "..\acge17\AcGe.h"
20
21template < typename Param1 > class AcArrayMemCopyReallocator;
24class AcGeImpCurve3d;
25class AcGeImpEntity3d;
26class AcGeImpInterval;
27class AcGeImpObject;
30class AcGeImpSurface;
31class AcGeMatrix3d;
32class AcGePoint3d;
34class AcGeTol;
35class AcGeVector3d;
36
38{
39public:
43
44public:
45 AcGeImpLinearEnt3d( AcGeImpCurve3d const &, AcGeImpCurve3d const &,double &,double &);
46 AcGeImpLinearEnt3d( AcGeImpCurve3d const &, AcGePoint3d const &,double &,int &);
48 AcGeImpLinearEnt3d( AcGePoint3d const &, AcGePoint3d const &,int,int);
49 AcGeImpLinearEnt3d( AcGePoint3d const &, AcGeVector3d const &,int,int);
53 AcGeImpLinearEnt3d & set( AcGeImpCurve3d const &, AcGeImpCurve3d const &,double &,double &,int &);
54 AcGeImpLinearEnt3d & set( AcGeImpCurve3d const &, AcGePoint3d const &,double &,int &);
55 AcGeImpLinearEnt3d & set( AcGePoint3d const &, AcGePoint3d const &,int,int);
56 AcGeImpLinearEnt3d & set( AcGePoint3d const &, AcGeVector3d const &,int,int);
57 AcGePoint3d baryComb(double)const ;
59 AcGePoint3d endPoint(void)const ;
60 AcGePoint3d midPoint(void)const ;
68 int isOn( AcGeImpPlanarEnt const &, AcGeTol const & = AcGeContext::gTol)const ;
75 virtual ~AcGeImpLinearEnt3d(void);
76 virtual AcGeImpBoundBlock3d boundBlock(int, AcGeImpInterval const &,int)const ;
79 virtual AcGeImpCurve3d & setInterval(void);
83 virtual AcGeImpEntity3d * project( AcGeImpPlanarEnt const &, AcGeVector3d const &, AcGeTol const & = AcGeContext::gTol)const ;
84 virtual AcGeImpObject * copy(void)const ;
88 virtual AcGePoint3d evalPoint(double)const ;
90 virtual double length(double,double,double)const ;
91 virtual double paramAtLength(double,double,int,double)const ;
92 virtual double paramOf( AcGePoint3d const &, AcGeTol const & = AcGeContext::gTol)const ;
93 virtual AcGe::EntityId type(int)const ;
94 virtual int area(double,double,double &, AcGeTol const & = AcGeContext::gTol)const ;
96 virtual int intersectSelf( AcGeCurveIntData &, AcGeVector3d const &,double, AcGeTol const & = AcGeContext::gTol)const ;
97 virtual int intersectWith( AcGeImpCurve3d const &, AcGeVector3d const &, AcGeCurveIntData &, AcGeTol const & = AcGeContext::gTol)const ;
98 virtual int intersectWith( AcGeImpInterval const &, AcGeImpInterval const &, AcGeVector3d const &, AcGeCurveIntData &, AcGeTol const & = AcGeContext::gTol)const ;
99 virtual int isClosed( AcGeTol const & = AcGeContext::gTol)const ;
100 virtual int isDegenerate( AcGeImpEntity3d * &, AcGeTol const & = AcGeContext::gTol)const ;
101 virtual int isDegenerate( AcGe::EntityId &, AcGeTol const & = AcGeContext::gTol)const ;
102 virtual int isEqualTo( AcGeImpEntity3d const &, AcGeTol const & = AcGeContext::gTol)const ;
103 virtual int isLinear( AcGeImpLinearEnt3d &, AcGeTol const & = AcGeContext::gTol)const ;
104 virtual int isOn( AcGePoint3d const &, AcGeTol const & = AcGeContext::gTol)const ;
105 virtual int isOn( AcGePoint3d const &,double &, AcGeTol const & = AcGeContext::gTol)const ;
106 virtual int isOn(double, AcGeTol const & = AcGeContext::gTol)const ;
107 virtual int isPeriodic(double &,int)const ;
108 virtual int isPlanar( AcGeImpPlanarEnt &, AcGeTol const & = AcGeContext::gTol)const ;
109 virtual int isWithinBounds( AcGePoint3d const &, AcGeTol const & = AcGeContext::gTol)const ;
110 virtual int tweak(int, AcGePoint3d const &);
111 virtual int unboundedOverlap( AcGeImpCurve3d const &,int &, AcGeTol const & = AcGeContext::gTol)const ;
112 virtual void * getExternalEntity(void)const ;
116 virtual void getInterval( AcGeImpInterval &,int,int)const ;
118 virtual void getSplitCurves(double, AcGeImpCurve3d * &, AcGeImpCurve3d * &)const ;
124
125protected:
126 double closestParamTo( AcGePoint3d const &, AcGePoint3d &, AcGeTol const & = AcGeContext::gTol)const ;
128 virtual void evaluate(int, AcGePointOnCurve3dData &,int)const ;
129
132
133};
#define ARX_API_STATIC
Definition FxARXAPI.h:25
virtual int isLinear(AcGeImpLinearEnt3d &, AcGeTol const &=AcGeContext::gTol) const
virtual AcGe::EntityId type(int) const
virtual AcGeImpCurve3d & setInterval(void)
virtual double paramOf(AcGePoint3d const &, AcGeTol const &=AcGeContext::gTol) const
AcGeImpLinearEnt3d & operator=(AcGeImpLinearEnt3d const &)
double closestParamTo(AcGePoint3d const &, AcGePoint3d &, AcGeTol const &=AcGeContext::gTol) const
virtual void getInterval(AcGeImpInterval &, int, int) const
virtual AcGePoint3d closestPointTo(AcGePoint3d const &, AcGeTol const &=AcGeContext::gTol) const
AcGeImpLinearEnt3d(AcGeImpLinearEnt3d const &)
AcGePoint3d pointOnLine(void) const
int isColinearTo(AcGeImpLinearEnt3d const &, AcGeTol const &=AcGeContext::gTol) const
int intersectWithLine(AcGeImpLinearEnt3d const &, AcGePoint3d &, AcGeTol const &=AcGeContext::gTol) const
static ARX_API_STATIC AcGeImpLinearEnt3d const kZAxis
int isParallelTo(AcGeImpLinearEnt3d const &, AcGeTol const &=AcGeContext::gTol) const
int overlap(AcGeImpLinearEnt3d const &, AcGeImpLinearEnt3d *&, AcGeTol const &=AcGeContext::gTol) const
virtual AcGeImpEntity3d * exactOffset(double, AcGeVector3d const &, AcGeDoubleArray *, AcGeDoubleArray *, AcGe::OffsetCrvExtType, AcGeTol const &=AcGeContext::gTol) const
AcGePoint3d midPoint(void) const
virtual AcGeImpEntity3d * project(AcGeImpPlanarEnt const &, AcGeVector3d const &, AcGeTol const &=AcGeContext::gTol) const
virtual AcGeImpEntity3d & translateBy(AcGeVector3d const &)
virtual int isWithinBounds(AcGePoint3d const &, AcGeTol const &=AcGeContext::gTol) const
AcGePoint3d startPoint(void) const
int isParallelTo(AcGeImpPlanarEnt const &, AcGeTol const &=AcGeContext::gTol) const
virtual AcGePoint3d evalPoint(double) const
int projIntersectWith(AcGeImpLinearEnt3d const &, AcGeVector3d const &, AcGePoint3d &, AcGePoint3d &, AcGeTol const &=AcGeContext::gTol) const
virtual void * getExternalEntity(void) const
virtual int intersectSelf(AcGeCurveIntData &, AcGeVector3d const &, double, AcGeTol const &=AcGeContext::gTol) const
int intersectWithPlane(AcGeImpPlanarEnt const &, AcGePoint3d &, AcGeTol const &=AcGeContext::gTol) const
virtual AcGeImpObject * copy(void) const
AcGeImpLinearEnt3d(AcGePoint3d const &, AcGePoint3d const &, int, int)
AcGeImpLinearEnt3d(AcGePoint3d const &, AcGeVector3d const &, int, int)
virtual void getInterval(AcGeImpInterval &, AcGePoint3d &, AcGePoint3d &) const
virtual AcGePoint3d evalPoint(double, int, AcArray< AcGeVector3d, AcArrayMemCopyReallocator< AcGeVector3d > > &) const
AcGePoint3d endPoint(void) const
AcGeVector3d velocity(void) const
virtual int isDegenerate(AcGe::EntityId &, AcGeTol const &=AcGeContext::gTol) const
AcGeImpLinearEnt3d & set(AcGePoint3d const &, AcGeVector3d const &, int, int)
int intersectNonParallel(AcGeImpLinearEnt3d const &, AcGePoint3d &, AcGeTol const &=AcGeContext::gTol) const
AcGePoint3d closestPointToLine(AcGeImpLinearEnt3d const &, AcGePoint3d &, AcGeTol const &=AcGeContext::gTol) const
AcGeVector3d direction(void) const
virtual void getSplitCurves(double, AcGeImpCurve3d *&, AcGeImpCurve3d *&) const
static ARX_API_STATIC AcGeImpLinearEnt3d const kXAxis
virtual AcGeImpBoundBlock3d boundBlock(int, AcGeImpInterval const &, int) const
virtual int unboundedOverlap(AcGeImpCurve3d const &, int &, AcGeTol const &=AcGeContext::gTol) const
virtual int isPeriodic(double &, int) const
virtual void getClosestPointTo(AcGeImpCurve3d const &, AcGeImpPointOnCurve3d &, AcGeImpPointOnCurve3d &, AcGeTol const &=AcGeContext::gTol) const
virtual AcGeImpCurve3d & setInterval(AcGeImpInterval const &, int)
virtual AcGeImpEntity3d & transformBy(AcGeMatrix3d const &)
virtual int isOn(AcGePoint3d const &, AcGeTol const &=AcGeContext::gTol) const
virtual AcGePoint3d closestPointTo(AcGeImpCurve3d const &, AcGePoint3d &, AcGeTol const &=AcGeContext::gTol) const
AcGeImpLinearEnt3d(AcGeImpCurve3d const &, AcGePoint3d const &, double &, int &)
virtual AcGePoint3d closestPointTo(AcGeImpSurface const &, AcGePoint3d &, AcGeTol const &=AcGeContext::gTol) const
virtual int intersectWith(AcGeImpInterval const &, AcGeImpInterval const &, AcGeVector3d const &, AcGeCurveIntData &, AcGeTol const &=AcGeContext::gTol) const
AcGePoint3d baryComb(double) const
virtual int isPlanar(AcGeImpPlanarEnt &, AcGeTol const &=AcGeContext::gTol) const
virtual AcGeImpCurve3d & reverseParam(void)
AcGeImpLinearEnt3d(int, int)
virtual int isClosed(AcGeTol const &=AcGeContext::gTol) const
virtual int isOn(AcGePoint3d const &, double &, AcGeTol const &=AcGeContext::gTol) const
int isPerpendicularTo(AcGeImpPlanarEnt const &, AcGeTol const &=AcGeContext::gTol) const
virtual int isDegenerate(AcGeImpEntity3d *&, AcGeTol const &=AcGeContext::gTol) const
void getBisector(AcGeImpPlanarEnt &) const
int isPerpendicularTo(AcGeImpLinearEnt3d const &, AcGeTol const &=AcGeContext::gTol) const
static ARX_API_STATIC AcGeImpLinearEnt3d const kYAxis
virtual void getClosestPointTo(AcGePoint3d const &, AcGeImpPointOnCurve3d &, AcGeTol const &=AcGeContext::gTol) const
int isOn(AcGeImpPlanarEnt const &, AcGeTol const &=AcGeContext::gTol) const
AcGeImpLinearEnt3d & set(AcGeImpCurve3d const &, AcGePoint3d const &, double &, int &)
AcGeImpLinearEnt3d & set(AcGeImpCurve3d const &, AcGeImpCurve3d const &, double &, double &, int &)
virtual void evaluate(int, AcGePointOnCurve3dData &, int) const
void getLine(AcGeImpLinearEnt3d &) const
virtual void reverseProject(AcGeImpPointOnCurve3d const &, AcGeImpPlanarEnt const &, AcGeVector3d const &, AcGeImpPointOnCurve3d &, AcGeTol const &=AcGeContext::gTol) const
virtual int isEqualTo(AcGeImpEntity3d const &, AcGeTol const &=AcGeContext::gTol) const
virtual ~AcGeImpLinearEnt3d(void)
virtual void getProjClosestPointTo(AcGePoint3d const &, AcGeVector3d const &, AcGeImpPointOnCurve3d &, AcGeTol const &=AcGeContext::gTol) const
virtual double length(double, double, double) const
AcGeImpLinearEnt3d & set(AcGePoint3d const &, AcGePoint3d const &, int, int)
virtual int tweak(int, AcGePoint3d const &)
virtual int intersectWith(AcGeImpCurve3d const &, AcGeVector3d const &, AcGeCurveIntData &, AcGeTol const &=AcGeContext::gTol) const
virtual double paramAtLength(double, double, int, double) const
virtual int area(double, double, double &, AcGeTol const &=AcGeContext::gTol) const
AcGeImpLinearEnt3d(AcGeImpCurve3d const &, AcGeImpCurve3d const &, double &, double &)
void getPerpPlane(AcGePoint3d const &, AcGeImpPlanarEnt &) const
void projectBlockTo(AcGeImpBoundBlock3d const &, AcGeImpInterval &) const
virtual int getNormalPoint(AcGePoint3d const &, AcGeImpPointOnCurve3d &, AcGeTol const &=AcGeContext::gTol) const
virtual int isOn(double, AcGeTol const &=AcGeContext::gTol) const
static ARX_API_STATIC AcGeTol gTol
Definition AcGeContext.h:24
OffsetCrvExtType
Definition AcGe.h:188
EntityId
Definition AcGe.h:84