mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-04 13:13:25 +03:00
Integration of OCCT 6.5.0 from SVN
This commit is contained in:
391
samples/CSharp/shell/shell.h
Executable file
391
samples/CSharp/shell/shell.h
Executable file
@@ -0,0 +1,391 @@
|
||||
#pragma once
|
||||
#using <mscorlib.dll>
|
||||
#include "OCCViewer.h"
|
||||
#include "StdAfx.h"
|
||||
|
||||
public ref class shell
|
||||
{
|
||||
|
||||
private:
|
||||
OCCViewer* myOCCViewer;
|
||||
public:
|
||||
|
||||
bool InitViewer(System::IntPtr wnd)
|
||||
{
|
||||
if (myOCCViewer != NULL)
|
||||
return myOCCViewer->InitViewer(wnd.ToPointer());
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
bool ImportBrep(System::String^ filename)
|
||||
{
|
||||
if (myOCCViewer == NULL)
|
||||
return false;
|
||||
int length = filename->Length;
|
||||
char * fname = new char[length+1];
|
||||
for(int i = 0; i<length; i++)
|
||||
fname[i] = (char)filename->ToCharArray()[i];
|
||||
|
||||
fname[length] = '\0';
|
||||
bool res = myOCCViewer->ImportBRep(fname);
|
||||
delete [] fname;
|
||||
return res;
|
||||
}
|
||||
|
||||
void RedrawView(void)
|
||||
{
|
||||
if (myOCCViewer != NULL)
|
||||
myOCCViewer->RedrawView();
|
||||
}
|
||||
|
||||
void UpdateView(void)
|
||||
{
|
||||
if (myOCCViewer != NULL)
|
||||
myOCCViewer->UpdateView();
|
||||
}
|
||||
|
||||
void SetDegenerateModeOn(void)
|
||||
{
|
||||
if (myOCCViewer != NULL)
|
||||
myOCCViewer->SetDegenerateModeOn();
|
||||
}
|
||||
|
||||
void SetDegenerateModeOff(void)
|
||||
{
|
||||
if (myOCCViewer != NULL)
|
||||
myOCCViewer->SetDegenerateModeOff();
|
||||
}
|
||||
|
||||
void WindowFitAll(int Xmin, int Ymin, int Xmax, int Ymax)
|
||||
{
|
||||
if (myOCCViewer != NULL)
|
||||
myOCCViewer->WindowFitAll(Xmin, Ymin, Xmax, Ymax);
|
||||
}
|
||||
|
||||
void Place(int x, int y, float zoomFactor)
|
||||
{
|
||||
if (myOCCViewer != NULL)
|
||||
myOCCViewer->Place(x, y, zoomFactor);
|
||||
}
|
||||
|
||||
void Zoom(int x1, int y1, int x2, int y2)
|
||||
{
|
||||
if (myOCCViewer != NULL)
|
||||
myOCCViewer->Zoom(x1, y1, x2, y2);
|
||||
}
|
||||
|
||||
void Pan(int x, int y)
|
||||
{
|
||||
if (myOCCViewer != NULL)
|
||||
myOCCViewer->Pan(x, y);
|
||||
}
|
||||
|
||||
void Rotation(int x, int y)
|
||||
{
|
||||
if (myOCCViewer != NULL)
|
||||
myOCCViewer->Rotation(x, y);
|
||||
}
|
||||
|
||||
void StartRotation(int x, int y)
|
||||
{
|
||||
if (myOCCViewer != NULL)
|
||||
myOCCViewer->StartRotation(x, y);
|
||||
}
|
||||
|
||||
void Select(int x1, int y1, int x2, int y2)
|
||||
{
|
||||
if (myOCCViewer != NULL)
|
||||
myOCCViewer->Select(x1, y1, x2, y2);
|
||||
}
|
||||
|
||||
void Select(void)
|
||||
{
|
||||
if (myOCCViewer != NULL)
|
||||
myOCCViewer->Select();
|
||||
}
|
||||
|
||||
void MoveTo(int x, int y)
|
||||
{
|
||||
if (myOCCViewer != NULL)
|
||||
myOCCViewer->MoveTo(x, y);
|
||||
}
|
||||
|
||||
void ShiftSelect(int x1, int y1, int x2, int y2)
|
||||
{
|
||||
if (myOCCViewer != NULL)
|
||||
myOCCViewer->ShiftSelect(x1, y1, x2, y2);
|
||||
}
|
||||
|
||||
void ShiftSelect(void)
|
||||
{
|
||||
if (myOCCViewer != NULL)
|
||||
myOCCViewer->ShiftSelect();
|
||||
}
|
||||
|
||||
int GetBGColR(void)
|
||||
{
|
||||
int r, b, g;
|
||||
if (myOCCViewer != NULL)
|
||||
myOCCViewer->BackgroundColor(r,g,b);
|
||||
return r;
|
||||
}
|
||||
|
||||
int GetBGColG(void)
|
||||
{
|
||||
int r, b, g;
|
||||
if (myOCCViewer != NULL)
|
||||
myOCCViewer->BackgroundColor(r,g,b);
|
||||
return g;
|
||||
}
|
||||
|
||||
int GetBGColB(void)
|
||||
{
|
||||
int r, b, g;
|
||||
if (myOCCViewer != NULL)
|
||||
myOCCViewer->BackgroundColor(r,g,b);
|
||||
return b;
|
||||
}
|
||||
|
||||
void UpdateCurrentViewer(void)
|
||||
{
|
||||
if (myOCCViewer != NULL)
|
||||
myOCCViewer->UpdateCurrentViewer();
|
||||
}
|
||||
|
||||
void FrontView(void)
|
||||
{
|
||||
if (myOCCViewer != NULL)
|
||||
myOCCViewer->FrontView();
|
||||
}
|
||||
|
||||
void TopView(void)
|
||||
{
|
||||
if (myOCCViewer != NULL)
|
||||
myOCCViewer->TopView();
|
||||
}
|
||||
|
||||
void LeftView(void)
|
||||
{
|
||||
if (myOCCViewer != NULL)
|
||||
myOCCViewer->LeftView();
|
||||
}
|
||||
|
||||
void BackView(void)
|
||||
{
|
||||
if (myOCCViewer != NULL)
|
||||
myOCCViewer->BackView();
|
||||
}
|
||||
|
||||
void RightView(void)
|
||||
{
|
||||
if (myOCCViewer != NULL)
|
||||
myOCCViewer->RightView();
|
||||
}
|
||||
|
||||
void BottomView(void)
|
||||
{
|
||||
if (myOCCViewer != NULL)
|
||||
myOCCViewer->BottomView();
|
||||
}
|
||||
|
||||
void AxoView(void)
|
||||
{
|
||||
if (myOCCViewer != NULL)
|
||||
myOCCViewer->AxoView();
|
||||
}
|
||||
|
||||
float Scale(void)
|
||||
{
|
||||
if (myOCCViewer != NULL)
|
||||
return myOCCViewer->Scale();
|
||||
else
|
||||
return -1;
|
||||
}
|
||||
|
||||
void ZoomAllView(void)
|
||||
{
|
||||
if (myOCCViewer != NULL)
|
||||
myOCCViewer->ZoomAllView();
|
||||
}
|
||||
|
||||
void Reset(void)
|
||||
{
|
||||
if (myOCCViewer != NULL)
|
||||
myOCCViewer->ResetView();
|
||||
}
|
||||
|
||||
void SetDisplayMode(int aMode)
|
||||
{
|
||||
if (myOCCViewer != NULL)
|
||||
myOCCViewer->SetDisplayMode(aMode);
|
||||
}
|
||||
|
||||
void SetColor(int r, int g, int b)
|
||||
{
|
||||
if (myOCCViewer != NULL)
|
||||
myOCCViewer->SetColor(r, g, b);
|
||||
}
|
||||
|
||||
int GetObjColR(void)
|
||||
{
|
||||
int r, g, b;
|
||||
if (myOCCViewer != NULL)
|
||||
myOCCViewer->ObjectColor(r, g, b);
|
||||
return r;
|
||||
}
|
||||
|
||||
int GetObjColG(void)
|
||||
{
|
||||
int r, g, b;
|
||||
if (myOCCViewer != NULL)
|
||||
myOCCViewer->ObjectColor(r, g, b);
|
||||
return g;
|
||||
}
|
||||
|
||||
int GetObjColB(void)
|
||||
{
|
||||
int r, g, b;
|
||||
if (myOCCViewer != NULL)
|
||||
myOCCViewer->ObjectColor(r, g, b);
|
||||
return b;
|
||||
}
|
||||
|
||||
void SetBackgroundColor(int r, int g, int b)
|
||||
{
|
||||
if (myOCCViewer != NULL)
|
||||
myOCCViewer->SetBackgroundColor(r, g, b);
|
||||
}
|
||||
|
||||
void EraseObjects(void)
|
||||
{
|
||||
if (myOCCViewer != NULL)
|
||||
myOCCViewer->EraseObjects();
|
||||
}
|
||||
|
||||
float GetOCCVersion(void)
|
||||
{
|
||||
if (myOCCViewer == NULL)
|
||||
return 0.0;
|
||||
else
|
||||
return myOCCViewer->GetVersion();
|
||||
}
|
||||
|
||||
void SetMaterial(int theMaterial)
|
||||
{
|
||||
if (myOCCViewer != NULL)
|
||||
myOCCViewer->SetMaterial(theMaterial);
|
||||
}
|
||||
|
||||
void SetTransparency(int TheTrans)
|
||||
{
|
||||
if (myOCCViewer != NULL)
|
||||
myOCCViewer->SetTransparency(TheTrans);
|
||||
}
|
||||
|
||||
bool TranslateModel(System::String^ filename, int format, bool IsImport)
|
||||
{
|
||||
if (myOCCViewer == NULL)
|
||||
return false;
|
||||
int length = filename->Length;
|
||||
char * fname = new char[length+1];
|
||||
for(int i = 0; i<length; i++)
|
||||
fname[i] = (char)filename->ToCharArray()[i];
|
||||
|
||||
fname[length] = '\0';
|
||||
bool res;
|
||||
if (IsImport)
|
||||
{
|
||||
switch(format)
|
||||
{
|
||||
case 0:
|
||||
res=myOCCViewer->ImportBRep(fname);
|
||||
break;
|
||||
case 1:
|
||||
res=myOCCViewer->ImportCsfdb(fname);
|
||||
break;
|
||||
case 2:
|
||||
res=myOCCViewer->ImportStep(fname);
|
||||
break;
|
||||
case 3:
|
||||
res=myOCCViewer->ImportIges(fname);
|
||||
break;
|
||||
default:
|
||||
res=false;
|
||||
}
|
||||
} else
|
||||
{
|
||||
switch(format)
|
||||
{
|
||||
case 0:
|
||||
res=myOCCViewer->ExportBRep(fname);
|
||||
break;
|
||||
case 2:
|
||||
res=myOCCViewer->ExpotStep(fname);
|
||||
break;
|
||||
case 3:
|
||||
res=myOCCViewer->ExportIges(fname);
|
||||
break;
|
||||
case 4:
|
||||
res=myOCCViewer->ExportVrml(fname);
|
||||
break;
|
||||
case 5:
|
||||
res=myOCCViewer->ExportStl(fname);
|
||||
break;
|
||||
case 6:
|
||||
res=myOCCViewer->Dump(fname);
|
||||
default:
|
||||
res=false;
|
||||
}
|
||||
}
|
||||
delete [] fname;
|
||||
return res;
|
||||
}
|
||||
|
||||
bool IsObjectSelected(void)
|
||||
{
|
||||
if (myOCCViewer != NULL)
|
||||
return myOCCViewer->IsObjectSelected();
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
int DisplayMode(void)
|
||||
{
|
||||
if (myOCCViewer != NULL)
|
||||
return myOCCViewer->DisplayMode();
|
||||
else return -1;
|
||||
}
|
||||
|
||||
void CreateNewView(System::IntPtr wnd)
|
||||
{
|
||||
if (myOCCViewer != NULL)
|
||||
myOCCViewer->CreateNewView(wnd.ToPointer());
|
||||
}
|
||||
|
||||
bool SetAISContext(shell^ v)
|
||||
{
|
||||
if (myOCCViewer != NULL)
|
||||
return this->myOCCViewer->SetAISContext(v->GetOCCViewer());
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
OCCViewer* GetOCCViewer(void)
|
||||
{
|
||||
return myOCCViewer;
|
||||
}
|
||||
|
||||
void InitOCCViewer(void)
|
||||
{
|
||||
myOCCViewer = new OCCViewer();
|
||||
}
|
||||
|
||||
int CharToInt(System::String^ symbol)
|
||||
{
|
||||
if (myOCCViewer == NULL)
|
||||
return -1;
|
||||
char s = (char)symbol->ToCharArray()[0];
|
||||
return myOCCViewer->CharToInt(s);
|
||||
}
|
||||
};
|
Reference in New Issue
Block a user