FineKernelToolKit 4.2.13
読み取り中…
検索中…
一致する文字列を見つけられません
ParticleSet_CLI.h
[詳解]
1#pragma once
2
3#include <FK/ParticleSet.h>
4#include "Particle_CLI.h"
5#include "Material_CLI.h"
6#include "Shape_CLI.h"
7
8using namespace System;
9using namespace System::Collections::Generic;
10
11namespace FK_CLI
12{
13
15
41 public ref class fk_ParticleSet : fk_BaseObject {
42 private:
43 Dictionary<int, fk_Particle^> map;
44
45 internal:
46 ::FK::fk_ParticleSet * GetP(void);
47
48 public:
49#if !defined(FK_DOXYGEN_USER_PROCESS)
50 fk_ParticleSet(bool argNewFlg);
51#endif
52 delegate void ParticleMethod1(void);
54
57
60
63
65
75 property fk_Shape^ Shape {
76 fk_Shape^ get();
77 }
78
80
88 property unsigned int Count {
89 unsigned int get();
90 }
91
93
96 property unsigned int ParticleNum {
97 unsigned int get();
98 }
99
101
107 property unsigned int MaxSize {
108 unsigned int get();
109 void set(unsigned int);
110 }
111
113
119 property bool AllMode {
120 bool get();
121 void set(bool);
122 }
123
125
131 property bool IndivMode {
132 bool get();
133 void set(bool);
134 }
135
137
143 void Handle(void);
144
146
156
158
170
172
185 fk_Particle^ NewParticle(double x, double y, double z);
186
188
198
200
209 bool RemoveParticle(int ID);
210
212
220
222
252
254
263 //virtual void GenMethod(fk_Particle^ p);
265
267
275 //virtual void AllMethod(void);
277
279
290 //virtual void IndivMethod(fk_Particle^ p);
292 };
293}
294
295/****************************************************************************
296 *
297 * Copyright (c) 1999-2024, Fine Kernel Project, All rights reserved.
298 *
299 * Redistribution and use in source and binary forms,
300 * with or without modification, are permitted provided that the
301 * following conditions are met:
302 *
303 * - Redistributions of source code must retain the above
304 * copyright notice, this list of conditions and the
305 * following disclaimer.
306 *
307 * - Redistributions in binary form must reproduce the above
308 * copyright notice, this list of conditions and the
309 * following disclaimer in the documentation and/or
310 * other materials provided with the distribution.
311 *
312 * - Neither the name of the copyright holders nor the names
313 * of its contributors may be used to endorse or promote
314 * products derived from this software without specific
315 * prior written permission.
316 *
317 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
318 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
319 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
320 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
321 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
322 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
323 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
324 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
325 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
326 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
327 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
328 * POSSIBILITY OF SUCH DAMAGE.
329 *
330 ****************************************************************************/
331/****************************************************************************
332 *
333 * Copyright (c) 1999-2024, Fine Kernel Project, All rights reserved.
334 *
335 * 本ソフトウェアおよびソースコードのライセンスは、基本的に
336 * 「修正 BSD ライセンス」に従います。以下にその詳細を記します。
337 *
338 * ソースコード形式かバイナリ形式か、変更するかしないかを問わず、
339 * 以下の条件を満たす場合に限り、再頒布および使用が許可されます。
340 *
341 * - ソースコードを再頒布する場合、上記の著作権表示、本条件一覧、
342 * および下記免責条項を含めること。
343 *
344 * - バイナリ形式で再頒布する場合、頒布物に付属のドキュメント等の
345 * 資料に、上記の著作権表示、本条件一覧、および下記免責条項を
346 * 含めること。
347 *
348 * - 書面による特別の許可なしに、本ソフトウェアから派生した製品の
349 * 宣伝または販売促進に、本ソフトウェアの著作権者の名前または
350 * コントリビューターの名前を使用してはならない。
351 *
352 * 本ソフトウェアは、著作権者およびコントリビューターによって「現
353 * 状のまま」提供されており、明示黙示を問わず、商業的な使用可能性、
354 * および特定の目的に対する適合性に関す暗黙の保証も含め、またそれ
355 * に限定されない、いかなる保証もないものとします。著作権者もコン
356 * トリビューターも、事由のいかんを問わず、損害発生の原因いかんを
357 * 問わず、かつ責任の根拠が契約であるか厳格責任であるか(過失その
358 * 他の)不法行為であるかを問わず、仮にそのような損害が発生する可
359 * 能性を知らされていたとしても、本ソフトウェアの使用によって発生
360 * した(代替品または代用サービスの調達、使用の喪失、データの喪失、
361 * 利益の喪失、業務の中断も含め、またそれに限定されない)直接損害、
362 * 間接損害、偶発的な損害、特別損害、懲罰的損害、または結果損害に
363 * ついて、一切責任を負わないものとします。
364 *
365 ****************************************************************************/
FK の各クラスの基盤となる基本クラス
Definition Base_CLI.h:104
パーティクル集合を制御するクラス
Definition ParticleSet_CLI.h:41
bool IndivMode
個別動作モードプロパティ
Definition ParticleSet_CLI.h:131
fk_Particle ^ NewParticle(double x, double y, double z)
パーティクル生成メソッド3
delegate void ParticleMethod1(void)
ParticleMethod1 ^ AllMethod
全体動作用抽象メソッド
Definition ParticleSet_CLI.h:276
~fk_ParticleSet()
デストラクタ
bool RemoveParticle(fk_Particle ^ p)
パーティクル削除メソッド1
fk_Particle ^ GetParticle(int ID)
パーティクルインスタンス参照メソッド
bool RemoveParticle(int ID)
パーティクル削除メソッド2
ParticleMethod2 ^ GenMethod
個別初期化用抽象メソッド
Definition ParticleSet_CLI.h:264
fk_Particle ^ NewParticle(void)
パーティクル生成メソッド1
fk_ParticleSet()
コンストラクタ
bool AllMode
全体動作モードプロパティ
Definition ParticleSet_CLI.h:119
fk_Shape^ Shape
モデル設定用プロパティ
Definition ParticleSet_CLI.h:75
unsigned int Count
年齢プロパティ
Definition ParticleSet_CLI.h:88
void Handle(void)
実行メソッド
unsigned int MaxSize
パーティクル最大個数プロパティ
Definition ParticleSet_CLI.h:107
fk_Particle ^ GetNextParticle(fk_Particle^ p)
パーティクルインスタンス順次取得取得
fk_Particle ^ NewParticle(fk_Vector^ pos)
パーティクル生成メソッド2
unsigned int ParticleNum
パーティクル個数プロパティ
Definition ParticleSet_CLI.h:96
ParticleMethod2 ^ IndivMethod
個別動作用抽象メソッド
Definition ParticleSet_CLI.h:291
delegate void ParticleMethod2(fk_Particle^)
パーティクル単体を制御するクラス
Definition Particle_CLI.h:50
形状用基底クラス
Definition Shape_CLI.h:29
3次元ベクトルを管理するクラス
Definition Vector_CLI.h:35
Definition AppWindow_CLI.h:11