BODY.h

Summary
BODY.h
Constants and Types
General Defines
KODlistData
Symbol of Entity Type
Enumerations
Enum Symbol of Entity Type
CIRA円・円弧を表わす構造体
CONA円錐曲線を表わす構造体
LINE_線分を表わす構造体
TMAT変換マトリックスを表わす構造体
NURBSC有理Bスプライン(NURBS)曲線を表わす構造体
NURBSS有理Bスプライン(NURBS)曲面を表わす構造体
COMPELEM複合曲線を構成できる曲線群を共用体で宣言
COMPC複合曲線
CURVE面上線を構成できる曲線群を共用体で宣言
CONPS面上線
Functions
GetOuterEdgeNumトリム面を構成する外側エッジの数を取得する
GetInnerTrmNumトリム面を構成する内側トリムの数を取得する
GetInnerEdgeNumトリム面を構成する内側トリムを構成するエッジの数を取得する
GetOuterCompCトリム面を構成する外側トリム曲線(複合曲線)へのポインタを取得する
GetInnerCompCトリム面を構成する内側トリム曲線(複合曲線)へのポインタを取得する
Variables
*ptsトリムされるSurface EntityのDE部へのポインタ
n10:外周がDの境界と一致、1:それ以外
n2Trimmed Surfaceの内周にあたる単純閉曲線の数
*pTOTrimmed Surfaceの外周にあたる単純閉曲線構造体へのポインタ
**pTITrimmed Surfaceの内周にあたる単純閉曲線構造体へのポインタ
pDディレクトリ部への逆ポインタ
Types
TRMS
OBJECTピックされたオブジェクトを示す構造体
BODY全てのエンティティを統括するBODYクラス
Functions
BODYBODYクラスのコンストラクタ.各種初期化
NewBodyElemBODYを構成する全要素のメモリー確保
DelBodyElemBODYを構成する全要素のメモリー解放
DelBodyElem指定したTypeNum[]分のメモリーを解放
NewCirACIRAを指定した数だけメモリー確保し,初期化する
NewCompCCOMPCを指定した数だけメモリー確保し,初期化する
NewConACONAを指定した数だけメモリー確保し,初期化する
NewLineLINE_を指定した数だけメモリー確保し,初期化する
NewTMatTMATを指定した数だけメモリー確保し,初期化する
NewNurbsCNURBSCを指定した数だけメモリー確保し,初期化する
NewNurbsSNURBSSを指定した数だけメモリー確保し,初期化する
NewConpSCONPSを指定した数だけメモリー確保し,初期化する
NewTrmSTRMSを指定した数だけメモリー確保し,初期化する
RotBodyBODYの回転
ShiftBodyBODYのシフト
ExpandBodyBODYの拡大縮小
RegistBody自分を新たなBODYとして登録する
DeleteBody自分自身を消去する
RegistNurbsCtoBody1つのNURBS曲線を新たなBODYとして登録する
RegistNurbsCtoBodyNN個のNURBS曲線を新たなBODYとして登録する
RegistNurbsStoBody1つのNURBS曲面を新たなBODYとして登録する
RegistNurbsStoBodyNN個のNURBS曲面を新たなBODYとして登録する
ChangeStatColorエンティティのステータスで定義されている色を変更
InitCurveColor線の色の初期値を与える
InitSurfaceColor面の色の初期値を与える
GetNurbsCFromLine直線エンティティをNURBS曲線エンティティへと変換する
GetNurbsCFromCirA円・円弧エンティティをNURBS曲線エンティティへと変換する
CheckTheSameNurbsC(private)同一のNURBS曲線を探索
CirAToNurbsC_seg1(private)円・円弧エンティティが1セグメントの場合
CirAToNurbsC_seg2(private)円・円弧エンティティが2セグメントの場合
CirAToNurbsC_seg3(private)円・円弧エンティティが3セグメントの場合
CirAToNurbsC_seg4(private)円・円弧エンティティが4セグメントの場合
Variables
*CirA円・円弧
*CompC複合曲線
*ConA円錐曲線
*Line線分
*TMat変換行列
*NurbsCNURBS曲線
*NurbsSNURBS曲面
*ConpS面上線
*TrmSトリム面
TypeNum[ALL_ENTITY_TYPE_NUM]BODYを構成する各エンティティの数を格納した配列
*MeshHalf-Edge構造メッシュ(リスト構造、リストの先頭アドレスを示す)
MaxCoord立体の寸法の最大値(この値で初期表示倍率を決定)
Name[FNAMEMAX]BODY名
*Mom自分が属する親(BodyList)のアドレス

Constants and Types

General Defines

ALL_ENTITY_TYPE_NUM全エンティティタイプの数(21)
CTLPNUMMAXNURBSで用いられるコントロールポイントの数の上限(1024)
KNOTNUMMAXNURBSで用いられるノットシーケンスの数の上限(1024)
DISPLAYIGESディレクトリ部”Blank Status”より、表示を表す(0)
HIDDENIGESディレクトリ部”Blank Status”より、非表示を表す(1)
GEOMTRYELEMIGESディレクトリ部”Entity Use Flag”より、幾何要素を示す(0)
PARAMETRICELEMIGESディレクトリ部”Entity Use Flag”より、2Dパラメトリック要素を示す(5)
NORM_KNOT_VALノットベクトルを正規化するときの範囲の最大値(1)
MIN_KNOT_RANG隣り合うノットベクトルの差がこの値以上であること(0.0002)

KODlistData

BODYList汎用データリストの型をBODYListとして再登録
OBJECTList汎用データリストの型をOBJECTListとして再登録

Symbol of Entity Type

CIRCLE_ARC円/円弧(100)
COMPOSITE_CURVE複合曲線(102)
CONIC_ARC円錐曲線(104)
COPIOUS_DATA有意点列(106)
PLANE平面(108)
LINE線分(110)
PARAMETRIC_SPLINE_CURVEパラメトリックスプライン曲線(112)
PARAMETRIC_SPLINE_SURFACEパラメトリックスプライン曲面(114)
POINT点(116)
TRANSFORMATION_MATRIX変換行列(124)
NURBS_CURVE有理Bスプライン曲線(126)
NURBS_SURFACE有理Bスプライン曲面(128)
CURVE_ON_PARAMETRIC_SURFACE面上線(142)
TRIMMED_SURFACEトリム面(144)
SUBFIGURE_DEFINITION子図の定義(308)
ASSOCIATIVITY_INSTANCEグループ(402)
DRAWING図面(404)
PROPERTY図面サイズ(406)
SINGULAR_SUBFIGURE_INSTANCE子図の参照(408)
VIEW投象面(410)

Enumerations

Enum Symbol of Entity Type

_CIRCLE_ARC0:円・円弧
_COMPOSITE_CURVE1:複合曲線
_CONIC_ARC2:円錐曲線
_COPIOUS_DATA3:有意点列
_PLANE4:平面
_LINE5:線分
_PARAMETRIC_SPLINE_CURVE6:パラメトリックスプライン曲線
_PARAMETRIC_SPLINE_SURFACE7:パラメトリックスプライン曲面
_POINT8:点
_TRANSFORMATION_MATRIX9:変換行列
_NURBSC10:有理Bスプライン曲線
_NURBSS11:有理Bスプライン曲面
_CURVE_ON_PARAMETRIC_SURFACE12:面上線
_TRIMMED_SURFACE13:トリム面
_SUBFIGURE_DEFINITION14:子図の定義
_ASSOCIATIVITY_INSTANCE15:グループ
_DRAWING16:図面
_PROPERTY17:図面サイズ
_SINGULAR_SUBFIGURE_INSTANCE18:子図の参照
_VIEW19:投象面
_MESH20:メッシュ

CIRA

円・円弧を表わす構造体

Variables

double ztZ軸方向の深さ
Coord cp[3]円・円弧の中心点、始点、終点
double R半径
double t[2]t[0]:始点の角度 t[1]:終点の角度
Coord U,V円,円弧を構成する平面の任意の直交ベクトル
int BlankStatディレクトリ部 Blank Statusの値(0:表示する 1:表示しない)
int EntUseFlagディレクトリ部 Entity Use Flag の値(0:幾何要素 5:2Dパラメトリック要素)
int pDディレクトリ部への逆ポインタ
DispStat Dstat表示属性(色r,g,b)

CONA

円錐曲線を表わす構造体

Variables

double prop[6]係数
double ztZT平面の定義
Coord cp[2]始点、終点
int pDディレクトリ部への逆ポインタ
DispStat Dstat表示属性(色r,g,b)

LINE_

線分を表わす構造体

Variables

Coord cp[2]始点、終点
int BlankStatディレクトリ部 Blank Statusの値(0:表示する 1:表示しない)
int EntUseFlagディレクトリ部 Entity Use Flag の値(0:幾何要素 5:2Dパラメトリック要素)
int pDディレクトリ部への逆ポインタ
DispStat Dstat表示属性(色r,g,b)

TMAT

変換マトリックスを表わす構造体

Variables

double R[3][3]回転行列
double T[3]並進ベクトル
int pDディレクトリ部への逆ポインタ

NURBSC

有理Bスプライン(NURBS)曲線を表わす構造体

Variables

int Kコントロールポイントの数
int M階数(=次数+1)
int Nノットベクトルの数
int prop[4]各プロパティ prop[0]==0:非平面内曲線, 1:平面内曲線 prop[1]==0:閉曲線でない,1:閉曲線 prop[2]==0:有理式,1:多項式 prop[3]==0:非周期的曲線, 1:周期的曲線
double *Tノットシーケンスの値 K+M個
double *WWeightの値 K個
Coord *cpコントロールポイント K個
double V[2]パラメータの範囲
Coord norm法線ベクトル
int BlankStatディレクトリ部 Blank Statusの値(0:表示する 1:表示しない)
int EntUseFlagディレクトリ部 Entity Use Flag の値(0:幾何要素 5:2Dパラメトリック要素)
int pDディレクトリ部への逆ポインタ
int OriginEnt元のエンティティタイプ
void *pOriginEnt元のエンティティへのポインタ
DispStat Dstat表示属性(色r,g,b)

NURBSS

有理Bスプライン(NURBS)曲面を表わす構造体

Variables

int K[2]コントロールポイントの数(u方向,v方向)
int M[2]階数(=次数+1)
int N[2]ノットベクトルの数(K+M)
int prop[5]パラメータ prop[0]==0:u方向で閉じている, 1:閉じていない prop[1]==0:v方向で閉じている,1:閉じていない prop[2]==0:有理式,1:多項式 prop[3]==0:u方向で非周期的, 1:周期的 prop[4]==0:v方向で非周期的, 1:周期的
double *Su方向ノットベクトルの値 A+1個
double *Tv方向ノットベクトルの値 B+1個
double **WWeightの値
Coord **cpコントロールポイント C個
double U[2]u方向パラメータの範囲
double V[2]v方向パラメータの範囲
int pDディレクトリ部への逆ポインタ
int TrmdSurfFlagこのNURBS曲面がトリム面として呼ばれているのか、独立して存在するのかを示すフラグ(トリム面:KOD_TRUE 独立面:KOD_FALSE)
DispStat Dstat表示属性(色r,g,b,)

COMPELEM

複合曲線を構成できる曲線群を共用体で宣言

Variables

CONA ConA円錐曲線
LINE_ Line直線
NURBSC NurbsCNURBS曲線

COMPC

複合曲線

Variables

int N構成要素数
int *DEType各構成要素のエンティティタイプ
COMPELEM **pDE各構成要素の構造体へのポインタ
int DegeFlag複合曲線が縮退した2Dパラメトリック曲線を表すフラグ
NURBSC DegeNurbs複合曲線が縮退した2Dパラメトリック曲線だった場合に縮退を解消するためのNURBS曲線
int pDディレクトリ部への逆ポインタ

CURVE

面上線を構成できる曲線群を共用体で宣言

Variables

CIRA CirA円・円弧
COMPC CompC複合曲線
CONA ConA円錐曲線
NURBSC NurbsCNURBS曲線

CONPS

面上線

Variables

int crtn面上線がどのように作られたかを示す
int STypeSurface Sのエンティティタイプ
int BTypeCurve Bのエンティティタイプ
int CTypeCurve Cのエンティティタイプ
NURBSS *pSCurveが乗るSurface構造体へのポインタ
CURVE *pBSurface Sのパラメータ空間におけるCurve B構造体へのポインタ
CURVE *pCCurve C構造体へのポインタ
int pref送り側システムで採られていた表現を示すフラグ
int pDディレクトリ部への逆ポインタ
Summary
Functions
GetOuterEdgeNumトリム面を構成する外側エッジの数を取得する
GetInnerTrmNumトリム面を構成する内側トリムの数を取得する
GetInnerEdgeNumトリム面を構成する内側トリムを構成するエッジの数を取得する
GetOuterCompCトリム面を構成する外側トリム曲線(複合曲線)へのポインタを取得する
GetInnerCompCトリム面を構成する内側トリム曲線(複合曲線)へのポインタを取得する
Variables
*ptsトリムされるSurface EntityのDE部へのポインタ
n10:外周がDの境界と一致、1:それ以外
n2Trimmed Surfaceの内周にあたる単純閉曲線の数
*pTOTrimmed Surfaceの外周にあたる単純閉曲線構造体へのポインタ
**pTITrimmed Surfaceの内周にあたる単純閉曲線構造体へのポインタ
pDディレクトリ部への逆ポインタ
Types
TRMS

Functions

GetOuterEdgeNum

int GetOuterEdgeNum()

トリム面を構成する外側エッジの数を取得する

GetInnerTrmNum

int GetInnerTrmNum()

トリム面を構成する内側トリムの数を取得する

GetInnerEdgeNum

int GetInnerEdgeNum(int)

トリム面を構成する内側トリムを構成するエッジの数を取得する

GetOuterCompC

COMPC *GetOuterCompC()

トリム面を構成する外側トリム曲線(複合曲線)へのポインタを取得する

GetInnerCompC

COMPC *GetInnerCompC(int)

トリム面を構成する内側トリム曲線(複合曲線)へのポインタを取得する

Variables

*pts

NURBSS *pts

トリムされるSurface EntityのDE部へのポインタ

n1

int n1

0:外周がDの境界と一致、1:それ以外

n2

int n2

Trimmed Surfaceの内周にあたる単純閉曲線の数

*pTO

CONPS *pTO

Trimmed Surfaceの外周にあたる単純閉曲線構造体へのポインタ

**pTI

CONPS **pTI

Trimmed Surfaceの内周にあたる単純閉曲線構造体へのポインタ

pD

int pD

ディレクトリ部への逆ポインタ

Types

TRMS

TRIMD_NURBSSトリム面に対してNurbs曲面を想起させる名称を与えておく

OBJECT

ピックされたオブジェクトを示す構造体

Variables

int BodyBODYオブジェクトの番号
int Typeエンティティタイプのシンボル(NURBS曲線:126 , NURBS曲面:128 , トリム面:144)
int NumTypeにおける要素番号(NURBS曲線が4本あったら、その4本に割り当てられた0~3の番号)
int CCount何番目にピックされた曲線かを表す
int SCount何番目にピックされた曲面かを表す

BODY

class BODY

全てのエンティティを統括するBODYクラス

Summary
Functions
BODYBODYクラスのコンストラクタ.各種初期化
NewBodyElemBODYを構成する全要素のメモリー確保
DelBodyElemBODYを構成する全要素のメモリー解放
DelBodyElem指定したTypeNum[]分のメモリーを解放
NewCirACIRAを指定した数だけメモリー確保し,初期化する
NewCompCCOMPCを指定した数だけメモリー確保し,初期化する
NewConACONAを指定した数だけメモリー確保し,初期化する
NewLineLINE_を指定した数だけメモリー確保し,初期化する
NewTMatTMATを指定した数だけメモリー確保し,初期化する
NewNurbsCNURBSCを指定した数だけメモリー確保し,初期化する
NewNurbsSNURBSSを指定した数だけメモリー確保し,初期化する
NewConpSCONPSを指定した数だけメモリー確保し,初期化する
NewTrmSTRMSを指定した数だけメモリー確保し,初期化する
RotBodyBODYの回転
ShiftBodyBODYのシフト
ExpandBodyBODYの拡大縮小
RegistBody自分を新たなBODYとして登録する
DeleteBody自分自身を消去する
RegistNurbsCtoBody1つのNURBS曲線を新たなBODYとして登録する
RegistNurbsCtoBodyNN個のNURBS曲線を新たなBODYとして登録する
RegistNurbsStoBody1つのNURBS曲面を新たなBODYとして登録する
RegistNurbsStoBodyNN個のNURBS曲面を新たなBODYとして登録する
ChangeStatColorエンティティのステータスで定義されている色を変更
InitCurveColor線の色の初期値を与える
InitSurfaceColor面の色の初期値を与える
GetNurbsCFromLine直線エンティティをNURBS曲線エンティティへと変換する
GetNurbsCFromCirA円・円弧エンティティをNURBS曲線エンティティへと変換する
CheckTheSameNurbsC(private)同一のNURBS曲線を探索
CirAToNurbsC_seg1(private)円・円弧エンティティが1セグメントの場合
CirAToNurbsC_seg2(private)円・円弧エンティティが2セグメントの場合
CirAToNurbsC_seg3(private)円・円弧エンティティが3セグメントの場合
CirAToNurbsC_seg4(private)円・円弧エンティティが4セグメントの場合
Variables
*CirA円・円弧
*CompC複合曲線
*ConA円錐曲線
*Line線分
*TMat変換行列
*NurbsCNURBS曲線
*NurbsSNURBS曲面
*ConpS面上線
*TrmSトリム面
TypeNum[ALL_ENTITY_TYPE_NUM]BODYを構成する各エンティティの数を格納した配列
*MeshHalf-Edge構造メッシュ(リスト構造、リストの先頭アドレスを示す)
MaxCoord立体の寸法の最大値(この値で初期表示倍率を決定)
Name[FNAMEMAX]BODY名
*Mom自分が属する親(BodyList)のアドレス

Functions

BODY

BODY()

BODYクラスのコンストラクタ.各種初期化

NewBodyElem

void NewBodyElem()

BODYを構成する全要素のメモリー確保

DelBodyElem

void DelBodyElem()

BODYを構成する全要素のメモリー解放

DelBodyElem

void DelBodyElem(int [])

指定したTypeNum[]分のメモリーを解放

NewCirA

CIRA *NewCirA(int)

CIRAを指定した数だけメモリー確保し,初期化する

NewCompC

COMPC *NewCompC(int)

COMPCを指定した数だけメモリー確保し,初期化する

NewConA

CONA *NewConA(int)

CONAを指定した数だけメモリー確保し,初期化する

NewLine

LINE_ *NewLine(int)

LINE_を指定した数だけメモリー確保し,初期化する

NewTMat

TMAT *NewTMat(int)

TMATを指定した数だけメモリー確保し,初期化する

NewNurbsC

NURBSC *NewNurbsC(int)

NURBSCを指定した数だけメモリー確保し,初期化する

NewNurbsS

NURBSS *NewNurbsS(int)

NURBSSを指定した数だけメモリー確保し,初期化する

NewConpS

CONPS *NewConpS(int)

CONPSを指定した数だけメモリー確保し,初期化する

NewTrmS

TRMS *NewTrmS(int)

TRMSを指定した数だけメモリー確保し,初期化する

RotBody

void RotBody(Coord,
double)

BODYの回転

ShiftBody

void ShiftBody(Coord)

BODYのシフト

ExpandBody

void ExpandBody(Coord)

BODYの拡大縮小

RegistBody

void RegistBody(BODYList *,
const char [])

自分を新たなBODYとして登録する

DeleteBody

void DeleteBody(BODYList *)

自分自身を消去する

RegistNurbsCtoBody

void RegistNurbsCtoBody(BODYList *,
 NURBSC,
const char [])

1つのNURBS曲線を新たなBODYとして登録する

RegistNurbsCtoBodyN

void RegistNurbsCtoBodyN(BODYList *,
NURBSC [],
const char [],
 int)

N個のNURBS曲線を新たなBODYとして登録する

RegistNurbsStoBody

void RegistNurbsStoBody(BODYList *,
 NURBSS,
const char [])

1つのNURBS曲面を新たなBODYとして登録する

RegistNurbsStoBodyN

void RegistNurbsStoBodyN(BODYList *,
NURBSS [],
const char [],
 int)

N個のNURBS曲面を新たなBODYとして登録する

ChangeStatColor

void ChangeStatColor(float *,
 float,
 float,
 float,
 float)

エンティティのステータスで定義されている色を変更

InitCurveColor

void InitCurveColor(float *)

線の色の初期値を与える

InitSurfaceColor

void InitSurfaceColor(float *)

面の色の初期値を与える

GetNurbsCFromLine

int GetNurbsCFromLine(int,
int)

直線エンティティをNURBS曲線エンティティへと変換する

GetNurbsCFromCirA

int GetNurbsCFromCirA(int,
int)

円・円弧エンティティをNURBS曲線エンティティへと変換する

CheckTheSameNurbsC

NURBSC *CheckTheSameNurbsC(NURBSC *,
 int,
NURBSC *)

(private)同一のNURBS曲線を探索

CirAToNurbsC_seg1

int CirAToNurbsC_seg1( int,
 int,
Coord [],
 double)

(private)円・円弧エンティティが1セグメントの場合

CirAToNurbsC_seg2

int CirAToNurbsC_seg2( int,
 int,
Coord [],
 double)

(private)円・円弧エンティティが2セグメントの場合

CirAToNurbsC_seg3

int CirAToNurbsC_seg3( int,
 int,
Coord [],
 double)

(private)円・円弧エンティティが3セグメントの場合

CirAToNurbsC_seg4

int CirAToNurbsC_seg4( int,
 int,
Coord [],
 double)

(private)円・円弧エンティティが4セグメントの場合

Variables

*CirA

CIRA *CirA

円・円弧

*CompC

COMPC *CompC

複合曲線

*ConA

CONA *ConA

円錐曲線

*Line

LINE_ *Line

線分

*TMat

TMAT *TMat

変換行列

*NurbsC

NURBSC *NurbsC

NURBS曲線

*NurbsS

NURBSS *NurbsS

NURBS曲面

*ConpS

CONPS *ConpS

面上線

*TrmS

TRMS *TrmS

トリム面

TypeNum[ALL_ENTITY_TYPE_NUM]

int TypeNum[ALL_ENTITY_TYPE_NUM]

BODYを構成する各エンティティの数を格納した配列

*Mesh

MESH *Mesh

Half-Edge構造メッシュ(リスト構造、リストの先頭アドレスを示す)

MaxCoord

double MaxCoord

立体の寸法の最大値(この値で初期表示倍率を決定)

Name[FNAMEMAX]

char Name[FNAMEMAX]

BODY名

*Mom

Data *Mom

自分が属する親(BodyList)のアドレス

int GetOuterEdgeNum()
トリム面を構成する外側エッジの数を取得する
int GetInnerTrmNum()
トリム面を構成する内側トリムの数を取得する
int GetInnerEdgeNum(int)
トリム面を構成する内側トリムを構成するエッジの数を取得する
COMPC *GetOuterCompC()
トリム面を構成する外側トリム曲線(複合曲線)へのポインタを取得する
COMPC *GetInnerCompC(int)
トリム面を構成する内側トリム曲線(複合曲線)へのポインタを取得する
NURBSS *pts
トリムされるSurface EntityのDE部へのポインタ
int n1
0:外周がDの境界と一致、1:それ以外
int n2
Trimmed Surfaceの内周にあたる単純閉曲線の数
CONPS *pTO
Trimmed Surfaceの外周にあたる単純閉曲線構造体へのポインタ
CONPS **pTI
Trimmed Surfaceの内周にあたる単純閉曲線構造体へのポインタ
int pD
ディレクトリ部への逆ポインタ
class BODY
全てのエンティティを統括するBODYクラス
BODY()
BODYクラスのコンストラクタ.各種初期化
void NewBodyElem()
BODYを構成する全要素のメモリー確保
void DelBodyElem()
BODYを構成する全要素のメモリー解放
CIRA *NewCirA(int)
CIRAを指定した数だけメモリー確保し,初期化する
COMPC *NewCompC(int)
COMPCを指定した数だけメモリー確保し,初期化する
CONA *NewConA(int)
CONAを指定した数だけメモリー確保し,初期化する
LINE_ *NewLine(int)
LINE_を指定した数だけメモリー確保し,初期化する
TMAT *NewTMat(int)
TMATを指定した数だけメモリー確保し,初期化する
NURBSC *NewNurbsC(int)
NURBSCを指定した数だけメモリー確保し,初期化する
NURBSS *NewNurbsS(int)
NURBSSを指定した数だけメモリー確保し,初期化する
CONPS *NewConpS(int)
CONPSを指定した数だけメモリー確保し,初期化する
TRMS *NewTrmS(int)
TRMSを指定した数だけメモリー確保し,初期化する
void RotBody(Coord,
double)
BODYの回転
void ShiftBody(Coord)
BODYのシフト
void ExpandBody(Coord)
BODYの拡大縮小
void RegistBody(BODYList *,
const char [])
自分を新たなBODYとして登録する
void DeleteBody(BODYList *)
自分自身を消去する
void RegistNurbsCtoBody(BODYList *,
 NURBSC,
const char [])
1つのNURBS曲線を新たなBODYとして登録する
void RegistNurbsCtoBodyN(BODYList *,
NURBSC [],
const char [],
 int)
N個のNURBS曲線を新たなBODYとして登録する
void RegistNurbsStoBody(BODYList *,
 NURBSS,
const char [])
1つのNURBS曲面を新たなBODYとして登録する
void RegistNurbsStoBodyN(BODYList *,
NURBSS [],
const char [],
 int)
N個のNURBS曲面を新たなBODYとして登録する
void ChangeStatColor(float *,
 float,
 float,
 float,
 float)
エンティティのステータスで定義されている色を変更
void InitCurveColor(float *)
線の色の初期値を与える
void InitSurfaceColor(float *)
面の色の初期値を与える
int GetNurbsCFromLine(int,
int)
直線エンティティをNURBS曲線エンティティへと変換する
int GetNurbsCFromCirA(int,
int)
円・円弧エンティティをNURBS曲線エンティティへと変換する
NURBSC *CheckTheSameNurbsC(NURBSC *,
 int,
NURBSC *)
(private)同一のNURBS曲線を探索
int CirAToNurbsC_seg1( int,
 int,
Coord [],
 double)
(private)円・円弧エンティティが1セグメントの場合
int CirAToNurbsC_seg2( int,
 int,
Coord [],
 double)
(private)円・円弧エンティティが2セグメントの場合
int CirAToNurbsC_seg3( int,
 int,
Coord [],
 double)
(private)円・円弧エンティティが3セグメントの場合
int CirAToNurbsC_seg4( int,
 int,
Coord [],
 double)
(private)円・円弧エンティティが4セグメントの場合
CIRA *CirA
円・円弧
COMPC *CompC
複合曲線
CONA *ConA
円錐曲線
LINE_ *Line
線分
TMAT *TMat
変換行列
NURBSC *NurbsC
NURBS曲線
NURBSS *NurbsS
NURBS曲面
CONPS *ConpS
面上線
TRMS *TrmS
トリム面
int TypeNum[ALL_ENTITY_TYPE_NUM]
BODYを構成する各エンティティの数を格納した配列
MESH *Mesh
Half-Edge構造メッシュ(リスト構造、リストの先頭アドレスを示す)
double MaxCoord
立体の寸法の最大値(この値で初期表示倍率を決定)
char Name[FNAMEMAX]
BODY名
Data *Mom
自分が属する親(BodyList)のアドレス