www.pudn.com > final_6.rar > Operation.h
#ifndef _OPERATION_H_
#define _OPERATION_H_
class COperation{
public:
static float CaculateU(CGPoint point, int x);
static float CaculateV(CGPoint point,int x);
static void LoftTrackEntity(CShape* shape,CPoint point,CPoint prePoint,int view);
static void LoftSampleEntity(CShape* shape,CPoint point,int view);
static void LatheEntity(CShape *pColumn, CPoint point, int view, int axis);
static COLORREF GammaCorrect(int R, int G,int B);
static void ExtrudeEntity(CPoint point, CPoint prePoint, int view);
static double CaculateF(double d);
static void VectorXProduct(vector v1,vector v2,vector v3);
static void PerViewPoints(CShape* shape);
static void PerspectiveCal(CGPoint* orient, SPoint* view);
static void Specify(CGPoint* before,CGPoint* after);
static void ZoomEntity(CPoint point,CPoint prePoint,int view);
static void CaculateInterSec(CGPoint * point1,CGPoint *point2,double *tempMin,double *tempMax,int y);
static void ScanLineEntity(CShape* shape,int y,double *tempMin,double *tempMax);
static void ScanLineCut(int y,int *MinX,int *MaxX);
static BOOL IsNotShadowed(vector light, CGPoint * lightPoint,int entityID,CGPoint *interSec);
static double power(double angelRV, int ns);
static void CaculateReflect(vector reflect,double angelLN,vector normal,vector lightD);
static double dot(vector vector1,vector vector2);
static void GetNormalVector(vector normal);
static void Phong(int x,int xx,int yy,CGPoint *startPoint,vector directVector,double tt,color *rayColor);
static void MoveLight(CPoint point, CPoint prePoint, int view);
static BOOL PointOnLight(CPoint point, int view);
static void RotateEntity(CPoint point,CPoint prePoint,int view);
static void MatrixProduct(CShape * shape, double matrix[4][4]);
void static MoveEntity(CPoint point, CPoint prePoint,int view);
static BOOL PointOnFace(CShape *shape,int x,int y,double t,CGPoint*startPoint,vector Vector,int view);
double static dot(CGPlane face,CGPoint *point);
double static dot(CGPlane face,vector Vector);
static BOOL Ray_Hit_Entity(CShape * shape,CGPoint * startPoint, vector mouseVector,int view);
static BOOL Ray_Hit(CGPoint *startPoint, vector mouseVector,int view);
static void CaculateVector(vector mouseVector, CGPoint *point1,CGPoint *point2);
void static ScreenToReal(CGPoint *mousePoint, CPoint point, int view);
void static CaculateFace(CGPlane *face, CGPoint x1,CGPoint x2,CGPoint x3,CGPoint x4);
void static PointProductMatrix(CGPoint *point,double matrix[4][4]);
};
#endif