FineKernelToolKit
4.2.13
読み取り中…
検索中…
一致する文字列を見つけられません
FK
BSplCurve.h
[詳解]
1
#if !defined(__FK_BSPLCURVE_HEADER__)
2
#define __FK_BSPLCURVE_HEADER__
3
4
#include <
FK/Curve.h
>
5
6
namespace
FK
{
7
9
17
class
fk_BSplCurve
:
public
fk_Curve
{
18
19
#if !defined(FK_DOXYGEN_USER_PROCESS)
20
class
Member {
21
public
:
22
int
ord;
23
int
num;
24
std::vector<double> knotVec;
25
26
Member(
void
);
27
};
28
#endif
29
30
public
:
31
33
fk_BSplCurve
(
void
);
34
36
virtual
~fk_BSplCurve
();
37
39
47
void
init
(
void
);
48
50
62
bool
setOrdinate
(
int
ord);
63
65
74
bool
setNum
(
int
num);
75
76
// 位数参照関数
82
int
getOrdinate
(
void
);
83
85
90
int
getNum
(
void
);
91
93
102
fk_Vector
pos
(
double
t);
103
105
114
fk_Vector
diff
(
double
t);
115
116
private
:
117
std::unique_ptr<Member> _m;
118
};
119
}
120
121
#endif
// __FK_BSPLCURVE_HEADER__
122
123
/****************************************************************************
124
*
125
* Copyright (c) 1999-2024, Fine Kernel Project, All rights reserved.
126
*
127
* Redistribution and use in source and binary forms,
128
* with or without modification, are permitted provided that the
129
* following conditions are met:
130
*
131
* - Redistributions of source code must retain the above
132
* copyright notice, this list of conditions and the
133
* following disclaimer.
134
*
135
* - Redistributions in binary form must reproduce the above
136
* copyright notice, this list of conditions and the
137
* following disclaimer in the documentation and/or
138
* other materials provided with the distribution.
139
*
140
* - Neither the name of the copyright holders nor the names
141
* of its contributors may be used to endorse or promote
142
* products derived from this software without specific
143
* prior written permission.
144
*
145
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
146
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
147
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
148
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
149
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
150
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
151
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
152
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
153
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
154
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
155
* IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
156
* POSSIBILITY OF SUCH DAMAGE.
157
*
158
****************************************************************************/
159
/****************************************************************************
160
*
161
* Copyright (c) 1999-2024, Fine Kernel Project, All rights reserved.
162
*
163
* 本ソフトウェアおよびソースコードのライセンスは、基本的に
164
* 「修正 BSD ライセンス」に従います。以下にその詳細を記します。
165
*
166
* ソースコード形式かバイナリ形式か、変更するかしないかを問わず、
167
* 以下の条件を満たす場合に限り、再頒布および使用が許可されます。
168
*
169
* - ソースコードを再頒布する場合、上記の著作権表示、本条件一覧、
170
* および下記免責条項を含めること。
171
*
172
* - バイナリ形式で再頒布する場合、頒布物に付属のドキュメント等の
173
* 資料に、上記の著作権表示、本条件一覧、および下記免責条項を
174
* 含めること。
175
*
176
* - 書面による特別の許可なしに、本ソフトウェアから派生した製品の
177
* 宣伝または販売促進に、本ソフトウェアの著作権者の名前または
178
* コントリビューターの名前を使用してはならない。
179
*
180
* 本ソフトウェアは、著作権者およびコントリビューターによって「現
181
* 状のまま」提供されており、明示黙示を問わず、商業的な使用可能性、
182
* および特定の目的に対する適合性に関す暗黙の保証も含め、またそれ
183
* に限定されない、いかなる保証もないものとします。著作権者もコン
184
* トリビューターも、事由のいかんを問わず、損害発生の原因いかんを
185
* 問わず、かつ責任の根拠が契約であるか厳格責任であるか(過失その
186
* 他の)不法行為であるかを問わず、仮にそのような損害が発生する可
187
* 能性を知らされていたとしても、本ソフトウェアの使用によって発生
188
* した(代替品または代用サービスの調達、使用の喪失、データの喪失、
189
* 利益の喪失、業務の中断も含め、またそれに限定されない)直接損害、
190
* 間接損害、偶発的な損害、特別損害、懲罰的損害、または結果損害に
191
* ついて、一切責任を負わないものとします。
192
*
193
****************************************************************************/
Curve.h
FK::fk_BSplCurve
B-Spline 曲線を生成、管理するクラス
Definition
BSplCurve.h:17
FK::fk_BSplCurve::pos
fk_Vector pos(double t)
曲線算出関数
FK::fk_BSplCurve::init
void init(void)
初期化用関数
FK::fk_BSplCurve::setOrdinate
bool setOrdinate(int ord)
位数設定関数
FK::fk_BSplCurve::fk_BSplCurve
fk_BSplCurve(void)
コンストラクタ
FK::fk_BSplCurve::getOrdinate
int getOrdinate(void)
FK::fk_BSplCurve::diff
fk_Vector diff(double t)
曲線1階微分ベクトル算出関数
FK::fk_BSplCurve::getNum
int getNum(void)
制御点数参照関数
FK::fk_BSplCurve::setNum
bool setNum(int num)
制御点数設定関数
FK::fk_BSplCurve::~fk_BSplCurve
virtual ~fk_BSplCurve()
デストラクタ
FK::fk_Curve
曲線用純粋仮想クラス
Definition
Curve.h:22
FK::fk_Vector
3次元ベクトルを管理するクラス
Definition
Vector.h:45
FK
Fine Kernel Toolkit 名前空間
Definition
Angle.h:6
構築:
1.9.8