Augusdi的专栏

攀登技术的高峰,我与大家共勉!

Revised Visualization Source Code

    Visualization 模块中部分代码存在 bug,以下修改来自Open Cascade 官方论坛中有人做的patch,及自己修改的(少部分):

1: TKV3d.dll

1.1

File:
Visual3d_TransientManager.cxx

Func:
BeginDraw();
BeginAddDraw();
ClearDraw();

Source:
// after the line
theCiew = *(CALL_DEF_VIEW*)AView->CView();
// add these lines

if( !AView->UnderLayer().ISNull()){
 theCView.ptrUnderLayer = (CALL_DEF_LAYER*) & (AView->UnderLayer()->CLayer());
}

if( !AView->OverLayer().ISNull()){
 theCView.ptrOverLayer = (CALL_DEF_LAYER*) &(AView->OverLayer()->CLayer());
}

//在原来的代码中,每次重绘,Layer没有被绘制,修改后,每次场景重绘,Layer都会刷新。


2: TKOpenGL.dll

2.1

File:
OpenGL_triedron.c

Func:
call_zbuffer_triedron_redraw()

Source:

//ln836

if(!isWithinView) // delete

//ln1168

if(!iswithinView) // delete

// 原代码中,坐标系模型(ZBUFFER模式下)的原点位于视锥体内时,模型永远位于屏幕中央,修改后,位于所//设置的参数所对应的位置


2.2

File:
OpenGL_triedron.c

Func:
call_zbuffer_triedron_redraw()

Source:

// ln 961
// add this line
  glDisable(GL_DEPTH_TEST);

//ln 935
LightOn();// replace this sentence with function: LightOff();

// 关闭深度测试和光照


2.3

File:
OpenGL_togl_begin_layer_mode.c

Func:
call_togl_redraw_layer2d();

Source:
// ln310
glOrtho()// the last two parameters (-1.0,1.0) should be revised to (-10000.0,10000.0)

// 修改后在layer上可以绘制3d图形(原先只能绘制2D,z坐标为0的点)


2.4

File:
OpenGL_txfm.c

Func:
loadTextFont();

Source
// ln 829
// before " return; ", add these sentences
DeleteObject(font);
DeleteObject(hBmp);
DeleteDC(hMenDC);

// 原代码中未释放资源

阅读更多
个人分类: OpenCascade
想对作者说点什么? 我来说一句

Tableau Data Visualization Cookbook

2014年12月16日 3.52MB 下载

source code

2009年12月25日 2.58MB 下载

birt source code birt source code

2010年09月01日 6.93MB 下载

ARM7_PWM.C

2009年03月05日 2KB 下载

linuxcode source

2017年12月03日 89KB 下载

C# 入门经典 Chapter 14 Code -- revised

2008年07月11日 120KB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭