CFx SDK Documentation 2024 SP0
Loading...
Searching...
No Matches
GeKnotVector.h
Go to the documentation of this file.
1
2// Copyright (C) 2002-2022, Open Design Alliance (the "Alliance").
3// All rights reserved.
4//
5// This software and its documentation and related materials are owned by
6// the Alliance. The software may only be incorporated into application
7// programs owned by members of the Alliance, subject to a signed
8// Membership Agreement and Supplemental Software License Agreement with the
9// Alliance. The structure and organization of this software are the valuable
10// trade secrets of the Alliance and its suppliers. The software is also
11// protected by copyright law and international treaty provisions. Application
12// programs incorporating this software must include the following statement
13// with their copyright notices:
14//
15// This application incorporates Open Design Alliance software pursuant to a license
16// agreement with Open Design Alliance.
17// Open Design Alliance Copyright (C) 2002-2022 by Open Design Alliance.
18// All rights reserved.
19//
20// By use of this software, its documentation or related materials, you
21// acknowledge and accept the above terms.
23
24
25#ifndef OD_GE_KNOT_VECTOR
26#define OD_GE_KNOT_VECTOR
28#include "Ge/GeExport.h"
29#include "Ge/GeDoubleArray.h"
30#include "Ge/GeIntArray.h"
31#include "Ge/GeVector2d.h"
32
33class OdGeInterval;
34
35#include "TD_PackPush.h"
36
45{
46public:
61 double tol = globalKnotTolerance);
62
71 int size,
72 int growSize,
73 double tol = globalKnotTolerance);
74
83 int size,
84 const double source[],
85 double tol = globalKnotTolerance);
86
94 int plusMult,
95 const OdGeKnotVector& source);
96
103 const OdGeKnotVector& source);
104
112 const OdGeDoubleArray& source,
113 double tol = globalKnotTolerance);
114
119
128 OdGeKnotVector& operator =(
129 const OdGeKnotVector& knotVector);
130
139 OdGeKnotVector& operator =(
140 const OdGeDoubleArray& dblArray);
141
150 double& operator [](
151 int i);
160 double operator [](
161 int i) const;
162
169 const OdGeKnotVector& knotVector) const;
170
174 double startParam() const;
175
179 double endParam() const;
180
191 int knotIndex) const;
192
200 int numIntervals() const;
201
212 int order,
213 double param,
214 OdGeInterval& interval) const;
215
227 OdGeDoubleArray& knots,
228 OdGeIntArray *multiplicity = NULL) const;
229
239 double param) const;
240
248 bool isOn(
249 double knot) const;
250
255
262 int knotIndex);
263
271 int startIndex,
272 int endIndex);
273
283 int knotIndex,
284 double knot,
285 int multiplicity = 1);
286
298 double param);
299
306 double knot);
307
320 OdGeKnotVector& tail,
321 double knotRatio = 0.0);
322
333 int split(
334 double param,
335 OdGeKnotVector* pKnotHead,
336 int multLast,
337 OdGeKnotVector* pKnotTail,
338 int multFirst) const;
339
349 double lower,
350 double upper);
351
355 double tolerance() const;
356
364 double tol);
365
369 int length() const;
370
374 bool isEmpty() const;
375
383 int logicalLength() const;
384
396
403 int physicalLength() const;
404
415
419 int growLength() const;
420
427
435 const double* getPtr() const;
436
444 const double* asArrayPtr() const;
445
453 double* asArrayPtr();
454
467 int size,
468 const double source[],
469 double tol = globalKnotTolerance);
470
477 double param) const;
478
483
487 const OdGeDoubleArray& getArray() const;
488//DOM-IGNORE-BEGIN
489protected:
496 OdUInt32 knotIndex) const;
497
500//DOM-IGNORE-END
501};
502
505
506#include "TD_PackPop.h"
507
508#endif // OD_GE_KNOT_VECTOR
tol
Definition: DimVarDefs.h:2287
#define GE_TOOLKIT_EXPORT
Definition: GeExport.h:49
#define GE_STATIC_EXPORT
Definition: GeExport.h:52
GE_TOOLKIT_EXPORT OdGeDoubleArray & getArray(OdGeKnotVector *p)
unsigned int OdUInt32
OdGeKnotVector & append(OdGeKnotVector &tail, double knotRatio=0.0)
double * asArrayPtr()
OdGeKnotVector & setRange(double lower, double upper)
const double * getPtr() const
bool isOn(double knot) const
void getDistinctKnots(OdGeDoubleArray &knots, OdGeIntArray *multiplicity=NULL) const
int multiplicityAt(int knotIndex) const
bool contains(double param) const
int growLength() const
double startParam() const
double tolerance() const
static GE_STATIC_EXPORT const double globalKnotTolerance
Definition: GeKnotVector.h:50
OdGeKnotVector & setLogicalLength(int size)
bool isEmpty() const
OdGeKnotVector(const OdGeKnotVector &source)
OdGeKnotVector & setTolerance(double tol)
const double * asArrayPtr() const
OdGeKnotVector & setGrowLength(int rowLength)
double endParam() const
OdGeKnotVector & insert(double param)
OdGeKnotVector & setPhysicalLength(int physLength)
int split(double param, OdGeKnotVector *pKnotHead, int multLast, OdGeKnotVector *pKnotTail, int multFirst) const
int multiplicityAt(double param) const
int getInterval(int order, double param, OdGeInterval &interval) const
static GE_STATIC_EXPORT const OdGeVector2d globalKnotTolerance2d
Definition: GeKnotVector.h:54
double m_Tolerance
Definition: GeKnotVector.h:499
int physicalLength() const
OdGeKnotVector & set(int size, const double source[], double tol=globalKnotTolerance)
OdGeDoubleArray & getArray()
OdGeKnotVector(int plusMult, const OdGeKnotVector &source)
OdGeDoubleArray m_Data
Definition: GeKnotVector.h:498
OdGeKnotVector(int size, const double source[], double tol=globalKnotTolerance)
OdGeKnotVector(const OdGeDoubleArray &source, double tol=globalKnotTolerance)
int logicalLength() const
OdGeKnotVector & insertAt(int knotIndex, double knot, int multiplicity=1)
bool isValid(OdUInt32 knotIndex) const
OdGeKnotVector(int size, int growSize, double tol=globalKnotTolerance)
int append(double knot)
const OdGeDoubleArray & getArray() const
bool isEqualTo(const OdGeKnotVector &knotVector) const
OdGeKnotVector & removeSubVector(int startIndex, int endIndex)
OdGeKnotVector(double tol=globalKnotTolerance)
int numIntervals() const
OdGeKnotVector & reverse()
OdGeKnotVector & removeAt(int knotIndex)
int length() const
GLsizeiptr size
Definition: gles2_ext.h:182
GLsizei GLsizei GLchar * source
Definition: gles2_ext.h:282