FineKernelToolKit: CLI/FK_CLI/include/Operation_CLI.h ソースファイル

FineKernelToolKit 4.3.0

読み取り中…
検索中…
一致する文字列を見つけられません
Operation_CLI.h
[詳解]
1#pragma once
2
3#include <FK/Operation.h>
4#include "DataAccess_CLI.h"
5
6namespace FK_CLI
7{
9
43 public ref class fk_Operation : fk_DataAccess {
44 internal:
45 ::FK::fk_Operation * GetP(void);
46
47 public:
48#if !defined(FK_DOXYGEN_USER_PROCESS)
49 fk_Operation(bool argNewFlg);
50 ~fk_Operation();
51#endif
52
54
67 property bool HistoryMode {
68 void set(bool);
69 bool get();
70 }
71
73
85 property bool TesselateMode {
86 void set(bool);
87 bool get();
88 }
89
92
94
107 fk_Vertex^ MakeVertex(fk_Vector^ P);
108
109
111
125 bool DeleteVertex(fk_Vertex^ V);
126
128
143 bool MoveVertex(fk_Vertex^ V, fk_Vector^ P);
144
146
189 fk_Edge^ MakeEdge(fk_Vertex^ V_1, fk_Vertex^ V_2,
190 fk_Half^ H_11, fk_Half^ H_12, fk_Half^ H_21, fk_Half^ H_22);
191
193
208 fk_Edge^ MakeEdge(fk_Vertex^ V_1, fk_Vertex^ V_2);
209
211
225 bool DeleteEdge(fk_Edge^ E);
226
228
246 fk_Loop^ MakeLoop(fk_Half ^H);
247
249
264 bool DeleteLoop(fk_Loop^ L);
265
267
291 fk_Edge^ SeparateLoop(fk_Half^ H1, fk_Half^ H2);
292
294
309 bool UniteLoop(fk_Edge^ E);
310
312
326 fk_Vertex^ SeparateEdge(fk_Edge^ E);
327
329
344 bool UniteEdge(fk_Vertex^ V);
345
347
362 void NegateBody(void);
364
367
369
379 void SetHistoryMark(void);
380
382
431 bool UndoHistory(void);
432
434
444 bool RedoHistory(void);
446 };
447}
448
449/****************************************************************************
450 *
451 * Copyright (c) 1999-2024, Fine Kernel Project, All rights reserved.
452 *
453 * Redistribution and use in source and binary forms,
454 * with or without modification, are permitted provided that the
455 * following conditions are met:
456 *
457 * - Redistributions of source code must retain the above
458 * copyright notice, this list of conditions and the
459 * following disclaimer.
460 *
461 * - Redistributions in binary form must reproduce the above
462 * copyright notice, this list of conditions and the
463 * following disclaimer in the documentation and/or
464 * other materials provided with the distribution.
465 *
466 * - Neither the name of the copyright holders nor the names
467 * of its contributors may be used to endorse or promote
468 * products derived from this software without specific
469 * prior written permission.
470 *
471 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
472 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
473 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
474 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
475 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
476 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
477 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
478 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
479 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
480 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
481 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
482 * POSSIBILITY OF SUCH DAMAGE.
483 *
484 ****************************************************************************/
485/****************************************************************************
486 *
487 * Copyright (c) 1999-2024, Fine Kernel Project, All rights reserved.
488 *
489 * 本ソフトウェアおよびソースコードのライセンスは、基本的に
490 * 「修正 BSD ライセンス」に従います。以下にその詳細を記します。
491 *
492 * ソースコード形式かバイナリ形式か、変更するかしないかを問わず、
493 * 以下の条件を満たす場合に限り、再頒布および使用が許可されます。
494 *
495 * - ソースコードを再頒布する場合、上記の著作権表示、本条件一覧、
496 * および下記免責条項を含めること。
497 *
498 * - バイナリ形式で再頒布する場合、頒布物に付属のドキュメント等の
499 * 資料に、上記の著作権表示、本条件一覧、および下記免責条項を
500 * 含めること。
501 *
502 * - 書面による特別の許可なしに、本ソフトウェアから派生した製品の
503 * 宣伝または販売促進に、本ソフトウェアの著作権者の名前または
504 * コントリビューターの名前を使用してはならない。
505 *
506 * 本ソフトウェアは、著作権者およびコントリビューターによって「現
507 * 状のまま」提供されており、明示黙示を問わず、商業的な使用可能性、
508 * および特定の目的に対する適合性に関す暗黙の保証も含め、またそれ
509 * に限定されない、いかなる保証もないものとします。著作権者もコン
510 * トリビューターも、事由のいかんを問わず、損害発生の原因いかんを
511 * 問わず、かつ責任の根拠が契約であるか厳格責任であるか(過失その
512 * 他の)不法行為であるかを問わず、仮にそのような損害が発生する可
513 * 能性を知らされていたとしても、本ソフトウェアの使用によって発生
514 * した(代替品または代用サービスの調達、使用の喪失、データの喪失、
515 * 利益の喪失、業務の中断も含め、またそれに限定されない)直接損害、
516 * 間接損害、偶発的な損害、特別損害、懲罰的損害、または結果損害に
517 * ついて、一切責任を負わないものとします。
518 *
519 ****************************************************************************/
DataAccess_CLI.h
FK_CLI::fk_DataAccess
ソリッドモデル用位相要素アクセスクラス
Definition DataAccess_CLI.h:16
FK_CLI::fk_Edge
ソリッドモデルの稜線位相を管理するクラス
Definition Edge_CLI.h:31
FK_CLI::fk_Half
ソリッドモデルの半稜線位相を管理するクラス
Definition Half_CLI.h:27
FK_CLI::fk_Loop
ソリッドモデルのループ位相を管理するクラス
Definition Loop_CLI.h:28
FK_CLI::fk_Operation
オイラー操作用クラス
Definition Operation_CLI.h:43
FK_CLI::fk_Operation::MakeVertex
fk_Vertex ^ MakeVertex(fk_Vector^ P)
頂点生成メソッド
FK_CLI::fk_Operation::HistoryMode
bool HistoryMode
履歴保存モードプロパティ
Definition Operation_CLI.h:67
FK_CLI::fk_Operation::DeleteEdge
bool DeleteEdge(fk_Edge^ E)
稜線削除メソッド
FK_CLI::fk_Operation::MakeEdge
fk_Edge ^ MakeEdge(fk_Vertex^ V_1, fk_Vertex^ V_2, fk_Half^ H_11, fk_Half^ H_12, fk_Half^ H_21, fk_Half^ H_22)
稜線生成メソッド1
FK_CLI::fk_Operation::UniteLoop
bool UniteLoop(fk_Edge^ E)
ループ結合メソッド
FK_CLI::fk_Operation::MoveVertex
bool MoveVertex(fk_Vertex^ V, fk_Vector^ P)
頂点移動メソッド
FK_CLI::fk_Operation::SeparateEdge
fk_Vertex ^ SeparateEdge(fk_Edge^ E)
稜線分離メソッド
FK_CLI::fk_Operation::NegateBody
void NegateBody(void)
形状反転メソッド
FK_CLI::fk_Operation::MakeEdge
fk_Edge ^ MakeEdge(fk_Vertex^ V_1, fk_Vertex^ V_2)
稜線生成メソッド2
FK_CLI::fk_Operation::TesselateMode
bool TesselateMode
形状全体テセレーションプロパティ
Definition Operation_CLI.h:85
FK_CLI::fk_Operation::SeparateLoop
fk_Edge ^ SeparateLoop(fk_Half^ H1, fk_Half^ H2)
ループ分割メソッド
FK_CLI::fk_Operation::RedoHistory
bool RedoHistory(void)
REDO 操作実行メソッド
FK_CLI::fk_Operation::UndoHistory
bool UndoHistory(void)
UNDO 操作実行メソッド
FK_CLI::fk_Operation::DeleteLoop
bool DeleteLoop(fk_Loop^ L)
ループ削除メソッド
FK_CLI::fk_Operation::DeleteVertex
bool DeleteVertex(fk_Vertex^ V)
頂点削除メソッド
FK_CLI::fk_Operation::MakeLoop
fk_Loop ^ MakeLoop(fk_Half ^ H)
ループ生成メソッド
FK_CLI::fk_Operation::SetHistoryMark
void SetHistoryMark(void)
履歴マーク設定メソッド
FK_CLI::fk_Operation::UniteEdge
bool UniteEdge(fk_Vertex^ V)
稜線結合メソッド
FK_CLI::fk_Vector
3次元ベクトルを管理するクラス
Definition Vector_CLI.h:35
FK_CLI::fk_Vertex
ソリッドモデルの頂点位相を管理するクラス
Definition Vertex_CLI.h:24
FK_CLI
Definition AppWindow_CLI.h:11