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

FineKernelToolKit 4.3.0

読み取り中…
検索中…
一致する文字列を見つけられません
Modify_CLI.h
[詳解]
1#pragma once
2
3#include <FK/Modify.h>
4#include "Operation_CLI.h"
5
6namespace FK_CLI
7{
8 using namespace System::Collections::Generic;
9
11
39
40 public ref class fk_Modify : fk_Operation {
41 internal:
42 ::FK::fk_Modify * GetP(void);
43
44 public:
45#if !defined(FK_DOXYGEN_USER_PROCESS)
46 fk_Modify(bool argNewFlg);
47 ~fk_Modify();
48#endif
51
53
76 fk_Loop^ RemoveVertexInLoop(fk_Vertex ^V);
77
79
111 bool ContractEdge(fk_Edge ^E, bool R);
112
114
145 bool ContractEdge(fk_Edge ^E);
146
148
164 bool ContractEdge(fk_Edge ^E, fk_Vector ^P, bool R);
165
167
182 bool ContractEdge(fk_Edge ^E, fk_Vector ^P);
183
184
186
193 bool CheckContract(fk_Edge ^E);
195
198
200
224 fk_Loop^ MakePolygon(IEnumerable<fk_Vector^>^ array, bool openFlg, bool initFlg);
225
227
249 fk_Loop^ MakePolygon(IEnumerable<fk_Vector^>^ array, bool openFlg);
250
252
274 fk_Loop^ PushPolygon(IEnumerable<fk_Vector^>^ array, bool openFlg);
275
277
293 fk_Loop^ PushPolygon(IEnumerable<fk_Vector^>^ array);
294
296
310 void PushPolygonVertex(fk_Vector ^pos, bool openFlg);
312
315
317
323 void MakePoint(IEnumerable<fk_Vector^>^ array);
324
326
333 fk_Vertex^ PushPointVertex(fk_Vector ^pos);
334
336
339
341
349 void MakeLines(IEnumerable<fk_Vector^>^ array);
350
352
360 fk_Edge^ PushLines(fk_Vector ^pos1, fk_Vector ^pos2);
361
363
377 bool SetLinePos(int ID, fk_Vector ^pos);
378
380
398 bool SetLinePos(int edgeID, int vertexID, fk_Vector^ pos);
399
401
414 bool ChangeLine(int edgeID, fk_Vector^ pos1, fk_Vector^ pos2);
416
419
421
444 void MakeBlock(double x, double y, double z);
445
447
459 void SetBlockSize(double x, double y, double z);
460
462
476 void SetBlockSize(double length, fk_Axis axis);
477
479
489 void SetBlockScale(double scale);
490
492
506 void SetBlockScale(double scale, fk_Axis axis);
507
509
521 void SetBlockScale(double x, double y, double z);
523
526
528
547 void MakeCircle(int div, double rad);
548
550
560 void SetCircleRadius(double rad);
561
563
573 void SetCircleDivide(int div);
574
576
586 void SetCircleScale(double scale);
588
591
593
610 void MakeSphere(int div, double rad);
611
613
623 void SetSphereRadius(double rad);
624
626
636 void SetSphereDivide(int div);
637
639
649 void SetSphereScale(double scale);
651
654
656
676 void MakePrism(int div, double top, double bottom, double height);
677
679
689 void SetPrismDivide(int div);
690
692
702 void SetPrismTopRadius(double top);
703
705
715 void SetPrismBottomRadius(double bottom);
716
718
728 void SetPrismHeight(double height);
730
733
735
754 void MakeCone(int div, double rad, double height);
755
757
767 void SetConeDivide(int div);
768
770
780
781 void SetConeRadius(double rad);
783
793 void SetConeHeight(double height);
795
798
800
811 bool MoveVPosition(int vertexID, fk_Vector ^pos, int order);
812
814
824 bool MoveVPosition(int vertexID, fk_Vector ^pos);
825
827
840 bool MoveVPosition(int vertexID, double x, double y, double z, int order);
841
843
855 bool MoveVPosition(int vertexID, double x, double y, double z);
857
860
862
870 void SubDivShape(int count);
872 };
873}
874
875/****************************************************************************
876 *
877 * Copyright (c) 1999-2024, Fine Kernel Project, All rights reserved.
878 *
879 * Redistribution and use in source and binary forms,
880 * with or without modification, are permitted provided that the
881 * following conditions are met:
882 *
883 * - Redistributions of source code must retain the above
884 * copyright notice, this list of conditions and the
885 * following disclaimer.
886 *
887 * - Redistributions in binary form must reproduce the above
888 * copyright notice, this list of conditions and the
889 * following disclaimer in the documentation and/or
890 * other materials provided with the distribution.
891 *
892 * - Neither the name of the copyright holders nor the names
893 * of its contributors may be used to endorse or promote
894 * products derived from this software without specific
895 * prior written permission.
896 *
897 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
898 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
899 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
900 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
901 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
902 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
903 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
904 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
905 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
906 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
907 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
908 * POSSIBILITY OF SUCH DAMAGE.
909 *
910 ****************************************************************************/
911/****************************************************************************
912 *
913 * Copyright (c) 1999-2024, Fine Kernel Project, All rights reserved.
914 *
915 * 本ソフトウェアおよびソースコードのライセンスは、基本的に
916 * 「修正 BSD ライセンス」に従います。以下にその詳細を記します。
917 *
918 * ソースコード形式かバイナリ形式か、変更するかしないかを問わず、
919 * 以下の条件を満たす場合に限り、再頒布および使用が許可されます。
920 *
921 * - ソースコードを再頒布する場合、上記の著作権表示、本条件一覧、
922 * および下記免責条項を含めること。
923 *
924 * - バイナリ形式で再頒布する場合、頒布物に付属のドキュメント等の
925 * 資料に、上記の著作権表示、本条件一覧、および下記免責条項を
926 * 含めること。
927 *
928 * - 書面による特別の許可なしに、本ソフトウェアから派生した製品の
929 * 宣伝または販売促進に、本ソフトウェアの著作権者の名前または
930 * コントリビューターの名前を使用してはならない。
931 *
932 * 本ソフトウェアは、著作権者およびコントリビューターによって「現
933 * 状のまま」提供されており、明示黙示を問わず、商業的な使用可能性、
934 * および特定の目的に対する適合性に関す暗黙の保証も含め、またそれ
935 * に限定されない、いかなる保証もないものとします。著作権者もコン
936 * トリビューターも、事由のいかんを問わず、損害発生の原因いかんを
937 * 問わず、かつ責任の根拠が契約であるか厳格責任であるか(過失その
938 * 他の)不法行為であるかを問わず、仮にそのような損害が発生する可
939 * 能性を知らされていたとしても、本ソフトウェアの使用によって発生
940 * した(代替品または代用サービスの調達、使用の喪失、データの喪失、
941 * 利益の喪失、業務の中断も含め、またそれに限定されない)直接損害、
942 * 間接損害、偶発的な損害、特別損害、懲罰的損害、または結果損害に
943 * ついて、一切責任を負わないものとします。
944 *
945 ****************************************************************************/
Operation_CLI.h
FK_CLI::fk_Edge
ソリッドモデルの稜線位相を管理するクラス
Definition Edge_CLI.h:31
FK_CLI::fk_Loop
ソリッドモデルのループ位相を管理するクラス
Definition Loop_CLI.h:28
FK_CLI::fk_Modify
ソリッドモデル変形操作用クラス
Definition Modify_CLI.h:40
FK_CLI::fk_Modify::SetCircleScale
void SetCircleScale(double scale)
円形状拡大縮小メソッド
FK_CLI::fk_Modify::SetPrismHeight
void SetPrismHeight(double height)
正多角柱(円柱)高さ設定メソッド
FK_CLI::fk_Modify::MoveVPosition
bool MoveVPosition(int vertexID, double x, double y, double z, int order)
頂点移動メソッド2-1
FK_CLI::fk_Modify::PushPointVertex
fk_Vertex ^ PushPointVertex(fk_Vector ^ pos)
頂点追加メソッド
FK_CLI::fk_Modify::SetConeRadius
void SetConeRadius(double rad)
正多角錐(円錐)底面半径設定メソッド
FK_CLI::fk_Modify::MakePoint
void MakePoint(IEnumerable< fk_Vector^>^ array)
頂点群生成メソッド
FK_CLI::fk_Modify::SetSphereRadius
void SetSphereRadius(double rad)
球形状半径設定メソッド
FK_CLI::fk_Modify::MoveVPosition
bool MoveVPosition(int vertexID, fk_Vector ^ pos)
頂点移動メソッド1-2
FK_CLI::fk_Modify::SetPrismTopRadius
void SetPrismTopRadius(double top)
正多角柱(円柱)上面半径設定メソッド
FK_CLI::fk_Modify::MakePolygon
fk_Loop ^ MakePolygon(IEnumerable< fk_Vector^>^ array, bool openFlg, bool initFlg)
多角形生成メソッド1
FK_CLI::fk_Modify::SetLinePos
bool SetLinePos(int ID, fk_Vector ^ pos)
線分頂点移動メソッド1
FK_CLI::fk_Modify::SetSphereScale
void SetSphereScale(double scale)
球形状拡大縮小メソッド
FK_CLI::fk_Modify::PushPolygon
fk_Loop ^ PushPolygon(IEnumerable< fk_Vector^>^ array, bool openFlg)
多角形追加メソッド1
FK_CLI::fk_Modify::ContractEdge
bool ContractEdge(fk_Edge ^ E)
稜線削除メソッド1-2
FK_CLI::fk_Modify::MakePrism
void MakePrism(int div, double top, double bottom, double height)
正多角柱(円柱)形状生成メソッド
FK_CLI::fk_Modify::PushLines
fk_Edge ^ PushLines(fk_Vector ^ pos1, fk_Vector ^ pos2)
線分追加メソッド
FK_CLI::fk_Modify::ContractEdge
bool ContractEdge(fk_Edge ^ E, fk_Vector ^ P, bool R)
稜線削除メソッド2-1
FK_CLI::fk_Modify::MakeCircle
void MakeCircle(int div, double rad)
円形状生成メソッド
FK_CLI::fk_Modify::SetCircleRadius
void SetCircleRadius(double rad)
円形状半径設定メソッド
FK_CLI::fk_Modify::SetConeHeight
void SetConeHeight(double height)
正多角錐(円錐)高さ設定メソッド
FK_CLI::fk_Modify::ContractEdge
bool ContractEdge(fk_Edge ^ E, bool R)
稜線削除メソッド1-1
FK_CLI::fk_Modify::SetBlockSize
void SetBlockSize(double x, double y, double z)
直方体辺長変更メソッド
FK_CLI::fk_Modify::SetConeDivide
void SetConeDivide(int div)
正多角錐(円錐)角数設定メソッド
FK_CLI::fk_Modify::MakeSphere
void MakeSphere(int div, double rad)
球形状生成メソッド
FK_CLI::fk_Modify::MoveVPosition
bool MoveVPosition(int vertexID, double x, double y, double z)
頂点移動メソッド2-2
FK_CLI::fk_Modify::PushPolygon
fk_Loop ^ PushPolygon(IEnumerable< fk_Vector^>^ array)
多角形追加メソッド2
FK_CLI::fk_Modify::SetPrismBottomRadius
void SetPrismBottomRadius(double bottom)
正多角柱(円柱)角数設定メソッド
FK_CLI::fk_Modify::MakePolygon
fk_Loop ^ MakePolygon(IEnumerable< fk_Vector^>^ array, bool openFlg)
多角形生成メソッド2
FK_CLI::fk_Modify::RemoveVertexInLoop
fk_Loop ^ RemoveVertexInLoop(fk_Vertex ^ V)
頂点削除メソッド
FK_CLI::fk_Modify::SetBlockScale
void SetBlockScale(double x, double y, double z)
直方体軸方向個別拡大縮小メソッド
FK_CLI::fk_Modify::MakeBlock
void MakeBlock(double x, double y, double z)
直方体生成メソッド
FK_CLI::fk_Modify::SetCircleDivide
void SetCircleDivide(int div)
円形状分割数設定メソッド
FK_CLI::fk_Modify::ContractEdge
bool ContractEdge(fk_Edge ^ E, fk_Vector ^ P)
稜線削除メソッド2-2
FK_CLI::fk_Modify::SetSphereDivide
void SetSphereDivide(int div)
球形状分割数設定メソッド
FK_CLI::fk_Modify::CheckContract
bool CheckContract(fk_Edge ^ E)
稜線削除可能判定メソッド
FK_CLI::fk_Modify::SetBlockScale
void SetBlockScale(double scale, fk_Axis axis)
直方体軸方向拡大縮小メソッド
FK_CLI::fk_Modify::MoveVPosition
bool MoveVPosition(int vertexID, fk_Vector ^ pos, int order)
頂点移動メソッド1-1
FK_CLI::fk_Modify::SetBlockSize
void SetBlockSize(double length, fk_Axis axis)
直方体個別辺長設定メソッド
FK_CLI::fk_Modify::MakeLines
void MakeLines(IEnumerable< fk_Vector^>^ array)
線分群生成メソッド
FK_CLI::fk_Modify::SetBlockScale
void SetBlockScale(double scale)
直方体全体拡大縮小メソッド
FK_CLI::fk_Modify::SetLinePos
bool SetLinePos(int edgeID, int vertexID, fk_Vector^ pos)
線分頂点移動メソッド2
FK_CLI::fk_Modify::ChangeLine
bool ChangeLine(int edgeID, fk_Vector^ pos1, fk_Vector^ pos2)
線分両端点移動メソッド
FK_CLI::fk_Modify::MakeCone
void MakeCone(int div, double rad, double height)
正多角錐(円錐)形状生成メソッド
FK_CLI::fk_Modify::SetPrismDivide
void SetPrismDivide(int div)
正多角柱(円柱)角数設定メソッド
FK_CLI::fk_Modify::PushPolygonVertex
void PushPolygonVertex(fk_Vector ^ pos, bool openFlg)
多角形頂点追加メソッド
FK_CLI::fk_Modify::SubDivShape
void SubDivShape(int count)
細分割曲面生成メソッド
FK_CLI::fk_Operation
オイラー操作用クラス
Definition Operation_CLI.h:43
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
FK_CLI::fk_Axis
fk_Axis
座標軸を表す列挙型
Definition Vector_CLI.h:10