FSL基本講座05

だいたい大枠は説明したので少し細かいところも見ていきましょう。
今回はプログラム内で使う基本的な "アイテム" について説明します。
変数(variable)
変数というのは値をやり取りするときの "入れ物" です。
データタイプ(変数の型)によって専用の入れ物があります。
これらを使う場合ははじめに宣言しなければなりません。
たとえば、数値を扱うもの、文字列を扱うもの、論理値を扱うものなどがあります。
サンプルでは変数名の型がわかりやすいような名前が付けられています。
long lval(整数)
double dval(実数)
fz_string_td str," hellow "(文字列)
fzrt_boolean TRUEかFALSE (論理値)
etc...
FSLの場合、他にも専用の型がいろいろあります。
fz_xy_td
fz_xyz_td
fz_rgb_float_td
fz_xyz_mm_td
etc...
(※ _td は "type data" の略)
enum(enumeration)
これはあらかじめ定められた特定の値しか取れない変数です。
最後に _enum が付きます。
たとえば、fz_objt_model_type_enumなら取れる値は以下の3つ。
FZ_OBJT_MODEL_TYPE_UNSPEC
FZ_OBJT_MODEL_TYPE_FACT
FZ_OBJT_MODEL_TYPE_SMOD
ポインタ(pointer)
ポインタというのは、どのデータを処理しているのかを指し示すマーカーみたいなものです。
ポインタ用の変数はデータタイプを示す名前の最後に _ptr が付きます。これも変数の一種です。
fz_objt_ptr
fz_layr_ptr
fzrt_floc_ptr
関数(function)
関数というのは、何らかの処理をする機能を提供するものです。
たとえば、fz_objt_cnstr_cyln() は円柱を作るための関数です。
名前の頭に "fz_" が付いて、だいたい意味がわかるような名前になってます。
fz_objt_attr_get_objt_layer()
fz_objt_alys_get_objt_centroid()
fz_view_new_camera()
算術関数や文字列用の関数は
"FZ_MATH_" や、 "fz_std_" などが付いています。
FZ_MATH_3D_MID_PT()
FZ_PI
fz_std_sin()
fz_std_strcat()
fz_std_strlen()
ユーザー関数
複数の機能をまとめて1つにしたものをユーザー関数といいます。
ユーザー関数には大きく分けて2つの種類があります。
"値を返すもの" と "返さないもの" です。
返すものには、頭に返す値のデータタイプを示し、最後にreturn (返す)します。
返さないものにはvoidをつけます。(あるいはlongで代用したりします。)
ユーザー関数の名前は自由に付けられます。
double ichikaranmadetasu(long n)
{
long i,result=0;
for(i=1;i<=n;i++){
result=result+i;
}
return result;
}
呼び出すときは、ichikaranmadetasu(10);
この場合は1から10まで足して55を返します。
他にもいくつかありますが、このへんのことがわかってれば大抵のことは出来ます。
もっと細かいことはAPI Referenceを参照してください。
次回はfor文やif文などの基本文型を少しやります。
コメント
コメントの投稿
トラックバック
http://zsurfer.blog8.fc2.com/tb.php/767-725bd287


