FineKernelToolKit 3.1.0

- 総合概要
- 名前空間
- クラス
- ファイル

- ファイル一覧

Modify_CLI.h
[詳解]
1 // Modify_CLI.h
2
3 #pragma once
4
5 #include <FK/Modify.h>
6 #include "Operation_CLI.h"
7
8 namespace FK_CLI
9 {
10 using namespace System::Collections::Generic;
11
13
42 public ref class fk_Modify : fk_Operation {
43 internal:
44 ::fk_Modify * GetP(void);
45
46 public:
47 #ifndef FK_DOXYGEN_USER_PROCESS
48 fk_Modify(bool argNewFlg);
49 ~fk_Modify();
50 #endif
51
53
55
78 fk_Loop^ RemoveVertexInLoop(fk_Vertex ^V);
79
81
113 bool ContractEdge(fk_Edge ^E, bool R);
114
116
147 bool ContractEdge(fk_Edge ^E);
148
150
166 bool ContractEdge(fk_Edge ^E, fk_Vector ^P, bool R);
167
169
184 bool ContractEdge(fk_Edge ^E, fk_Vector ^P);
185
186
188
195 bool CheckContract(fk_Edge ^E);
197
199
200
202
226 fk_Loop^ MakePolygon(IEnumerable<fk_Vector^>^ array, bool openFlg, bool initFlg);
227
229
251 fk_Loop^ MakePolygon(IEnumerable<fk_Vector^>^ array, bool openFlg);
252
254
276 fk_Loop^ PushPolygon(IEnumerable<fk_Vector^>^ array, bool openFlg);
277
279
295 fk_Loop^ PushPolygon(IEnumerable<fk_Vector^>^ array);
296
298
312 void PushPolygonVertex(fk_Vector ^pos, bool openFlg);
314
316
317
319
325 void MakePoint(IEnumerable<fk_Vector^>^ array);
326
328
335 fk_Vertex^ PushPointVertex(fk_Vector ^pos);
336
338
340
341
343
351 void MakeLines(IEnumerable<fk_Vector^>^ array);
352
354
362 fk_Edge^ PushLines(fk_Vector ^pos1, fk_Vector ^pos2);
363
365
379 bool SetLinePos(int ID, fk_Vector ^pos);
380
382
400 bool SetLinePos(int edgeID, int vertexID, fk_Vector^ pos);
401
403
416 bool ChangeLine(int edgeID, fk_Vector^ pos1, fk_Vector^ pos2);
418
420
421
423
446 void MakeBlock(double x, double y, double z);
447
449
461 void SetBlockSize(double x, double y, double z);
462
464
478 void SetBlockSize(double length, fk_Axis axis);
479
481
491 void SetBlockScale(double scale);
492
494
508 void SetBlockScale(double scale, fk_Axis axis);
509
511
523 void SetBlockScale(double x, double y, double z);
525
527
528
530
549 void MakeCircle(int div, double rad);
550
552
562 void SetCircleRadius(double rad);
563
565
575 void SetCircleDivide(int div);
576
578
588 void SetCircleScale(double scale);
590
592
593
595
612 void MakeSphere(int div, double rad);
613
615
625 void SetSphereRadius(double rad);
626
628
638 void SetSphereDivide(int div);
639
641
651 void SetSphereScale(double scale);
653
655
656
658
678 void MakePrism(int div, double top, double bottom, double height);
679
681
691 void SetPrismDivide(int div);
692
694
704 void SetPrismTopRadius(double top);
705
707
717 void SetPrismBottomRadius(double bottom);
718
720
730 void SetPrismHeight(double height);
732
734
735
737
756 void MakeCone(int div, double rad, double height);
757
759
769 void SetConeDivide(int div);
770
772
783 void SetConeRadius(double rad);
785
795 void SetConeHeight(double height);
797
799
800
802
813 bool MoveVPosition(int vertexID, fk_Vector ^pos, int order);
814
816
826 bool MoveVPosition(int vertexID, fk_Vector ^pos);
827
829
842 bool MoveVPosition(int vertexID, double x, double y, double z, int order);
843
845
857 bool MoveVPosition(int vertexID, double x, double y, double z);
859
861
862
871 void SubDivShape(int count);
873 };
874 }
875
876 /****************************************************************************
877 *
878 * Copyright (c) 1999-2016, Fine Kernel Project, All rights reserved.
879 *
880 * Redistribution and use in source and binary forms,
881 * with or without modification, are permitted provided that the
882 * following conditions are met:
883 *
884 * - Redistributions of source code must retain the above
885 * copyright notice, this list of conditions and the
886 * following disclaimer.
887 *
888 * - Redistributions in binary form must reproduce the above
889 * copyright notice, this list of conditions and the
890 * following disclaimer in the documentation and/or
891 * other materials provided with the distribution.
892 *
893 * - Neither the name of the copyright holders nor the names
894 * of its contributors may be used to endorse or promote
895 * products derived from this software without specific
896 * prior written permission.
897 *
898 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
899 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
900 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
901 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
902 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
903 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
904 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
905 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
906 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
907 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
908 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
909 * POSSIBILITY OF SUCH DAMAGE.
910 *
911 ****************************************************************************/
912 /****************************************************************************
913 *
914 * Copyright (c) 1999-2016, Fine Kernel Project, All rights reserved.
915 *
916 * 本ソフトウェアおよびソースコードのライセンスは、基本的に
917 * 「修正 BSD ライセンス」に従います。以下にその詳細を記します。
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 *
946 ****************************************************************************/
FK_CLI::fk_Vertex
ソリッドモデルの頂点位相を管理するクラス
Definition: Vertex_CLI.h:26
FK_CLI::fk_Edge
ソリッドモデルの稜線位相を管理するクラス
Definition: Edge_CLI.h:33
FK_CLI::fk_Modify
ソリッドモデル変形操作用クラス
Definition: Modify_CLI.h:42
FK_CLI::fk_Operation
オイラー操作用クラス
Definition: Operation_CLI.h:45
FK_CLI::fk_Axis
fk_Axis
座標軸を表す列挙型
Definition: Vector_CLI.h:12
FK_CLI::fk_Vector
3次元ベクトルを管理するクラス
Definition: Vector_CLI.h:37
FK_CLI::fk_Loop
ソリッドモデルのループ位相を管理するクラス
Definition: Loop_CLI.h:30
Generic
Operation_CLI.h
FK_CLI
Definition: AppWindow_CLI.h:11