资源简介

利用openGL库编写,采用VC++6.0开发环境,实现STL文件读取、显示、操作、控制、分层。

资源截图

代码片段和文件信息

#include “stdafx.h“
#include “../inc/geomcalc/cadbase.h“
#include “math.h“

/***********************************************************************************
/
/   CLASS NAME: CPoint2D
/ CLASS DESCRIPATION: Designed for 2 dimensional point
/   CREATED BY: Olive Wang in Apr.282000
/   MODIFIED BY:
*************************************************************************************/

// constructor && destructor
CPoint2D::CPoint2D()
{
x=0.0;
y=0.0;
}

CPoint2D::CPoint2D(double ixdouble iy)
{
x = ix;
y = iy;
}

CPoint2D::CPoint2D(const double*p)
{
x=p[0];
y=p[1];
}

CPoint2D::CPoint2D(POINT2D p)
{
x=p.x;
y=p.y;
}

CPoint2D::~CPoint2D()
{
}


// offsetting with vector
CPoint2D CPoint2D::operator+(VECTOR2D v) const
{
return CPoint2D(x+v.dxy+v.dy);
}

void CPoint2D::operator+=(VECTOR2D v)
{
x+=v.dx;
y+=v.dy;
}

CPoint2D CPoint2D::operator-(VECTOR2D v) const
{
return CPoint2D(x-v.dxy-v.dy);
}

void CPoint2D::operator-=(VECTOR2D v)
{
x+=v.dx;
y+=v.dy;
}


// derive vector = this point - sp
CVector2D CPoint2D::operator-(POINT2D sp) const
{
return CVector2D(x-sp.xy-sp.y);
}

// transform the point
CPoint2D CPoint2D::operator*(const MATRIX2D& matrix) const
{
double xxyysc;
xx = x*matrix.A[0][0]+y*matrix.A[1][0] + matrix.A[2][0];
yy = x*matrix.A[0][1]+y*matrix.A[1][1] + matrix.A[2][1];
sc = x*matrix.A[0][2]+y*matrix.A[1][2] + matrix.A[2][2];
xx /= sc;
yy /= sc;
return CPoint2D(xxyy);
}

void  CPoint2D::operator*=(const MATRIX2D& matrix)
{
(*this)=(*this)*matrix;
}
/**********************************************************************************
//
//     CLASS NAME: CVector2D
//     DEscriptION: designed for 2 dimensional vector
//     CREATED BY: Olive Wang in April 282000
//     MODIFIED BY:
//
***********************************************************************************/
// constructor&&destructor
CVector2D::CVector2D()
{
dx=0.0;
dy=0.0;
}

CVector2D::CVector2D(double ixdouble iy)
{
dx=ix;
dy=iy;
}

CVector2D::CVector2D(const double* pv)
{
dx=pv[0];
dy=pv[1];
}

CVector2D::CVector2D(VECTOR2D v)
{
dx=v.dx;
dy=v.dy;
}

CVector2D::~CVector2D()
{
}

CVector2D CVector2D::operator+(VECTOR2D v) const
{
return CVector2D(dx+v.dxdy+v.dy);
}

CVector2D CVector2D::operator-(VECTOR2D v) const
{
return CVector2D(dx-v.dxdy-v.dy);
}

void CVector2D::operator+=(VECTOR2D v)
{
dx += v.dx;
dy += v.dy;
}

void CVector2D::operator-=(VECTOR2D v)
{
dx-=v.dx;
dy-=v.dy;
}

CVector2D CVector2D::operator*(double d) const
{
return CVector2D(dx*ddy*d);
}

void CVector2D::operator*=(double d)
{
dx *= d;
dy *= d;
}

CVector2D CVector2D::operator/(double d) const
{
return CVector2D(dx/ddy/d);
}

void CVector2D::operator/=(double d)
{
dx /= d;
dy /= d;
}

// cross product
CVector3D CVector2D::operator*(VECTOR2D v) const
{
return CVector3D(0.00.0dx

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     151650  2012-03-29 16:34  STL-MOVE\bin\GeomCalc.dll

     文件     123968  2012-03-29 16:34  STL-MOVE\bin\GeomCalc.ilk

     文件     131174  2012-04-03 02:15  STL-MOVE\bin\GeomKernel.dll

     文件     192276  2012-04-03 02:15  STL-MOVE\bin\GeomKernel.ilk

     文件     172132  2012-04-02 15:39  STL-MOVE\bin\glContext.dll

     文件     392748  2012-04-02 15:39  STL-MOVE\bin\glContext.ilk

     文件     159844  2012-04-05 19:41  STL-MOVE\bin\STLViewer.exe

     文件      10369  2012-04-02 16:05  STL-MOVE\bin\STLViewer.exp

     文件     651096  2012-04-05 19:41  STL-MOVE\bin\STLViewer.ilk

     文件      18446  2012-04-02 16:05  STL-MOVE\bin\STLViewer.lib

     文件      22712  2012-03-28 19:40  STL-MOVE\GEOMCALC\Cadbase.cpp

     文件       1036  2012-03-26 20:45  STL-MOVE\GEOMCALC\CADbase1.CPP

     文件      18108  2012-03-25 13:25  STL-MOVE\GEOMCALC\GeomCalc.aps

     文件       1547  2000-06-10 23:15  STL-MOVE\GEOMCALC\GeomCalc.cpp

     文件        190  2000-04-26 23:41  STL-MOVE\GEOMCALC\GeomCalc.def

     文件        361  2012-03-30 21:26  STL-MOVE\GEOMCALC\GeomCalc.dep

     文件       4761  2012-03-30 22:27  STL-MOVE\GEOMCALC\GeomCalc.dsp

     文件        541  2002-04-14 01:09  STL-MOVE\GEOMCALC\GeomCalc.dsw

     文件       7512  2012-03-30 21:26  STL-MOVE\GEOMCALC\GeomCalc.mak

     文件      82944  2012-03-29 12:45  STL-MOVE\GEOMCALC\GeomCalc.ncb

     文件      60928  2012-03-29 12:45  STL-MOVE\GEOMCALC\GeomCalc.opt

     文件        250  2012-04-02 16:05  STL-MOVE\GEOMCALC\GeomCalc.plg

     文件       3394  2000-06-09 22:59  STL-MOVE\GEOMCALC\GeomCalc.rc

     文件       2503  2000-04-26 23:41  STL-MOVE\GEOMCALC\ReadMe.txt

     文件        400  2000-04-26 23:41  STL-MOVE\GEOMCALC\RES\GeomCalc.rc2

     文件        414  2000-06-09 22:59  STL-MOVE\GEOMCALC\RESOURCE.H

     文件        210  2000-04-26 23:41  STL-MOVE\GEOMCALC\StdAfx.cpp

     文件       1470  2000-05-27 00:23  STL-MOVE\GEOMCALC\StdAfx.h

     文件        223  2012-03-28 22:19  STL-MOVE\GeomKernel\clear.bat

     文件      19394  2012-04-05 19:54  STL-MOVE\GeomKernel\Entity.cpp

............此处省略165个文件信息

评论

共有 条评论