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

105 lines
4.0 KiB
C
Raw Normal View History

2025-06-25 15:06:42 +08:00
//#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