您现在的位置:网站首页 > 经验分享 > 鞋业CAD软件柔性内核技术:源码[15-
设计师介绍:

昵称:烦夫子
类别:界面/平面设计师
年龄:38
现所在地:北京

查看该设计师的主页>>

关注好友

统计中心

主页浏览总数:24255
总积分:89
文章数:88
作品数:70

鞋业CAD软件柔性内核技术:源码[15-

作者:烦夫子  更新时间: 2007-11-19   浏览人数:18207  评论:0  
分享到:
                       柔性图形内核之十五
                         Pattern
//应用于CAD/CAM图形类程序设计
//我将逐步开放数以十万记的自主版权软件源码,谢谢大家的支持!
//以后将开源的项目: CAD、工控、机械设计图、电子布线图等

// Pattern.h: interface for the Pattern class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_PATTERN_H__C562DE8C_E0E9_42BF_BC20_10EFA055AEB0__INCLUDED_)
#define AFX_PATTERN_H__C562DE8C_E0E9_42BF_BC20_10EFA055AEB0__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "Object.h"
#include "RingArray.h"
#include "SplineArray.h"
#include "ShapeArray.h"
#include "TextArray.h"
#include "SymbolArray.h"
#include "LabelArray.h"
#include "Point2DArray.h"

class BSpline;

class Pattern : public Object 
{
private:                      
 RingArray       *rings;  //内环的定义
 BSplineArray *curves;        //裁片中的内线 (包括有: 刀口 半径圆 装饰明线 衣褶线 )
 ShapeArray *shapes;        //裁片中的形(在这里包括 孔 扣子 孔眼 ) 
 TextArray *texts;         //文字(标注、注释)
 SymbolArray *symbols;       //附件的定义(裁片中按块方式调出的附件)
 LabelArray  *labels;            //标号
    Point2DArray    *ponint2ds;         //点对像

 Vector        notePos[2];          //标注定位点
 BOOL        visible;     //样片显示管理
 int               OrgNum;
 BOOL              bPlainFlag;              //是否为朴帮样

public:
 int m_Disply;                              //显示模式

public: 
 Pattern (const Object *);
 ~Pattern ();

 void Draw (CDC*, float scale, DrawMode mode, int dispmode) const;
 void FastDraw (CDC* dc, float scale, DrawMode mode, TransformFunc f)const;  //TZH(38)

 void GetBaseline (Vector v[2]) const;             //设置样片的基线
 void GetBaseline (Vector &v1, Vector &v2) const;  //得到裁片的基线
 void SetBaseline (Vector v[2]);                   //按数组得到样片的基线
 void SetBaseline (Vector v1, Vector v2);          //设置样片的基线

 void GetNotePos (Vector v[2]) const;              //得到样片的标记位置
 void GetNotePos (Vector &v1, Vector &v2)const;    //得到样片的标记位置
 void SetNotePos (Vector v[2]);                    //设置样片的标记位置 
 void SetNotePos (Vector v1, Vector v2);           //设置样片的标记位置

 long GetSize () const;
 void GetMinMax ();
 float GetLength ();
 float GetArea () const;

 Object *GetRingArray()
  { return rings; }

 Object *GetCurveArray ()
  { return curves; }

 Object *GetSymbolArray ()
  { return symbols; }

 Object *GetShapeArray ()
  { return shapes; }

 Object *GetTextArray ()
  { return texts; }

 Object *GetLabelArray()//TZH(13)
 { return labels; }

 CRgn * GetTheCRgn() ; 

 BOOL IsVisable() const { return visible; }
 void ShowIt() { visible = TRUE; }
 void HideIt() { visible = FALSE; }

 Object *GetNewObject () const;
 Object& ōperator = (const Object& aObject);
 Object& operator += (Object& aObject);
 BOOL ōperator == (const Object& aObject);

 DECLARE_IO_METHOD (Pattern)

};

#endif // !defined(AFX_PATTERN_H__C562DE8C_E0E9_42BF_BC20_10EFA055AEB0__INCLUDED_)

(目前有0人发表看法,  我要发表评论
我要评论:
  只有登录后才能评论!
评论者: 匿名游客    (立即登录 或 注册)