FRX SDK Documentation 2025 SP0
Loading...
Searching...
No Matches
AcDbNurbSurface.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 "..\acad\Acad.h"
20
21template < typename Param1 > class AcArrayMemCopyReallocator;
22class AcDbDwgFiler;
23class AcDbDxfFiler;
24class AcDbGripData;
25class AcDbSurface;
27class AcGePoint3d;
28class AcGeVector3d;
29class AcRxClass;
30
32{
33public:
37 AcDbNurbSurface(int , int , bool , int , int , const AcGePoint3dArray& , const AcGeDoubleArray& , const AcGeKnotVector& , const AcGeKnotVector& );
38
39public:
40 Acad::ErrorStatus get(int& , int& , bool& , int& , int& ,AcGePoint3dArray& , AcGeDoubleArray& ,AcGeKnotVector& , AcGeKnotVector& ) const;
41 Acad::ErrorStatus set(int , int , bool , int , int, const AcGePoint3dArray& , const AcGeDoubleArray& , const AcGeKnotVector& , const AcGeKnotVector&);
42
43 Acad::ErrorStatus evaluate(double, double, AcGePoint3d&) const;
44 Acad::ErrorStatus evaluate(double, double, AcGePoint3d&, AcGeVector3d&, AcGeVector3d&) const;
46 Acad::ErrorStatus evaluate(double, double, int, AcGePoint3d&, AcGeVector3dArray&) const;
47
48 Acad::ErrorStatus getWeight(int , int , double& ) const;
49 Acad::ErrorStatus setWeight(int , int , double );
50
51 Acad::ErrorStatus isPeriodicInU(bool& ) const;
52 Acad::ErrorStatus isPeriodicInV(bool& ) const;
53 Acad::ErrorStatus getPeriodInU(double& ) const;
54 Acad::ErrorStatus getPeriodInV(double& ) const;
55
56 Acad::ErrorStatus getDegreeInU(int&) const;
57 Acad::ErrorStatus getDegreeInV(int&) const;
58
59 Acad::ErrorStatus isClosedInU(bool&) const;
60 Acad::ErrorStatus isClosedInV(bool&) const;
61
62 Acad::ErrorStatus isRational(bool& ) const;
63 Acad::ErrorStatus isPlanar(bool& , AcGePoint3d& , AcGeVector3d& ) const;
64 Acad::ErrorStatus isPointOnSurface(const AcGePoint3d& , bool& ) const;
65 Acad::ErrorStatus getNormal(double , double , AcGeVector3d& ) const;
66
67 Acad::ErrorStatus getNumberOfSpansInU(int& ) const;
68 Acad::ErrorStatus getNumberOfSpansInV(int& ) const;
69
70 Acad::ErrorStatus getIsolineAtU(double , AcArray<AcDbCurve*>& ) const;
71 Acad::ErrorStatus getIsolineAtV(double , AcArray<AcDbCurve*>& ) const;
72
73 Acad::ErrorStatus getUKnots(AcGeKnotVector&) const;
74 Acad::ErrorStatus getVKnots(AcGeKnotVector&) const;
75 Acad::ErrorStatus getNumberOfKnotsInU(int&) const;
76 Acad::ErrorStatus getNumberOfKnotsInV(int&) const;
77 Acad::ErrorStatus InsertKnotAtU(double );
78 Acad::ErrorStatus InsertKnotAtV(double );
79
80 Acad::ErrorStatus getControlPoints(int&, int&, AcGePoint3dArray&) const;
81 Acad::ErrorStatus setControlPoints(int, int, const AcGePoint3dArray&);
82 Acad::ErrorStatus getControlPointAt(int, int, AcGePoint3d&) const;
83 Acad::ErrorStatus setControlPointAt(int, int, const AcGePoint3d&);
84 Acad::ErrorStatus getNumberOfControlPointsInU(int&) const;
85 Acad::ErrorStatus getNumberOfControlPointsInV(int&) const;
86 Acad::ErrorStatus InsertControlPointsAtU(double , const AcGePoint3dArray& , const AcGeDoubleArray& );
87 Acad::ErrorStatus InsertControlPointsAtV(double , const AcGePoint3dArray& , const AcGeDoubleArray& );
88 Acad::ErrorStatus RemoveControlPointsAtU(int );
89 Acad::ErrorStatus RemoveControlPointsAtV(int );
90
91 Acad::ErrorStatus rebuild(int , int , int , int , bool = false);
92 Acad::ErrorStatus modifyPositionAndTangent(double , double , const AcGePoint3d& , const AcGeVector3d* = NULL, const AcGeVector3d* = NULL);
93 Acad::ErrorStatus getParameterOfPoint(const AcGePoint3d& , double& , double&) const;
94
96 virtual Acad::ErrorStatus dwgOutFields(AcDbDwgFiler *)const;
98 virtual Acad::ErrorStatus dxfOutFields(AcDbDxfFiler *)const;
99
100};
Acad::ErrorStatus ErrorStatus
Definition acdbabb.h:21
#define ACRX_DECLARE_MEMBERS(classname)
Definition addmacro.h:756