87 lines
2.0 KiB
C++
87 lines
2.0 KiB
C++
#pragma once
|
|
#include "TGGiDrawStreamBase.h"
|
|
#include "GeCurveSegment.h"
|
|
#include "GeLine.h"
|
|
#include "GeRectAngle.h"
|
|
#include "ADSGePointList.h"
|
|
#include "GeArc.h"
|
|
#include "GePoly2D.h"
|
|
#include "GeCircle.h"
|
|
#include "Ge3DFace.h"
|
|
#include "ADSGePoint3d.h"
|
|
#include "EntitySet.h"
|
|
|
|
#define PS_DOTE 0
|
|
#define PS_NONE 1
|
|
#define PS_CROSS 2
|
|
#define PS_CROSS_SLANT 3
|
|
#define PS_BOX 11
|
|
|
|
#define IMG_UNISCALE 0x01
|
|
#define IMG_DRAW3D 0x02
|
|
#define IMG_WCS2UCS 0x04
|
|
#define EDF_XSCALE 0x01 // for Text
|
|
#define EDF_OBLIQUE 0x02 // for Text
|
|
#define EDF_NO_AUTOPROP 0x04 // only for explode control
|
|
|
|
class TGGiScreenDrawStream: public TGGiDrawStreamBase
|
|
{
|
|
public:
|
|
|
|
TGGiScreenDrawStream(short nColor = 7, short nMode = 0);
|
|
virtual ~TGGiScreenDrawStream();
|
|
|
|
virtual const TCHAR *Desc();
|
|
|
|
virtual void DrawXEntity(const EntitySet & e);
|
|
|
|
virtual void DrawXPoint(const ADSGePoint3d & pt);
|
|
|
|
virtual void DrawX3DFace(const Ge3DFace & face);
|
|
|
|
virtual void DrawXPoints(const ADSGePointList & pts);
|
|
|
|
virtual void DrawXPoly(const GePoly2D & poly,double dThick = 0);
|
|
|
|
virtual void DrawXCurve(const GeCurveSegment & curve,double dThick = 0);
|
|
|
|
void SetMode(short nMode);
|
|
|
|
void SetColor(short nColor);
|
|
|
|
void Draw(const GeLine & ln);
|
|
|
|
void Draw(const GePoly2D & poly);
|
|
|
|
void Draw(const Ge3DFace & face);
|
|
|
|
void Draw(const GeRectAngle & box);
|
|
|
|
void Draw(const GeCurveSegment & curve);
|
|
|
|
void Draw(const GeArc & arc, int nDiv = 30);
|
|
|
|
void Draw(const GeCircle & cir, int nDiv = 30);
|
|
|
|
void Draw( const ADSGePointList & pts, int bClose = 0);
|
|
|
|
void Draw(const EntitySet & e,ads_matrix tranMat = NULL,int nBlkColor = 0);
|
|
|
|
void Draw(const ADSGePoint3d & pt, int nStyle = PS_CROSS_SLANT, int nPercentage = 5);
|
|
|
|
static const TCHAR *Descriptor();
|
|
|
|
public:
|
|
|
|
short m_nFrontColor, m_nBackColor;
|
|
short m_nDrawMode; // 0--normal 1--highlight
|
|
|
|
int m_nFlag;
|
|
|
|
ads_real m_nModelX, m_nModelY; // Screen Size
|
|
|
|
protected:
|
|
|
|
virtual void _Draw(const GeLine &ln);
|
|
};
|