COMPASSi/trunk/code/inc/OCC/OCCModeling/DllImportViewControl.h

105 lines
4.0 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//#if 0 //pj change
#pragma once
#include "Stdafx_M.h"
#include "Stdafx.h"
#include "OCC/OCCModeling/OCCStructDataMD.h"
#include "Common/BusinessGlobal.h"
//#define DLLEXPORT extern "C" __declspec(dllexport)
/*************************** Interface Definition *****************************/
//******************** View Control *************************
//图形界面初始化
//DLLEXPORT BOOL InitView(int viewsize,HWND view[]);
//图形界面重绘
DLLEXPORT void RedrawView(int flag);
//图形界面刷新
DLLEXPORT void UpdateView(int flag);
//图形缩放
DLLEXPORT void ZoomWheel(float delta,int curviewflag);
//设置旋转起始点
DLLEXPORT void StartRotation(int x,int y,int curviewflag);
//设置旋转停止点
DLLEXPORT void Rotation(int x, int y,int flag);
//平移
DLLEXPORT void Pan(int x, int y, int flag);
//图形自适应
DLLEXPORT void FitAll(int flag,bool isUpdate);
//局域放大
DLLEXPORT void WindowFitAll(int myXmin, int myYmin, int myXmax, int myYmax);
//视图移动
DLLEXPORT void MoveTo(int x,int y ,int flag);
//*** HighLight高亮 ***
DLLEXPORT void HighLight(int nid,int id[]);
//*** SetDisplayMode设置显示模式点线面体的显隐 ***
DLLEXPORT void SetDisplayMode(int aMode);
//***SetAISDisplayMode:区域显示 flag--0:关闭,1:开启***
DLLEXPORT void SetAISDisplayMode(int aMode);
//***ShowRegion:区域显示 flag--0:关闭,1:开启***
DLLEXPORT void ShowRegion(int flag);
//***SetViewDirection:设置视角 dir--0前,1后,2顶,3底,4左,5右,6侧前,7侧后***
DLLEXPORT void SetViewDirection(int flag, int dir);
//
DLLEXPORT void Select();
//点选
DLLEXPORT BOOL SelectOneMode(int x, int y,int id[],int flag, double &rx, double &ry, double &rz,bool bctrlselect=false);
//框选
DLLEXPORT BOOL SelectFrameMode(int prex,int prey,int x,int y,int flag,int id[], double &rx, double &ry, double &rz,bool bctrlselect = false);
//反向框选
DLLEXPORT BOOL SelectOppositeFrameMode(int prex,int prey,int x,int y,int flag,int id[], double &rx, double &ry, double &rz,bool bctrlselect = false);
//高亮
DLLEXPORT bool HiLight( int id []);
//设置图元显隐
DLLEXPORT void SetObjVisible(int n,int id[], int visible[]);
//***可选择对象类型:0所有图元,1屏幕任意位置,2曲线节点(knot),3面顶点
DLLEXPORT void SetInteractType(int type);
//***显示剖面位置
DLLEXPORT void ShowSectionPos(double x,bool bdrawprofle);
//***生成型线
DLLEXPORT int GenShapeLine2(double x,ScPoint2D *pt,bool withDeck, int dir, double v);
//*** 生成型线 ptr:返回节点序列;dir1:用于切割船壳的切面方向:0X,1Y,2Z;v1:用于切割船壳的切面位置;dir2:节点坐标限制方向(即用于切割型线的切面方向):-1无(返回所有节点),0X,1Y,2Z :v2>节点坐标限制(即用于切割型线的切面位置)
DLLEXPORT int GenShapeLine(OffsetTablePoint *pt,int dir1, double v1, int dir2, double v2);
//***设置选项 autoCross:选择状态 displayOptions各类图元显示选项,数组固定长度12按照\Source\Infrastructure\Infrastructure.Data\DataContainer\ModelData.cs中三维数据从0-12依次获取
DLLEXPORT void SetOptions(bool autoCross,ModelDisplayOption displayOptions[]);
// 显示临时曲线
DLLEXPORT void ShowTempCurve(bool show, Curve crv, int npnt, Point3D pnt[]);
//打开或关闭定时器 Lvxj
DLLEXPORT void EnableTimer(bool isTimerEnable);
//删除上次选中对象,如果是线,则要取消线上点的显示
void ClearAisTempmodel();
//显示肋位标尺
void ShowFrameRulerModel();
//显示型线
void ShowProfileModel();
//显示线上的型值点
//void ShowPointOnLine(int id);// XUEFENG DELETE 20190329
void ShowPointOnLine(int id, bool isHighLight=false);// XUEFENG ADDED 20190329
//
void PixelToModel(int x, int y,double &rx,double &ry,double &rz,int flag,BOOL bWCS = TRUE);
//图元重绘
void RedrawTypeObjProps();
// Added by XUEFENG 20180926
// 三角显示
DLLEXPORT bool ShowMeshTriOrNot(bool flag);
// End Added
// XUEFENG ADDED 20230310
DLLEXPORT void SetVertexSelectMode();
DLLEXPORT void RemoveVertexSelectMode();
// END ADDED