CFx SDK Documentation 2026 SP0
Loading...
Searching...
No Matches
GeKnotVector.h
Go to the documentation of this file.
1
2// Copyright (C) 2002-2024, 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-2024 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
27
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
305 double param);
306
326 double param);
327
334 double knot);
335
348 OdGeKnotVector& tail,
349 double knotRatio = 0.0);
350
361 int split(
362 double param,
363 OdGeKnotVector* pKnotHead,
364 int multLast,
365 OdGeKnotVector* pKnotTail,
366 int multFirst) const;
367
377 double lower,
378 double upper);
379
383 double tolerance() const;
384
392 double tol);
393
397 int length() const;
398
402 bool isEmpty() const;
403
411 int logicalLength() const;
412
424
431 int physicalLength() const;
432
443
447 int growLength() const;
448
455
463 const double* getPtr() const;
464
472 const double* asArrayPtr() const;
473
481 double* asArrayPtr();
482
495 int size,
496 const double source[],
497 double tol = globalKnotTolerance);
498
505 double param) const;
506
511
515 const OdGeDoubleArray& getArray() const;
516//DOM-IGNORE-BEGIN
517protected:
524 OdUInt32 knotIndex) const;
525
528//DOM-IGNORE-END
529};
530
533
534#include "TD_PackPop.h"
535
536#endif // OD_GE_KNOT_VECTOR
tol
OdArray< double, OdMemoryAllocator< double > > OdGeDoubleArray
#define GE_TOOLKIT_EXPORT
Definition GeExport.h:35
#define GE_STATIC_EXPORT
Definition GeExport.h:52
OdArray< int, OdMemoryAllocator< int > > OdGeIntArray
Definition GeIntArray.h:35
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
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
int physicalLength() const
OdGeKnotVector & set(int size, const double source[], double tol=globalKnotTolerance)
OdGeDoubleArray & getArray()
OdGeKnotVector(int plusMult, const OdGeKnotVector &source)
OdGeDoubleArray m_Data
OdGeKnotVector(int size, const double source[], double tol=globalKnotTolerance)
OdGeKnotVector & insertIn(double param)
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