C | |
CALC_OFFSET | |
CalcAnglePlaneVec | |
CalcApproximationCP_LSM, NURBS_Func | |
CalcBSbasis | |
CalcConstPitch | |
CalcConstScallop | |
CalcCubicEquation | |
CalcCurvatureNurbsC | |
CalcDeltaPtsOnNurbsC | |
CalcDeltaPtsOnNurbsS | |
CalcDiff2NurbsC | |
CalcDiffBSbasis | |
CalcDiffBSbasisN | |
CalcDiffNNurbsC | |
CalcDiffNNurbsS | |
CalcDiffNurbsC, NURBS_Func | |
CalcDiffNurbsSDenom | |
CalcDiffNurbsSNumer | |
CalcDiffuNormVecOnNurbsS | |
CalcDiffuNurbsS | |
CalcDiffvNormVecOnNurbsS | |
CalcDiffvNurbsS | |
CalcDistance | |
CalcDistance2D | |
CalcDistPtToPlane | |
CalcEquation | |
CalcEuclid | |
CalcEuclid2D | |
CalcExtGradCurve | |
CalcExtremumNurbsC | |
CalcExtSearchCurve | |
CalcFaceArea | |
CalcFaceNorm | |
CalcGaussCurvature | |
CalcGaussCurvatureNormVec | |
CalcInnerProduct | |
CalcInterDivPt | |
CalcIntersecCurve | |
CalcIntersecCurve3 | |
CalcIntersecIsparaCurveU | |
CalcIntersecIsparaCurveV | |
CalcIntersecPtNurbsPt | |
CalcIntersecPtNurbsPtDescrete | |
CalcIntersecPtsNurbsCLine, NURBS_Func | |
CalcIntersecPtsNurbsCLineSeg, NURBS_Func | |
CalcIntersecPtsNurbsCNurbsCParam | |
CalcIntersecPtsNurbsSGeom | |
CalcIntersecPtsNurbsSNurbsC | |
CalcIntersecPtsNurbsSSearch | |
CalcIntersecPtsOffsetPlaneGeom, NURBS_Func | |
CalcIntersecPtsOffsetPlaneSearch | |
CalcIntersecPtsPlaneGeom, NURBS_Func | |
CalcIntersecPtsPlaneSearch | |
CalcIntersecPtsPlaneSearch_Sub | |
CalcIntersecPtsPlaneU | |
CalcIntersecPtsPlaneU3 | |
CalcIntersecPtsPlaneV | |
CalcIntersecPtsPlaneV3 | |
CalcLinearEquation | |
CalcMeanCurvature | |
CalcMeanCurvatureNormVec | |
CalcNormalLine | |
CalcNormVecFrom3Pts | |
CalcNormVecOnNurbsS | |
CalcNurbsCCoord | |
CalcNurbsCCoords | |
CalcNurbsCLength | |
CalcNurbsSCoord | |
CalcNurbsSCoords | |
CalcOrthoProjection | |
CalcOuterProduct | |
CalcOuterProduct2D | |
CalcParamLengthOnNurbsC | |
CalcPolygonArea | |
CalcQuadraticEquation | |
CalcRotVec | |
CalcRotVec2D | |
CalcScalarTriProduct | |
CalcTanVecOnNurbsC | |
CalcuIntersecPtNurbsLine | |
CalcUVvec | |
CalcVecAngle | |
CalcVecAngle2D | |
CatchStringD, IGES_PARSER | |
CatchStringI, IGES_PARSER | |
CatCoord | |
CCW | |
ChangeBackColor | |
ChangeEnd | |
ChangeEntityforNurbs | |
ChangeHead | |
ChangeKnot | |
ChangeKnotVecRange | |
changeRank, KODatUNO | |
ChangeRank | |
ChangeStatColor | |
ChangeView_Proc | |
ChangeViewDown | |
ChangeViewLeft | |
ChangeViewRight | |
ChangeViewUp | |
ChangeViewX | |
ChangeViewXYZ | |
ChangeViewY | |
ChangeViewZ | |
CheckClossedPoints | |
CheckCurPos | |
CheckCWforTrim | |
CheckDegenracy | |
CheckMag | |
CheckRange | |
CheckSection | |
CheckTags | |
CheckTheSameNurbsC, BODY | |
CheckTheSamePoints | |
CheckTheSamePoints2D | |
CheckZero | |
ChRatioNurbsC | |
ChRatioNurbsS | |
CIRA | |
CirAToNurbsC_seg1, BODY | |
CirAToNurbsC_seg2, BODY | |
CirAToNurbsC_seg3, BODY | |
CirAToNurbsC_seg4, BODY | |
CIRCLE_ARC | |
ClacIntersecPtsNurbsCLine | |
ClacIntersecPtsNurbsCLineSeg | |
ClacPolygonArea2D | |
CLASS_SECTION | |
clear | |
ClearSeldEntList | |
ClickPicking | |
closeEvent | |
CmdChBkCol | |
CmdChRank | |
CmdChScale | |
CmdChTolerance | |
CmdCPView | |
CmdExpand | |
CmdFileOpen | |
CmdGenNurbsCurve | |
CmdGenNurbsSurface | |
CmdGenRotSurf | |
CmdGenSweepSurf | |
CmdMap, KODatUNO | |
CmdMeshInf | |
CmdMoveBody | |
CmdRotateBody | |
CmdStack, KODatUNO | |
CmdStackNow, KODatUNO | |
CmdStackNum, KODatUNO | |
CmdSurfInfo | |
CmdUVdir | |
CmdUVview | |
CmdUVWire | |
CmdVerInf | |
cod, HEvert | |
Command | |
Command.cpp | |
Command.h | |
CommandMap | |
CommandMap:: | |
CommandMap:: | |
CommandMap:: | |
CommandMap:: | |
COMMANDNUMMAX | |
COMPC | |
COMPELEM | |
COMPOSITE_CURVE | |
CONA | |
Cone | |
CONIC_ARC | |
ConnectNurbsC | |
ConnectNurbsSU | |
ConnectNurbsSV | |
CONPS | |
Console_Expose | |
Console_KeyHook | |
Console_Proc | |
Console_Proc.cpp | |
ConsoleCharNum, KODatUNO | |
Constants GE\ | |
Constants and Types | |
CONVDIVNUM | |
CONVERG_GAP | |
Coord | |
COORD_X | |
COORD_X_ | |
COORD_Y | |
COORD_Y_ | |
COORD_Z | |
COORD_Z_ | |
Coordinate3 | |
COORDINDEX | |
CoordToArray | |
CoordToArray2D | |
COPIOUS_DATA | |
CopyBody | |
CopyCoord | |
CopyCoord2D | |
CopyVector | |
Count, DXF_PARSER | |
CPViewFlag, KODatUNO | |
CTLPNUMMAX | |
CtoQ | |
CtrlKeyFlag, KODatUNO | |
Cube | |
CurrentX, KODatUNO | |
CurrentY, KODatUNO | |
CURVE | |
CURVE_ON_PARAMETRIC_SURFACE | |
CW | |
Cylinder |
平面と直線とのなす角を求める
double CalcAnglePlaneVec( Coord a, Coord n )
平面と直線とのなす角を求める
double CalcAnglePlaneVec( Coord, Coord )
(private)最小2乗法で近似コントロールポイントを求める
void CalcApproximationCP_LSM( Coord * , Vector, Vector, int, int, int, int, Coord * )
Bスプライン基底関数を計算し、計算結果を返す
double NURBS_Func::CalcBSbasis( double t, double knot[], int N, int I, int M )
Bスプライン基底関数を計算し、計算結果を返す
double CalcBSbasis( double, double [], int, int, int )
等ピッチ点を算出
int NURBS_Func::CalcConstPitch( NURBSS * S, NURBSC * C, double t0, double ds, double * t, int direct )
等ピッチ点を算出
int CalcConstPitch( NURBSS * , NURBSC * , double, double, double * , int )
等スキャロップ点を算出
int NURBS_Func::CalcConstScallop( NURBSS * S, NURBSC * C, double t, double g, double * u, double * v, int direct )
等スキャロップ点を算出
int CalcConstScallop( NURBSS * , NURBSC * , double, double, double * , double * , int )
3次方程式を解く
int CalcCubicEquation( double * p, double * ans )
3次方程式の解を求める
int CalcCubicEquation( double * , double * )
NURBS曲線の曲率を求める
double NURBS_Func::CalcCurvatureNurbsC( NURBSC * C, double t )
NURBS曲線の曲率を求める
double CalcCurvatureNurbsC( NURBSC * , double )
指定した分割数でNURBS曲線上の座標値を出力する
int NURBS_Func::CalcDeltaPtsOnNurbsC( NURBSC * Nurb, int D, Coord * Pts )
指定した分割数でNURBS曲線上の座標値を求める
int CalcDeltaPtsOnNurbsC( NURBSC * , int, Coord * )
指定した分割数でNURBS曲面上の座標値を求める
int NURBS_Func::CalcDeltaPtsOnNurbsS( NURBSS * S, int Du, int Dv, Coord ** Pts )
指定した分割数でNURBS曲面上の座標値を求める
int CalcDeltaPtsOnNurbsS( NURBSS * , int, int, Coord ** )
NURBS曲線の2階微分係数を求める
Coord NURBS_Func::CalcDiff2NurbsC( NURBSC * NurbsC, double t )
NURBS曲線の2階微分係数を求める
Coord CalcDiff2NurbsC( NURBSC * , double )
Bスプライン基底関数の1階微分係数を求める
double NURBS_Func::CalcDiffBSbasis( double t, double knot[], int N, int I, int M )
Bスプライン基底関数の1階微分係数を求める
double CalcDiffBSbasis( double, double [], int, int, int )
Bスプライン基底関数のN階微分係数を求める
double NURBS_Func::CalcDiffBSbasisN( double t, double knot[], int N, int I, int M, int Dn )
Bスプライン基底関数のN階微分係数を求める
double CalcDiffBSbasisN( double, double [], int, int, int, int )
NURBS曲線のr階微分係数を求める
Coord NURBS_Func::CalcDiffNNurbsC( NURBSC * NurbsC, int r, double t )
NURBS曲線のr階微分係数を求める
Coord CalcDiffNNurbsC( NURBSC * , int, double )
NURBS曲面の各方向を任意階微分したときの微分係数を求める
Coord NURBS_Func::CalcDiffNNurbsS( NURBSS * S, int k, int l, double u, double v )
NURBS曲面の各方向を任意階微分したときの微分係数を求める
Coord CalcDiffNNurbsS( NURBSS * , int, int, double, double )
NURBS曲線の1階微分係数を求める
Coord CalcDiffNurbsC( NURBSC * , double )
(private)NURBS曲面分母の各方向を任意階微分したときの微分係数を求める
double NURBS_Func::CalcDiffNurbsSDenom( NURBSS * S, int k, int l, double u, double v )
(private)NURBS曲面分母の各方向を任意階微分したときの微分係数を求める
double CalcDiffNurbsSDenom( NURBSS * , int, int, double, double )
(private)NURBS曲面分子の各方向を任意階微分したときの微分係数を求める
Coord NURBS_Func::CalcDiffNurbsSNumer( NURBSS * S, int k, int l, double u, double v )
(private)NURBS曲面分子の各方向を任意階微分したときの微分係数を求める
Coord CalcDiffNurbsSNumer( NURBSS * , int, int, double, double )
NURBS曲面上の(u,v)における法線ベクトルのu方向1階微分をもとめる Nu = Suu×Sv + Su×Suv
Coord NURBS_Func::CalcDiffuNormVecOnNurbsS( NURBSS * nurb, double u, double v )
NURBS曲面上の(u,v)における法線ベクトルのu方向1階微分をもとめる
Coord CalcDiffuNormVecOnNurbsS( NURBSS * , double, double )
NURBS曲面のu方向の1階微分係数を得る
Coord NURBS_Func::CalcDiffuNurbsS( NURBSS * NurbsS, double div_u, double div_v )
NURBS曲面のu方向1階微分係数を求める
Coord CalcDiffuNurbsS( NURBSS * , double, double )
NURBS曲面上の(u,v)における法線ベクトルのv方向1階微分をもとめる Nv = Suv×Sv + Su×Svv
Coord NURBS_Func::CalcDiffvNormVecOnNurbsS( NURBSS * nurb, double u, double v )
NURBS曲面上の(u,v)における法線ベクトルのv方向1階微分をもとめる
Coord CalcDiffvNormVecOnNurbsS( NURBSS * , double, double )
NURBS曲面のv方向の1階微分係数を得る
Coord NURBS_Func::CalcDiffvNurbsS( NURBSS * NurbsS, double div_u, double div_v )
NURBS曲面のv方向1階微分係数を求める
Coord CalcDiffvNurbsS( NURBSS * , double, double )
2点間のユークリッド距離を求める
double CalcDistance( Coord a, Coord b )
2点間のユークリッド距離を求める
double CalcDistance( Coord, Coord )
2次元座標上での2点間のユークリッド距離を算出
double CalcDistance2D( Coord a, Coord b )
2次元座標上での2点間のユークリッド距離を算出 (2D Ver.)
double CalcDistance2D( Coord, Coord )
任意の点から任意の平面までの距離を求める
double CalcDistPtToPlane( Coord Pt, Coord P0, Coord N )
任意の点から任意の平面までの距離を求める
double CalcDistPtToPlane( Coord, Coord, Coord )
(private)CalcIntersecCurve3(), CalcIntersecPtsPlaneU/V3()のサブ関数.3次方程式までを解く
int NURBS_Func::CalcEquation( double * a, double * t, int M )
(private)3次方程式までを判別して解く
int CalcEquation( double * , double * , int )
ユークリッド距離を算出
double CalcEuclid( Coord a )
ユークリッド距離をもとめる
double CalcEuclid( Coord )
2次元ユークリッド距離を算出
double CalcEuclid2D( double a, double b )
ユークリッド距離をもとめる (2D Ver.)
double CalcEuclid2D( double, double )
(準備中)極値傾斜線を得る
int NURBS_Func::CalcExtGradCurve( NURBSS * S, Coord n, Coord pt, double ds, NURBSC * C1, NURBSC * C2 )
NURBS曲線の指定した方向における極値の座標値を得る
int NURBS_Func::CalcExtremumNurbsC( NURBSC * C, Coord nf, double * pt, int ptnum )
NURBS曲線の指定した方向における極値の座標値を得る
int CalcExtremumNurbsC( NURBSC * , Coord, double * , int )
(準備中)極値探索線を得る
int NURBS_Func::CalcExtSearchCurve( NURBSS * S, Coord n, Coord pt, double ds, NURBSC * C1, NURBSC * C2 )
指定した面fの面積を求め、f->areaにセットする
int MESH::CalcFaceArea( HEface * f )
指定した面fの面積を求め、f->areaにセットする
int CalcFaceArea( HEface * )
指定した面fの法線ベクトルを求め、f->normにセットする
int MESH::CalcFaceNorm( HEface * f )
指定した面fの法線ベクトルを求め、f->normにセットする
int CalcFaceNorm( HEface * )
NURBS曲面上の(u,v)におけるガウス曲率を求める
double NURBS_Func::CalcGaussCurvature( NURBSS * nurb, double u, double v )
NURBS曲面上の(u,v)におけるガウス曲率を求める
double CalcGaussCurvature( NURBSS * , double, double )
NURBS曲面上の(u,v)におけるガウス曲率法線ベクトルをもとめる
Coord NURBS_Func::CalcGaussCurvatureNormVec( NURBSS * nurb, double u, double v )
NURBS曲面上の(u,v)におけるガウス曲率法線ベクトルを求める
Coord CalcGaussCurvatureNormVec( NURBSS * , double, double )
内積を求める
double CalcInnerProduct( Coord a, Coord b )
内積を求める
double CalcInnerProduct( Coord, Coord )
2点p(t=0),q(t=1)をt(0~1)で内分したときの点の座標をもとめる
Coord CalcInterDivPt( Coord p, Coord q, double t )
2点間の内分点を求める
Coord CalcInterDivPt( Coord, Coord, double )
NURBS曲線と平面との交点を求める(ニュートン法) F(t) = nvec・(C(t)-pt) = 0をニュートン法を用いて求める. 交点は最大で(M-1)*(K-M+1)点得られる.
int NURBS_Func::CalcIntersecCurve( NURBSC * nurb, Coord pt, Coord nvec, int Divnum, double * ans, int ans_size, int LoD )
NURBS曲線と平面との交点を求める(ニュートン法)
int CalcIntersecCurve( NURBSC * , Coord, Coord, int, double * , int, int )
NURBS曲線と平面との交点を求める(3次まで対応) 交点は最大で(M-1)*(K-M+1)点得られる.
int NURBS_Func::CalcIntersecCurve3( NURBSC * nurb, Coord pt, Coord nvec, double * ans, int ans_size )
3次以下のNURBS曲線と平面との交点を求める
int CalcIntersecCurve3( NURBSC * , Coord, Coord, double * , int )
NURBS曲面のU方向アイソパラ曲線(Vパラメータを固定)と平面との交点を求める(ニュートン法) F(t) = nvec・(C(t)-pt) = 0をニュートン法を用いて求める 交点は最大で(M-1)*(K-M+1)点得られる.
int NURBS_Func::CalcIntersecIsparaCurveU( NURBSS * nurb, double V, Coord pt, Coord nvec, int Divnum, double * ans, int ans_size )
u方向アイソパラ曲線と平面との交点を求める(ニュートン法)
int CalcIntersecIsparaCurveU( NURBSS * , double, Coord, Coord, int, double * , int )
NURBS曲面のV方向アイソパラ曲線(Uパラメータを固定)と平面との交点を求める(ニュートン法) F(t) = nvec・(C(t)-pt) = 0をニュートン法を用いて求める 交点は最大で(M-1)*(K-M+1)点得られる.
int NURBS_Func::CalcIntersecIsparaCurveV( NURBSS * nurb, double U, Coord pt, Coord nvec, int Divnum, double * ans, int ans_size )
v方向アイソパラ曲線と平面との交点を求める(ニュートン法)
int CalcIntersecIsparaCurveV( NURBSS * , double, Coord, Coord, int, double * , int )
空間上の1点PからNURBS曲面S上の最近傍点Qを求める(ニュートン法)
int NURBS_Func::CalcIntersecPtNurbsPt( NURBSS * S, Coord P, int Divnum, int LoD, Coord * Q )
空間上の1点からNURBS曲面上の最近傍点を求める(ニュートン法)
int CalcIntersecPtNurbsPt( NURBSS * , Coord, int, int, Coord * )
空間上の1点PからNURBS曲面S上の最近傍点Qを求める(離散的)
void NURBS_Func::CalcIntersecPtNurbsPtDescrete( NURBSS * S, Coord P, int Divnum, int LoD, double Us, double Ue, double Vs, double Ve, Coord * Q )
空間上の1点からNURBS曲面上の最近傍点を求める(離散的)
void CalcIntersecPtNurbsPtDescrete( NURBSS * , Coord , int , int , double , double , double , double , Coord * )
(x,y)平面上のNURBS曲線同士の交点を求める(ニュートン法)
int NURBS_Func::CalcIntersecPtsNurbsCNurbsCParam( NURBSC * NurbA, NURBSC * NurbB, int Divnum, Coord * ans, int ans_size )
2次元NURBS曲線同士の交点を求める
int CalcIntersecPtsNurbsCNurbsCParam( NURBSC * , NURBSC * , int, Coord * , int )
NURBS曲面S(u,v)とNURBS曲面R(w,t)の交線(交点群)を幾何学的に求める(補助平面を用いた解法)
int NURBS_Func::CalcIntersecPtsNurbsSGeom( NURBSS * nurbR, NURBSS * nurbS, int u_divnum, int v_divnum, Coord * ansR, Coord * ansS, int ans_size )
NURBS曲面同士の交線上の点を幾何学的にいくつか求める
int CalcIntersecPtsNurbsSGeom( NURBSS * , NURBSS * , int, int, Coord * , Coord * , int )
NURBS曲面とNURBS曲線との交点群を交線追跡法で求める
int NURBS_Func::CalcIntersecPtsNurbsSNurbsC( NURBSS * NurbsS, NURBSC * NurbsC, int Divnum, Coord * ans, int ans_size )
NURBS曲面とNURBS曲線との交点を求める(ニュートン法)
int CalcIntersecPtsNurbsSNurbsC( NURBSS * , NURBSC * , int, Coord * , int )
NURBS曲面S(u,v)とNURBS曲面R(w,t)の交線(交点群)を交点追跡法にて求める
int NURBS_Func::CalcIntersecPtsNurbsSSearch( NURBSS * nurbR, NURBSS * nurbS, int div, double ds, Coord * ansR, Coord * ansS, int ans_size )
NURBS曲面同士の交線(交点群)を交線追跡法で求める
int CalcIntersecPtsNurbsSSearch( NURBSS * , NURBSS * , int, double, Coord * , Coord * , int )
オフセットNURBS曲面と平面と交点追跡用初期点を得る(補助平面を用いた方法)(準備中)
int CalcIntersecPtsOffsetPlaneGeom( NURBSS * , double, Coord, Coord, int, Coord * , int )
オフセットNURBS曲面と平面との交点群を交点追跡法にて求める
int NURBS_Func::CalcIntersecPtsOffsetPlaneSearch( NURBSS * nurb, double os, Coord pt, Coord nvec, double ds, int initdivnum, Coord * ans, int ans_size )
オフセットNURBS曲面と平面との交点群を交線追跡法で求める(準備中)
int CalcIntersecPtsOffsetPlaneSearch( NURBSS * , double, Coord, Coord, double, int, Coord * , int )
NURBS曲面と平面と交点追跡用初期点を得る(補助平面を用いた方法)
int CalcIntersecPtsPlaneGeom( NURBSS * , Coord, Coord, int, int, Coord * , int )
NURBS曲面と平面との交点群を交点追跡法にて求める
int NURBS_Func::CalcIntersecPtsPlaneSearch( NURBSS * nurb, Coord pt, Coord nvec, double ds, int initdivnum, Coord * ans, int ans_size, int method )
NURBS曲面と平面との交点群を交線追跡法で求める
int CalcIntersecPtsPlaneSearch( NURBSS * , Coord, Coord, double, int, Coord * , int, int )
(private)平面とNURBS曲面との交点群を求める関数CalcIntersecPtsPlaneSearch()のサブ関数. 面から飛び出した(u,v)を参考に面のエッジ部における交点(new_u,new_v)を得る
Coord NURBS_Func::CalcIntersecPtsPlaneSearch_Sub( NURBSS * nurb, double u, double v, Coord pt, Coord nvec )
(private)面から飛び出した(u,v)を参考に面のエッジ部(new_u,new_v)を得る
Coord CalcIntersecPtsPlaneSearch_Sub( NURBSS * , double, double, Coord, Coord )
U方向のアイソパラ曲線を指定した分割数で生成し,各曲線とNURBS曲面との交点を算出する
int NURBS_Func::CalcIntersecPtsPlaneU( NURBSS * nurbss, Coord pt, Coord nvec, int u_divnum, Coord * ans, int ans_size )
U方向のアイソパラ曲線を指定した分割数で生成し,各曲線とNURBS曲面との交点を算出する
int CalcIntersecPtsPlaneU( NURBSS * , Coord, Coord, int, Coord * , int )
3次以下のNURBS曲面と平面との交点群を代数解法にて求める(uパラメータ分割)
int NURBS_Func::CalcIntersecPtsPlaneU3( NURBSS * nurb, Coord pt, Coord nvec, int u_divnum, Coord * ans, int ans_size )
V方向のアイソパラ曲線を指定した分割数で生成し,各3次以下の曲線とNURBS曲面との交点を代数計算で算出する
int CalcIntersecPtsPlaneU3( NURBSS * , Coord, Coord, int, Coord * , int )
V方向のアイソパラ曲線を指定した分割数で生成し,各曲線とNURBS曲面との交点を算出する
int NURBS_Func::CalcIntersecPtsPlaneV( NURBSS * nurbss, Coord pt, Coord nvec, int v_divnum, Coord * ans, int ans_size )
V方向のアイソパラ曲線を指定した分割数で生成し,各曲線とNURBS曲面との交点を算出する
int CalcIntersecPtsPlaneV( NURBSS * , Coord, Coord, int, Coord * , int )
3次以下のNURBS曲面と平面との交点群を代数解法にて求める(vパラメータ分割)
int NURBS_Func::CalcIntersecPtsPlaneV3( NURBSS * nurb, Coord pt, Coord nvec, int v_divnum, Coord * ans, int ans_size )
V方向のアイソパラ曲線を指定した分割数で生成し,各3次以下の曲線とNURBS曲面との交点を代数計算で算出する
int CalcIntersecPtsPlaneV3( NURBSS * , Coord, Coord, int, Coord * , int )
1次方程式を解く
int CalcLinearEquation( double * a, double * ans )
1次方程式の解を求める
int CalcLinearEquation( double * , double * )
NURBS曲面上の(u,v)における平均曲率を求める
double NURBS_Func::CalcMeanCurvature( NURBSS * nurb, double u, double v )
NURBS曲面上の(u,v)における平均曲率を求める
double CalcMeanCurvature( NURBSS * , double, double )
NURBS曲面上の(u,v)における平均曲率法線ベクトルをもとめる
Coord NURBS_Func::CalcMeanCurvatureNormVec( NURBSS * nurb, double u, double v )
NURBS曲面上の(u,v)における平均曲率法線ベクトルを求める
Coord CalcMeanCurvatureNormVec( NURBSS * , double, double )
任意の点Pから任意の直線(点Aを通り単位ベクトルuの方向を持つ)へ下ろした点を求める
Coord CalcNormalLine( Coord P, Coord A, Coord u )
任意の点から任意の直線へ下ろした点を求める
Coord CalcNormalLine( Coord, Coord, Coord )
空間上の3点からなる平面の法線ベクトルを求める
Coord CalcNormVecFrom3Pts( Coord p1, Coord p2, Coord p3 )
空間上の3点からなる平面の法線ベクトルを求める
Coord CalcNormVecFrom3Pts( Coord, Coord, Coord )
NURBS曲面上の(u,v)における法線ベクトルをもとめる
Coord NURBS_Func::CalcNormVecOnNurbsS( NURBSS * nurb, double u, double v )
NURBS曲面上の(u,v)における法線ベクトルをもとめる
Coord CalcNormVecOnNurbsS( NURBSS * , double, double )
指定したノットtでのNURBS曲線の座標値を求める
Coord NURBS_Func::CalcNurbsCCoord( NURBSC * NurbsC, double t )
指定したtでのNURBS曲線の座標値を求める
Coord CalcNurbsCCoord( NURBSC * , double )
指定したノットt群でのNURBS曲線の座標値を求める
void NURBS_Func::CalcNurbsCCoords( NURBSC * NurbsC, int Ptnum, double * T, Coord * Pt )
指定したt群でのNURBS曲線の座標値群を求める
void CalcNurbsCCoords( NURBSC * , int, double * , Coord * )
NURBS曲線C(t)の指定パラメータ区間[a,b]の線分長Lを求める
double NURBS_Func::CalcNurbsCLength( NURBSC * Nurb, double a, double b )
NURBS曲線の線分長を求める
double CalcNurbsCLength( NURBSC * )
指定したノットu,vでのNURBS曲面の座標値を求める
Coord NURBS_Func::CalcNurbsSCoord( NURBSS * NurbsS, double div_u, double div_v )
指定したu,vでのNURBS曲面の座標点を求める
Coord CalcNurbsSCoord( NURBSS * , double, double )
指定したノットu,v群でのNURBS曲面の座標値群を求める
void NURBS_Func::CalcNurbsSCoords( NURBSS * NurbsS, int Ptnum, Coord * UV, Coord * Pt )
指定したu,v群でのNURBS曲面の座標値群を求める
void CalcNurbsSCoords( NURBSS * , int, Coord * , Coord * )
任意の点を任意の平面へ正射影する
Coord CalcOrthoProjection( Coord p, Coord n, Coord q )
任意の点を任意の平面へ正射影する
Coord CalcOrthoProjection( Coord, Coord, Coord )
外積を求める
Coord CalcOuterProduct( Coord a, Coord b )
外積を求める
Coord CalcOuterProduct( Coord, Coord )
外積を求める (2D Ver.)
double CalcOuterProduct2D( Coord a, Coord b )
外積を求める (2D Ver.)
double CalcOuterProduct2D( Coord, Coord )
NURBS曲線において一端からの指定距離におけるパラメータ値を返す
double NURBS_Func::CalcParamLengthOnNurbsC( NURBSC * C, double L, double Init_t )
NURBS曲線において一端からの指定距離におけるパラメータ値を返す
double CalcParamLengthOnNurbsC( NURBSC * , double, double )
空間上の多角形の面積を得る
double CalcPolygonArea( Coord p[], int Vnum )
2次方程式を解く
int CalcQuadraticEquation( double * a, double * ans )
2次方程式の解を求める
int CalcQuadraticEquation( double * , double * )
任意のベクトルを原点を通る任意軸周りに回転させたベクトルを求める
Coord CalcRotVec( Coord a, Coord e, double ang )
任意のベクトルを原点を通る任意軸周りに回転させたベクトルを求める(3D平面)
Coord CalcRotVec( Coord, Coord, double )
任意のベクトルを回転させたベクトルを求める(2D平面)
Coord CalcRotVec2D( Coord a, double angle )
任意のベクトルを回転させたベクトルを求める(2D平面)
Coord CalcRotVec2D( Coord, double )
スカラー三重積を求める
double CalcScalarTriProduct( Coord a, Coord b, Coord c )
スカラー三重積を求める
double CalcScalarTriProduct( Coord, Coord, Coord )
NURBS曲線上のtにおける単位接ベクトルをもとめる
Coord NURBS_Func::CalcTanVecOnNurbsC( NURBSC * C, double t )
NURBS曲線上のtにおける単位接ベクトルをもとめる
Coord CalcTanVecOnNurbsC( NURBSC * , double )
NURBS曲面と直線の交点を算出
int NURBS_Func::CalcuIntersecPtNurbsLine( NURBSS * Nurb, Coord r, Coord p, int Divnum, Coord * ans, int anssize, int LoD )
NURBS曲面と直線の交点を算出
int CalcuIntersecPtNurbsLine( NURBSS * , Coord, Coord, int, Coord * , int, int )
CIRAのUV直交座標を設定する
int DXF_PARSER::CalcUVvec( CIRA * Cira )
(private)CIRAのUV直交座標を設定する
int CalcUVvec( CIRA * )
2つのベクトルのなす角を求める(返値はrad)
double CalcVecAngle( Coord a, Coord b )
2つのベクトルのなす角を求める
double CalcVecAngle( Coord, Coord )
2つのベクトルのなす角を求める(2D平面)
double CalcVecAngle2D( Coord a, Coord b )
2つのベクトルのなす角を求める (2D Ver.)
double CalcVecAngle2D( Coord, Coord )
カンマまでの数値を読み込んで返す(double)
double CatchStringD( char ** )
カンマまでの数値を読み込んで返す(int)
int CatchStringI( char ** )
ある座標値配列の後ろに新たな座標値配列を繋げる
int CatCoord( Coord a[], Coord b[], int alim, int anum, int bnum )
ある配列の後ろに新たな配列を繋げる
int CatCoord( Coord [], Coord [], int, int, int )
背景の色を変更する
void KODatUNO::ChangeBackColor( double rgb[3] )
背景の色を変更する
void ChangeBackColor( double [] )
リストの末尾を指定したデータに変更する
void KODlistData::ChangeEnd( Data * d )
リストの末尾を変更
void ChangeEnd( Data * )
円,直線エンティティをNURBSに変換
int DXF_PARSER::ChangeEntityforNurbs( BODY * body )
(private)NURBS曲線以外のエンティティをNURBS曲線に変換
int ChangeEntityforNurbs( BODY * )
エンティティを全てNURBSへ変更する
int ChangeEntityforNurbs( DirectoryParam * , BODY, int )
リストの先頭を指定したデータに変更する
void KODlistData::ChangeHead( Data * d )
リストの先頭を変更
void ChangeHead( Data * )
ノットベクトルの範囲変更関数ChangeKnotVecRange()のサブ関数
double IGES_PARSER::ChangeKnot( double Knot, double M_, double K_, double val )
ノットベクトルの正規化sub2
double ChangeKnot( double , double , double, double )
ノットベクトルの範囲を0~valにする.
int IGES_PARSER::ChangeKnotVecRange( double Range[], double Knot[], int N, int M, int K, double val )
ノットベクトルの正規化sub1
int ChangeKnotVecRange( double [], double [], int, int, int, double )
ノットベクトルのパラメータ定義域を変更する
void ChangeKnotVecRange( Vector, int, int, int, double, double )
選択されている曲面のRankを変更する
void KODatUNO::ChangeRank( int Newrank[2] )
エンティティのステータスで定義されている色を変更
void BODY::ChangeStatColor( float * col, float r, float g, float b, float t )
エンティティのステータスで定義されている色を変更
void ChangeStatColor( float * , float, float, float, float )
視点切換ボタンのプロシージャ
void ChangeView_Proc( WSCbase * object )
Ctrl + 下矢印キーで15degづつBODYを回転させる
bool KODatUNO::ChangeViewDown()
Ctrl+下矢印キーで15degづつBODYを回転させる
bool ChangeViewDown()
Ctrl + 左矢印キーで15degづつBODYを回転させる
bool KODatUNO::ChangeViewLeft()
Ctrl+左矢印キーで15degづつBODYを回転させる
bool ChangeViewLeft()
Ctrl + 右矢印キーで15degづつBODYを回転させる
bool KODatUNO::ChangeViewRight()
Ctrl+右矢印キーで15degづつBODYを回転させる
bool ChangeViewRight()
Ctrl + 上矢印キーで15degづつBODYを回転させる
bool KODatUNO::ChangeViewUp()
Ctrl+上矢印キーで15degづつBODYを回転させる
bool ChangeViewUp()
X軸上からの視点に切り替える
void KODatUNO::ChangeViewX()
X軸上の視点に切り替える
void ChangeViewX()
鳥瞰視点に切り替える
void KODatUNO::ChangeViewXYZ()
鳥瞰視点に切り替える
void ChangeViewXYZ()
Y軸上からの視点に切り替える
void KODatUNO::ChangeViewY()
Y軸上の視点に切り替える
void ChangeViewY()
Z軸上からの視点に切り替える
void KODatUNO::ChangeViewZ()
Z軸上の視点に切り替える
void ChangeViewZ()
(private)指定した点が他の2点を対角とする立方体の中に存在するかを調べる
int NURBS_Func::CheckClossedPoints( Coord A, Coord B, Coord P )
(private)指定した点が他の2点を対角とする立方体の中に存在するかを調べる
int CheckClossedPoints( Coord, Coord, Coord )
カーソルの現在位置が最後の”>”以降にあるのかを調べる
bool QtConsole::CheckCurPos()
カーソルの現在位置が最後の”>”以降にあるのかを調べる
bool CheckCurPos()
トリムに使われている複合曲線からなる多角形が時計回りか反時計回りかを調べ、外周トリムは反時計回り、内周トリムは時計周りになるように変更する
int IGES_PARSER::CheckCWforTrim( BODY * body )
トリムに使われている複合曲線からなる多角形が時計回りか反時計回りかを調べ、外周トリムは反時計回り、内周トリムは時計周りになるように変更する
int CheckCWforTrim( BODY * )
縮退チェック
int IGES_PARSER::CheckDegenracy( BODY * body )
縮退(2Dパラメトリック曲線の始点と終点が一致しているか)のチェック
int CheckDegenracy( BODY * )
2つの値の大小比較
int CheckMag( double val1, double val2, int flag )
2つの値の大小比較
int CheckMag( double, double, int )
指定した値が指定した範囲内であるかをチェック
int CheckRange( double low, double up, double val, int flag )
指定した値が指定した範囲内であるかをチェック
int CheckRange( double, double, double, int )
セクション判別
int DXF_PARSER::CheckSection( char * str )
(private)セクション判別
int CheckSection( char * )
タグ解析
int VRML_PARSER::CheckTags( char buf[] )
(private)タグ解析
int CheckTags( char [] )
(private)同一のNURBS曲線を探索
NURBSC *CheckTheSameNurbsC( NURBSC * , int, NURBSC * )
同一点を除去する
int CheckTheSamePoints( Coord * P, int N )
同一点を除去する
int CheckTheSamePoints( Coord * , int )
2次元平面内の同一点を除去する (座標値はCoordのxとyで与える)
int CheckTheSamePoints2D( Coord * P, int N )
2D平面内の同一点を除去する
int CheckTheSamePoints2D( Coord * , int )
値がAPPROX_ZEROの範囲で0であるかチェック
int CheckZero( double val, int flag )
値がAPPROX_ZEROの範囲で0であるかチェック
int CheckZero( double, int )
NURBS曲線の倍率を変更する
void NURBS_Func::ChRatioNurbsC( NURBSC * nurbs, Coord ratio )
NURBS曲線の倍率を変更する
void ChRatioNurbsC( NURBSC * , Coord )
NURBS曲面の倍率を変更する
void NURBS_Func::ChRatioNurbsS( NURBSS * nurbs, Coord ratio )
NURBS曲面の倍率を変更する
void ChRatioNurbsS( NURBSS * , Coord )
(private)円・円弧エンティティが1セグメントの場合
int CirAToNurbsC_seg1( int, int, Coord [], double )
(private)円・円弧エンティティが2セグメントの場合
int CirAToNurbsC_seg2( int, int, Coord [], double )
(private)円・円弧エンティティが3セグメントの場合
int CirAToNurbsC_seg3( int, int, Coord [], double )
(private)円・円弧エンティティが4セグメントの場合
int CirAToNurbsC_seg4( int, int, Coord [], double )
2次元NURBS曲線と直線との交点を求める
int NURBS_Func::ClacIntersecPtsNurbsCLine( NURBSC * C, Coord P, Coord r, double * t1, double * t2 )
2次元NURBS曲線と線分との交点を求める
int NURBS_Func::ClacIntersecPtsNurbsCLineSeg( NURBSC * C, Coord P, Coord r, double ts, double te, double * t1, double * t2 )
2D平面上の多角形の符号付き面積を得る(CCW:正,CW:負)
double ClacPolygonArea2D( Coord p[], int Vnum )
2D平面上の多角形の符号付き面積を得る
double ClacPolygonArea2D( Coord [], int )
自身の消滅
int KODlistData::clear()
自身の消滅
int clear()
メッシュ全消去
int clear()
セレクションリスト及びOBJECTを初期化する
void KODatUNO::ClearSeldEntList()
(Private)セレクションリスト及びOBJECTを初期化する
void ClearSeldEntList()
クリックによるマウスピッキングをする
void KODatUNO::ClickPicking( GLuint SelectBuf[], int hits )
(Private)クリックによるマウスピッキングをする
void ClickPicking( GLuint SelectBuf[], int hits )
KodatunoGUIクローズ時のイベント
void QtMainWindow::closeEvent( QCloseEvent * event )
KodatunoGUIクローズ時のイベント.
virtual void closeEvent( QCloseEvent * event )
コマンド(背景色変更)
void CmdChBkCol( int argc, char * argv[] )
コマンド(背景色変更)
void CmdChBkCol( int, char * [] )
コマンド(Nurbs Rankの変更)
void CmdChRank( int argc, char * argv[] )
コマンド(NURBS Rankの変更)
void CmdChRank( int, char * [] )
コマンド(スケール変更)
void CmdChScale( int argc, char * argv[] )
コマンド(スケール変更)
void CmdChScale( int, char * [] )
コマンド(トレランス変更)
void CmdChTolerance( int argc, char * argv[] )
コマンド(コントロールポイント描画)
void CmdCPView( int argc, char * argv[] )
コマンド(コントロールポイント描画)
void CmdCPView( int , char * [] )
コマンド(BODYの拡大)
void CmdExpand( int argc, char * argv[] )
コマンド(BODYの拡大)
void CmdExpand( int, char * [] )
コマンド(ファイルオープン)
void CmdFileOpen( int argc, char * argv[] )
コマンド(ファイルオープン)
void CmdFileOpen( int, char * [] )
コマンド(Nurbs曲線生成)
void CmdGenNurbsCurve( int argc, char * argv[] )
コマンド(Nurbs曲線生成)
void CmdGenNurbsCurve( int, char * [] )
コマンド(Nurbs曲面生成)
void CmdGenNurbsSurface( int argc, char * argv[] )
コマンド(トレランス変更)
void CmdGenNurbsSurface( int, char * [] )
コマンド(回転サーフェス生成)
void CmdGenRotSurf( int argc, char * argv[] )
コマンド(回転サーフェス生成)
void CmdGenRotSurf( int, char * [] )
コマンド(スイープサーフェス生成)
void CmdGenSweepSurf( int argc, char * argv[] )
コマンド(スイープサーフェス生成)
void CmdGenSweepSurf( int, char * [] )
(Private)コマンドマップ
CommandMap CmdMap[COMMANDNUMMAX]
コマンド(Mesh情報出力)
void CmdMeshInf( int argc, char * argv[] )
コマンド(Mesh情報出力)
void CmdMeshInf( int, char * [] )
コマンド(BODYの平行移動)
void CmdMoveBody( int argc, char * argv[] )
コマンド(BODYの変更移動)
void CmdMoveBody( int, char * [] )
コマンド(BODYの回転)
void CmdRotateBody( int argc, char * argv[] )
コマンド(BODYの回転)
void CmdRotateBody( int , char * [] )
(Private)コマンド履歴
char CmdStack[HISTORYNUMMAX][256]
(Private)背景色
int CmdStackNow
(Private)コマンド履歴数
int CmdStackNum
コマンド(曲面情報を出力)
void CmdSurfInfo( int argc, char * argv[] )
コマンド(曲面情報を出力)
void CmdSurfInfo( int, char * [] )
コマンド(U,Vの方向を描画)
void CmdUVdir( int argc, char * argv[] )
コマンド(U,Vの方向を描画)
void CmdUVdir( int, char * [] )
コマンド(UV平面上のトリム情報をX,Y平面に描画)
void CmdUVview( int argc, char * argv[] )
コマンド(UVワイヤーフレーム表示)
void CmdUVWire( int argc, char * argv[] )
コマンド(UVワイヤーフレーム表示)
void CmdUVWire( int, char * [] )
コマンド(バージョン情報出力)
void CmdVerInf( int argc, char * argv[] )
コマンド(バージョン情報出力)
void CmdVerInf( int, char * [] )
この頂点の三次元座標
Coord cod
Userコマンドを実行
void USER::Command( BODYList * BodyList, OBJECTList * ObjList, int pickcount, int CmdNo, int argc, char * argv[] )
Userコマンドの実行
void Command( BODYList * , OBJECTList * , int, int, int, char * [] )
2本のNURBS曲線を連結する
int NURBS_Func::ConnectNurbsC( NURBSC * C1, NURBSC * C2, NURBSC * C_ )
NURBS曲線の連結
int ConnectNurbsC( NURBSC * , NURBSC * , NURBSC * )
2枚のNURBS曲面を連結する(U方向に長くなる)(S1_U1とS2_U0を連結)
int NURBS_Func::ConnectNurbsSU( NURBSS * S1, NURBSS * S2, NURBSS * S_ )
2枚のNURBS曲面を連結する(U方向に長くなる)(S1_U1とS2_U0を連結)
int ConnectNurbsSU( NURBSS * , NURBSS * , NURBSS * )
2枚のNURBS曲面を連結する(V方向に長くなる)(S1_V1とS2_V0を連結)
int NURBS_Func::ConnectNurbsSV( NURBSS * S1, NURBSS * S2, NURBSS * S_ )
2枚のNURBS曲面を連結する(V方向に長くなる)(S1_V1とS2_V0を連結)
int ConnectNurbsSV( NURBSS * , NURBSS * , NURBSS * )
再描画時の処理
void Console_Expose( WSCbase * object )
入力されたキーをフックし,キー入力を制限する(コンソール風なテキストフォームにする)
void Console_KeyHook( WSCbase * object )
テキストフォームのプロシージャ
void Console_Proc( WSCbase * object )
(Private)コンソールに入力されている全ての文字数を保持
int ConsoleCharNum
座標値用クラスを定義
class Coord
Coordをdouble配列に代入
void CoordToArray( Coord a, double b[3] )
Coordをdouble配列に代入
void CoordToArray( Coord, double [] )
Coordをdouble配列に代入(2D Ver.)
void CoordToArray2D( Coord a, double b[2] )
Coordをdouble配列に代入
void CoordToArray2D( Coord, double [] )
他のBODYを自身にコピーする
void BODY::CopyBody( BODY * body )
座標値群のコピー(b<--a)
void CopyCoord( Coord * a, int n, Coord * b )
座標値群をコピー
void CopyCoord( Coord * , int, Coord * )
座標値群のコピー(b<--a)(2D Ver.)
void CopyCoord2D( Coord * a, int n, Coord * b )
座標値群をコピー (2D Ver.)
void CopyCoord2D( Coord * , int, Coord * )
ベクトルのコピー(aベクトルをbベクトルへ代入)
void CopyVector( Vector a, int n, Vector b )
ベクトルのコピー
void CopyVector( Vector, int, Vector )
(private)エンティティカウンタ
int Count[ALL_ENTITY_TYPE_NUM]
コントロールポイント描画フラグ
int CPViewFlag
クォータニオン実部を0、虚部をCoordとしてクォータニオンを生成
Quat QUATERNION::CtoQ( Coord a )
クォータニオン実部を0、虚部をCoordとしてクォータニオンを生成
Quat CtoQ( Coord )
(Private)Ctrlキーを押したことを示すフラグ
int CtrlKeyFlag
(Private)ドラッグ中の位置X
int CurrentX
(Private)ドラッグ中の位置Y
int CurrentY