?? icadapi.h
字號(hào):
}
// *** Structures
typedef struct //*** Windows metafile information.
{
HMETAFILE hMetaFile;
RECT rectWmf;
WORD inch;
} ICADWMFINFO;
struct SDS_ucs_llist {
sds_point org;
sds_point xdir;
sds_point ydir;
char *name; //must be freed independently of structure
struct SDS_ucs_llist *next;
struct SDS_ucs_llist *prev;
};
struct SDS_textdtext_globalpacket {
sds_real lastang; //*** Stores the last text angle entered.
sds_real txtheight; //*** Stores the last text height entered.
sds_point nextpt; //*** Stores point for next piece of text UNLESS last
// text was aligned or fitted. Then it keeps text's point
sds_point nextfitpt; //*** Stores point for next fitted piece of text UNLESS last
// text was aligned or fitted. Then it keeps text's point
sds_name lastent; //*** Stores last ent made, so we can highlight it before making new ent
char halign; //*** Stores last horiz alignment mode
char valign; //*** Stores last vert alignment mode
char isnextpt; //*** Flag indicating a valid next point is available.
};
struct SDS_mTextData {
sds_point ptInsertion, // Insertion point for block of text
ptOppCorner; // Opposite corner point for block of text
sds_real rTextHeight, // Text Height (*** I set the default as 1.0, but I don't know what it is supposed to be. ***)
rRotAngle , // Rotation angle for block of text
rBoxWidth ;
char szTextStyle[IC_ACADBUF]; // Text Style (default is STANDARD?)
int nAlignment,
nDirection;
CString text;
//gaowen NO2003-11-11-1[
int nLineSpaceStyle;
sds_real rLineSpaceFractor;
//gaowen NO2003-11-11-1]
//gaowen NO2003-11-17-15:19[
int nColor;
//gaowen NO2003-11-17-15:19]
};
struct SDS_InternalCmdList {
char* globalName;
void* funcPtr;
short cmdFlags; // See SDS_CMDxxx above
char* localName;
int cmdIndex;
};
struct CNodeData
{
sds_point m_cen;
CNodeData(){};
CNodeData( sds_point cen ){ ic_ptcpy(m_cen, cen); }
};
//4M Item:28->
class MEntNodesArray;
class MNodeData{
private:
sds_point * points;
MNodeData * next;
public:
MNodeData();
MNodeData(int NoPointsPerBlock);
MNodeData(MNodeData const &MD);
MNodeData& operator=(MNodeData const &MD);
~MNodeData();
int Add(int index, sds_point p);
int Get(int index, sds_point p)const;
friend class MEntNodesArray;
};
class MEntNodesArray{
private:
int NoPointsPerBlock;
int NoPoints;
int NoBlocks;
MNodeData * pNodes;
MNodeData * pLastNode;
public:
MEntNodesArray();
MEntNodesArray(int noPointsPerBlock);
MEntNodesArray(MEntNodesArray const & n);
MEntNodesArray &operator=(MEntNodesArray const &n);
~MEntNodesArray();
void RemoveAll();
void SetNoPointsPerBlock(int noPointsPerBlock);
int GetCount()const{return NoPoints;}
int Add(sds_point p);
int Get(int index, sds_point p)const;
};
class CGripNodesArray{
private:
MEntNodesArray GripNodes;
public:
CGripNodesArray();
~CGripNodesArray();
void Add(sds_point p);
void Reset();
int GetNoGrips()const;
int GetSize()const{return GripNodes.GetCount();}
int Get(int index, sds_point p){return GripNodes.Get(index,p);}
};
//<-4M Item:28
//4M Item:25->
// Replacement of SDS_NodeList with SDS_NodeList_new
/*
typedef CArray< CNodeData, CNodeData& > CEntNodesArray;
struct SDS_NodeListDef {
sds_name ename;
CEntNodesArray ptArray;
SDS_NodeListDef *next;
SDS_NodeListDef(){ ename[0] = ename[1] =0L; next = NULL; }
SDS_NodeListDef( sds_name name ){ ic_encpy(ename, name); next = NULL; }
};
class SDS_NodeList
{
public:
SDS_NodeListDef *m_beg, *m_end;
SDS_NodeList(){ m_beg = m_end = NULL;}
~SDS_NodeList();
void add( sds_name ename, sds_point pt );
void remove( sds_name ename );
void removeAll();
// Iterate through all points
void begin();
BOOL getPair( sds_name ename, sds_point pt );
protected:
SDS_NodeListDef *find( sds_name ename, SDS_NodeListDef *&prev, SDS_NodeListDef *&next );
private:
SDS_NodeListDef *m_cur;
int m_ptIdx;
};
*/
#include "CSdsName.h"
class NodePoints{
private:
MEntNodesArray Points;
public:
NodePoints();
NodePoints(sds_point pt);
NodePoints(const NodePoints &n);
~NodePoints();
NodePoints& operator=(const NodePoints &n);
void Add(sds_point pt);
int GetSize()const;
void GetAt(int ind, sds_point pt){Points.Get(ind,pt);}
};
class SDS_NodeList_New
{
private:
POSITION m_pos;
CSdsName m_curhandle;
int m_ptIdx;
NodePoints m_CurNodePoints;
int m_NoPoints;
CMap<CSdsName, CSdsName&, NodePoints, NodePoints&> EntitiesWithNodes;
public:
SDS_NodeList_New();
~SDS_NodeList_New();
void add( sds_name handle, sds_point pt );
void remove( sds_name handle );
void removeAll();
int GetNoEntities(){return EntitiesWithNodes.GetCount();}
// Iterate through all points
void begin();
BOOL getPair( sds_name ename, sds_point pt );
BOOL getEntityName( sds_name ename);
private:
BOOL find( CSdsName handle, NodePoints &);
};
//<-4M Item:25
struct SDS_GrDrawStruct {
sds_point pt1;
sds_point pt2;
int col;
int hl;
};
struct SDS_CmdHist {
char *cmd;
struct SDS_CmdHist *prev;
struct SDS_CmdHist *next;
};
struct SDS_dragvars {
int mode;
int applyortho;
int enternub;
int gotnub;
int it;
int firstdrag;
int color;
int dashmode;
int cursor;
int breakout;
bool numok;
sds_matrix matx;
sds_name nmSelSet;
sds_point pt1, pt2, pt3, OrthoPt, LastDrag;
sds_real ang;
sds_real nub;
sds_real scrht;
sds_point xfa[4];
sds_point extru;
sds_real dang;
double *elpt;
db_handitem *elp;
db_drawing *flp;
struct resbuf *vects;
int (*scnf) (sds_point pt, sds_matrix mt) ;
struct resbuf *rblst;
};
struct SDS_BinChange {
void *where;
void *data;
int len;
struct SDS_BinChange *next;
};
struct SDS_prevview {
sds_point viewctr; //center point in UCS coordinates (not necessarily at current elev)
//NOTE: If perspective view is active, viewctr will contain the TARGET instead of viewctr
sds_real viewsize; //size of screen in projection plane, in dwg units
sds_point viewdir; //direction of view (TOWARD camera from either TARGET or VIEWCTR)
int viewmode; //mode used for viewing (Ortho, Perspective, Clipping, etc.)
sds_real twist; //twist for this view
sds_real frontz; //front clipping dist
sds_real backz; //back clipping dist
sds_real prjelev; //elevation used in projecting viewctr(or target) onto projection plane
struct SDS_prevview *prev;
struct SDS_prevview *next;
};
//BugZilla No. 78155; 27-05-2002 [
struct cmd_dimlastpt {
/********************************************************************************
* Author: Dmitry Gavrilov.
* Purpose: Safe initialization constructor.
* Returns: None.
********************************************************************************/
cmd_dimlastpt()
{
ename[0] = ename[1] = 0L;
r50 = r52 = elev = pt10[0] = pt10[1] = pt10[2] = 0.0;
DB_PTCPY(pt13, pt10);
DB_PTCPY(pt14, pt10);
DB_PTCPY(pt15, pt10);
DB_PTCPY(pt16, pt10);
DB_PTCPY(pt210, pt10);
DB_PTCPY(startpt, pt10);
DB_PTCPY(startptother, pt10);
DB_PTCPY(vertex, pt10);
DB_PTCPY(ucsaxis[0], pt10);
DB_PTCPY(ucsaxis[1], pt10);
DB_PTCPY(ucsaxis[2], pt10);
DB_PTCPY(ucsorg, pt10);
pt210[2] = ucsaxis[0][0] = ucsaxis[1][1] = ucsaxis[2][2] = 1.0;
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -