FineKernelToolKit 3.1.0

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

- ファイル一覧

IndexFace_CLI.h
[詳解]
1 // IndexFace_CLI.h
2
3 #pragma once
4
5 #include <FK/IndexFace.h>
6 #include "Shape_CLI.h"
7 #include "Vector_CLI.h"
8 #include "BVHMotion_CLI.h"
9
10 namespace FK_CLI
11 {
12 using namespace System::Collections::Generic;
13
14 ref class fk_Solid;
16 public enum class fk_IFType {
17 NONE,
18 TRIANGLES,
19 QUADS,
20 POLYGON
21 };
22
24
75 public ref class fk_IndexFaceSet : fk_Shape {
76 internal:
77 ::fk_IndexFaceSet * GetP(void);
78
79 public:
80 #ifndef FK_DOXYGEN_USER_PROCESS
81 fk_IndexFaceSet(bool argNewFlg);
82 #endif
83
85 fk_IndexFaceSet();
86
88 ~fk_IndexFaceSet();
89
91 !fk_IndexFaceSet();
92
94
97 property int PosSize {
98 int get();
99 }
100
102
105 property int FaceSize {
106 int get();
107 }
108
110
113 property fk_IFType^ FaceType {
114 fk_IFType^ get();
115 }
116
118
125 property double AnimationTime {
126 void set(double);
127 }
128
130
135 property fk_BVHMotion^ BVHMotion {
136 void set(fk_BVHMotion^);
137 }
138
140
141
143
150 bool ReadSMFFile(String^ name);
151
153
186 bool ReadVRMLFile(String^ name, bool materialFlg, bool solidFlg);
187
189
219 bool ReadVRMLFile(String^ name, bool materialFlg);
220
222
247 bool ReadVRMLFile(String^ name);
248
250
273 bool ReadSTLFile(String^ name, bool solidFlg, double tolerance);
274
276
297 bool ReadSTLFile(String^ name, bool solidFlg);
298
300
315 bool ReadSTLFile(String^ name);
316
317
319
326 bool ReadHRCFile(String^ name);
327
329
342 bool ReadRDSFile(String^ name, bool solidFlg);
343
345
354 bool ReadRDSFile(String^ name);
355
357
369 bool ReadDXFFile(String^ name, bool solidFlg);
370
371
373
382 bool ReadDXFFile(String^ name);
383
385
423 bool ReadMQOFile(String^ fileName, String^ objName,
424 bool solidFlg, bool contFlg, bool materialFlg);
425
427
464 bool ReadMQOFile(String^ fileName, String^ objName, bool solidFlg, bool contFlg);
465
467
493 bool ReadMQOFile(String^ fileName, String^ objName, bool solidFlg);
494
496
517 bool ReadMQOFile(String^ fileName, String^ objName);
518
520
565 bool ReadMQOFile(String^ fileName, String^ objName,
566 int materialID, bool solidFlg, bool contFlg, bool materialFlg);
567
569
613 bool ReadMQOFile(String^ fileName, String^ objName,
614 int materialID, bool solidFlg, bool contFlg);
615
617
651 bool ReadMQOFile(String^ fileName, String^ objName,
652 int materialID, bool solidFlg);
653
655
683 bool ReadMQOFile(String^ fileName, String^ objName, int materialID);
684
686
728 bool ReadMQOData(IEnumerable<Byte>^ buffer, String^ objName,
729 bool solidFlg, bool contFlg, bool materialFlg);
730
732
773 bool ReadMQOData(IEnumerable<Byte>^ buffer, String^ objName, bool solidFlg, bool contFlg);
774
776
807 bool ReadMQOData(IEnumerable<Byte>^ buffer, String^ objName, bool solidFlg);
808
810
835 bool ReadMQOData(IEnumerable<Byte>^ buffer, String^ objName);
836
838
886 bool ReadMQOData(IEnumerable<Byte>^ buffer, String^ objName,
887 int materialID, bool solidFlg, bool contFlg, bool materialFlg);
888
890
937 bool ReadMQOData(IEnumerable<Byte>^ buffer, String^ objName,
938 int materialID, bool solidFlg, bool contFlg);
939
941
978 bool ReadMQOData(IEnumerable<Byte>^ buffer, String^ objName, int materialID, bool solidFlg);
979
981
1012 bool ReadMQOData(IEnumerable<Byte>^ buffer, String^ objName, int materialID);
1013
1015
1043 bool ReadD3DXFile(String^ fileName, String^ objName, bool solidFlg);
1044
1046
1071 bool ReadD3DXFile(String^ fileName, String^ objName);
1072
1074
1108 bool ReadD3DXFile(String^ fileName, String^ objName, int materialID, bool solidFlg);
1109
1111
1142 bool ReadD3DXFile(String^ fileName, String^ objName, int materialID);
1143
1145
1147
1148
1150
1164 bool WriteVRMLFile(String^ fileName, fk_Material^ material, bool triFlg);
1165
1167
1181 bool WriteVRMLFile(String^ fileName, fk_Material^ material);
1182
1184
1194 bool WriteVRMLFile(String^ fileName);
1195
1197
1220 bool WriteVRMLFile(String^ fileName, IEnumerable<double>^ time,
1221 IEnumerable<fk_Vector^>^ pos, fk_Material^ material, bool triFlg);
1222
1224
1249 bool WriteVRMLFile(String^ fileName, IEnumerable<double>^ time,
1250 IEnumerable<fk_Vector^>^ pos, fk_Material^ material);
1251
1253
1274 bool WriteVRMLFile(String^ fileName, IEnumerable<double>^ time, IEnumerable<fk_Vector^>^ pos);
1275
1277
1284 bool WriteSTLFile(String^ fileName);
1285
1287
1298 bool WriteDXFFile(String^ fileName, bool triFlg);
1299
1301
1311 bool WriteDXFFile(String^ fileName);
1312
1314
1321 bool WriteMQOFile(String^ fileName);
1323
1325
1326
1328
1339 fk_Vector^ GetPosVec(int vertexID);
1340
1342
1351 cli::array<int>^ GetFaceData(int faceID);
1352
1354
1369 int GetFaceData(int faceID, int vertexNum);
1370
1372
1384 fk_Vector^ GetPNorm(int faceID, int order);
1385
1387
1399 fk_Vector^ GetPNorm(int faceID);
1400
1402
1414 fk_Vector^ GetVNorm(int vertexID, int order);
1415
1417
1429 fk_Vector^ GetVNorm(int vertexID);
1430
1432
1444 int GetElemMaterialID(int faceID);
1445
1447
1449
1450
1452
1469 bool MoveVPosition(int vertexID, fk_Vector^ pos, int order);
1470
1472
1488 bool MoveVPosition(int vertexID, fk_Vector^ pos);
1489
1490
1492
1510 bool MoveVPosition(int vertexID, double x, double y, double z, int order);
1511
1513
1531 bool MoveVPosition(int vertexID, double x, double y, double z);
1532
1534
1552 bool MoveVPosition(int vertexID, IEnumerable<double>^ array, int order);
1553
1555
1573 bool MoveVPosition(int vertexID, IEnumerable<double>^ array);
1574
1576
1603 void MakeIFSet(int faceNum, int polyNum, IEnumerable<int>^ IFSet,
1604 int vertexNum, IEnumerable<fk_Vector^>^ posArray, int order);
1605
1607
1634 void MakeIFSet(int faceNum, int polyNum, IEnumerable<int>^ IFSet,
1635 int vertexNum, IEnumerable<fk_Vector^>^ posArray);
1636
1638
1663 bool SetPNorm(int faceID, fk_Vector^ norm, int order);
1664
1666
1691 bool SetPNorm(int faceID, fk_Vector^ norm);
1692
1694
1719 bool SetVNorm(int vertexID, fk_Vector^ norm, int order);
1720
1722
1747 bool SetVNorm(int vertexID, fk_Vector^ norm);
1748
1750
1764 bool SetElemMaterialID(int faceID, int materialID);
1765
1767
1782 void Flush(void);
1783
1785
1787
1788
1790
1813 void MakeBlock(double x, double y, double z);
1814
1816
1828 void SetBlockSize(double x, double y, double z);
1829
1831
1845 void SetBlockSize(double length, fk_Axis axis);
1846
1848
1858 void SetBlockScale(double scale);
1859
1861
1875 void SetBlockScale(double scale, fk_Axis axis);
1876
1878
1890 void SetBlockScale(double x, double y, double z);
1892
1894
1895
1897
1916 void MakeCircle(int div, double rad);
1917
1919
1929 void SetCircleRadius(double rad);
1930
1932
1942 void SetCircleDivide(int div);
1943
1945
1955 void SetCircleScale(double scale);
1957
1959
1960
1962
1980 void MakeSphere(int div, double rad);
1981
1983
1993 void SetSphereRadius(double rad);
1994
1996
2006 void SetSphereDivide(int div);
2007
2009
2019 void SetSphereScale(double scale);
2021
2023
2024
2026
2046 void MakePrism(int div, double top, double bottom, double height);
2047
2048
2050
2060 void SetPrismDivide(int div);
2061
2063
2073 void SetPrismTopRadius(double top);
2074
2076
2086 void SetPrismBottomRadius(double bottom);
2087
2089
2099 void SetPrismHeight(double height);
2101
2103
2104
2106
2125 void MakeCone(int div, double rad, double height);
2126
2128
2138 void SetConeDivide(int div);
2139
2141
2151 void SetConeRadius(double rad);
2152
2154
2164 void SetConeHeight(double height);
2166
2168
2169
2171
2188 void MakeCapsule(int div, double len, double rad);
2189
2191
2202 void SetCapsuleSize(double len, double rad);
2204
2206
2207
2209
2219 void PutSolid(fk_Solid^ solid);
2220
2222
2228 void CloneShape(fk_IndexFaceSet^ ifs);
2230 };
2231 }
2232
2233 /****************************************************************************
2234 *
2235 * Copyright (c) 1999-2016, Fine Kernel Project, All rights reserved.
2236 *
2237 * Redistribution and use in source and binary forms,
2238 * with or without modification, are permitted provided that the
2239 * following conditions are met:
2240 *
2241 * - Redistributions of source code must retain the above
2242 * copyright notice, this list of conditions and the
2243 * following disclaimer.
2244 *
2245 * - Redistributions in binary form must reproduce the above
2246 * copyright notice, this list of conditions and the
2247 * following disclaimer in the documentation and/or
2248 * other materials provided with the distribution.
2249 *
2250 * - Neither the name of the copyright holders nor the names
2251 * of its contributors may be used to endorse or promote
2252 * products derived from this software without specific
2253 * prior written permission.
2254 *
2255 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
2256 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
2257 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
2258 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
2259 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
2260 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
2261 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
2262 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
2263 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
2264 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
2265 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
2266 * POSSIBILITY OF SUCH DAMAGE.
2267 *
2268 ****************************************************************************/
2269 /****************************************************************************
2270 *
2271 * Copyright (c) 1999-2016, Fine Kernel Project, All rights reserved.
2272 *
2273 * 本ソフトウェアおよびソースコードのライセンスは、基本的に
2274 * 「修正 BSD ライセンス」に従います。以下にその詳細を記します。
2275 *
2276 * ソースコード形式かバイナリ形式か、変更するかしないかを問わず、
2277 * 以下の条件を満たす場合に限り、再頒布および使用が許可されます。
2278 *
2279 * - ソースコードを再頒布する場合、上記の著作権表示、本条件一覧、
2280 * および下記免責条項を含めること。
2281 *
2282 * - バイナリ形式で再頒布する場合、頒布物に付属のドキュメント等の
2283 * 資料に、上記の著作権表示、本条件一覧、および下記免責条項を
2284 * 含めること。
2285 *
2286 * - 書面による特別の許可なしに、本ソフトウェアから派生した製品の
2287 * 宣伝または販売促進に、本ソフトウェアの著作権者の名前または
2288 * コントリビューターの名前を使用してはならない。
2289 *
2290 * 本ソフトウェアは、著作権者およびコントリビューターによって「現
2291 * 状のまま」提供されており、明示黙示を問わず、商業的な使用可能性、
2292 * および特定の目的に対する適合性に関す暗黙の保証も含め、またそれ
2293 * に限定されない、いかなる保証もないものとします。著作権者もコン
2294 * トリビューターも、事由のいかんを問わず、損害発生の原因いかんを
2295 * 問わず、かつ責任の根拠が契約であるか厳格責任であるか(過失その
2296 * 他の)不法行為であるかを問わず、仮にそのような損害が発生する可
2297 * 能性を知らされていたとしても、本ソフトウェアの使用によって発生
2298 * した(代替品または代用サービスの調達、使用の喪失、データの喪失、
2299 * 利益の喪失、業務の中断も含め、またそれに限定されない)直接損害、
2300 * 間接損害、偶発的な損害、特別損害、懲罰的損害、または結果損害に
2301 * ついて、一切責任を負わないものとします。
2302 *
2303 ****************************************************************************/
FK_CLI::fk_IndexFaceSet
インデックスフェースセットによる任意形状を生成、管理するクラス
Definition: IndexFace_CLI.h:75
FK_CLI::fk_IFType::QUADS
4角形集合
Shape_CLI.h
FK_CLI::fk_IFType::POLYGON
任意多角形集合
FK_CLI::fk_BoundaryMode::NONE
未定義境界
FK_CLI::fk_BVHMotion
BVH 形式のモーションデータを読み込み、保持するクラス
Definition: BVHMotion_CLI.h:22
Vector_CLI.h
FK_CLI::fk_Solid
半稜線構造 (Half-Edge Structure) による任意形状を生成、管理するクラス
Definition: Solid_CLI.h:64
FK_CLI::fk_IFType::TRIANGLES
3角形集合
FK_CLI::fk_IFType
fk_IFType
インデックスフェースセットの内部データタイプを表す列挙型
Definition: IndexFace_CLI.h:16
FK_CLI::fk_Axis
fk_Axis
座標軸を表す列挙型
Definition: Vector_CLI.h:12
FK_CLI::fk_Vector
3次元ベクトルを管理するクラス
Definition: Vector_CLI.h:37
FK_CLI::fk_Shape
形状用基底クラス
Definition: Shape_CLI.h:28
BVHMotion_CLI.h
Generic
FK_CLI::fk_Material
マテリアル(質感)を管理するクラス
Definition: Material_CLI.h:448
FK_CLI
Definition: AppWindow_CLI.h:11