View Issue Details

IDProjectCategoryView StatusLast Update
0021091Open CASCADEOCCT:Visualizationpublic2012-02-23 18:49
ReporterabdAssigned To 
PrioritynormalSeverityfeature 
Status closedResolutionfixed 
OSAll 
Fixed in Version6.4.0 
Summary0021091: Text rendering based on FTGL library
DescriptionThe main advantage of this improvement is a preparation platform for future
integration of visualization functionality with using C++ features.
It will allow to reorganize visualization algorithms and other auxiliary
functionality to more clear and flexible architecture.

The main planned future integration is a support external libraries for advanced
2D and 3D text visualization.
Additional information
and documentation updates
Documentation remark, added by PSN 2010-01-28 14:27:10:

New features:
- Implementation of LayerItems for Visual3d_Layers. This approach of
visualization of 2D layer presentations. Each Item has a two typical for
presentation virtual methods: ComputeLayerPrs and RedrawLayerPrs.
ComputeLayerPrs calls by hand or before RedrawLayerPrs if IsNeedToRecompute flag
is true. This approach for visualization of Layer content helps to remove
limitation ofOpenGl lists ( uses in Layers by default ). Old functionality is
not changed.

- First implementation of support of system fonts. This functionality parses
system configuration and searches all system fonts. This information will use in
future implementation of text 2D and 3D presentations.

Improvements:
- Default text (or font) height of Prs3d presentation is not a magic constant
for all graphic drivers yet (1/81). Graphic3d_GraphicDriver now has a virtual
method ::DefaultTextHeight() with returns adopted parameter for current Graphic
Driver. Use '-1' for default representation.

- New text output representation is implemented in OpenCascade text
drawing. This functionality to use system fonts as an alternative texture
mapped fonts(WNT) or traditional bitmap fonts(UNIX, SUN). This is new feature
makes text output owing to the fact that system used FTGL and FreeType
libraries.
- Text output on Viewer several times faster. This is important for
applications dealing with large number of text labels in Viewer.
- New functionality is control basic Font properties(FontName,
FontAspect, Height, Align, Incline, Color, Zoomable). If user introduce
FontName, which not meet in System font list, then algorithm return default
font- “Courier”. Zoomable is answered for increase or decrease font(as object).
Incline is allowed to user bending text(in degrees). Align is displaced font
relatively of it associating point.

Changes:
OpenGl package is migrated to C++ compiler:
- redesign memory management functionality;
- redesign stack of graphic structures functionality.

Removed deprecated functionality from Graphic3d_GraphicDriver (all duplicates of
OpenGl_GraphicDriver functionality).

Redesigned InterfaceGraphic package

Add text draw command: vdrawtext. This command is allowed controlled Base font
functionality.


Modified entities:
OpenGl package (all sources changes)
"+" OpenGl_textfontaspect.cxx
"+" OpenGl_textalignment.cxx
"+" OpenGl_textangle.cxx
"+" OpenGl_textzoomable.cxx
"+" OpenGl_TextRender.cxx
"+" OpenGl_TextRender.hxx

"+" InterfaceGraphic.hxx
"m" InterfaceGraphic_Aspect.hxx
"m" InterfaceGraphic_Cextern.hxx
"m" InterfaceGraphic_degeneration.hxx
"m" InterfaceGraphic_Graphic3d.hxx
"m" InterfaceGraphic_PrimitiveArray.hxx
"m" InterfaceGraphic_telem.hxx
"m" InterfaceGraphic_tgl_all.hxx
"m" InterfaceGraphic_WNT.hxx
"m" InterfaceGraphic_X11.hxx

"m"Graphic3d.cdl
"m"Graphic3d_AspectText3d.cdl
"m"Graphic3d_AspectText3d.cxx
"m"Graphic3d_GraphicDriver.cdl
"m"Graphic3d_GraphicDriver.cxx
"m"Graphic3d_GraphicDriver_1.cxx
"m"Graphic3d_GraphicDriver_2.cxx
"m"Graphic3d_GraphicDriver_3.cxx
"m"Graphic3d_GraphicDriver_4.cxx
"m"Graphic3d_GraphicDriver_5.cxx
"m"Graphic3d_GraphicDriver_6.cxx
"m"Graphic3d_GraphicDriver_7.cxx
"m"Graphic3d_GraphicDriver_703.cxx
"m"Graphic3d_GraphicDriver_705.cxx
"m"Graphic3d_GraphicDriver_707.cxx
"m"Graphic3d_GraphicDriver_709.cxx
"m"Graphic3d_GraphicDriver_710.cxx
"m"Graphic3d_GraphicDriver_711.cxx
"m"Graphic3d_GraphicDriver_712.cxx
"m"Graphic3d_GraphicDriver_713.cxx
"m"Graphic3d_GraphicDriver_8.cxx
"m"Graphic3d_GraphicDriver_9.cxx
"m"Graphic3d_GraphicDriver_Export.cxx
"m"Graphic3d_GraphicDriver_Layer.cxx
"m"Graphic3d_GraphicDriver_Print.cxx
"m"Graphic3d_Group.cdl
"m"Graphic3d_Group_2.cxx
"m"Graphic3d_Group_8.cxx
"+"Graphic3d_NameOfFont.hxx
"+"Graphic3d_NListOfHAsciiString.hxx
"m"Graphic3d_Structure.cxx
"+"Graphic3d_WNTGraphicDevice.cxx

"m" OSD.cdl
"+" OSD_FontMgr.cxx
"+" OSD_FontMgr.cdl
"+" OSD_SystemFont.cxx
"+" OSD_SystemFont.cdl
"+" OSD_NListOfSystemFont.hxx

"m" MeshVS.cdl
"m" MeshVS_Drawer.cdl
"m" MeshVS_Drawer.cxx
"m" MeshVS_TextPrsBuilder.cxx
"m" MeshVS_Tool.cxx

"m" Prs3d_Datum.gxx
"m" Prs3d_TextAspect.cdl
"m" Prs3d_TextAspect.cxx

"m" V3d.cdl
"m" V3d_ColorScale.cdl
"m" V3d_ColorScale.cxx
"+" V3d_ColorScaleLayerItem.cdl
"+" V3d_ColorScaleLayerItem.cxx
"m" V3d_LayerMgr.cdl
"m" V3d_LayerMgr.cxx
"m" V3d_View.cdl
"m" V3d_View.cxx

"m" ViewerTest_ObjectCommands.cxx
"m" ViewerTest_ViewerCommands.cxx

"m" Visual3d.cdl
"m" Visual3d_Layer.cdl
"m" Visual3d_Layer.cxx
"+" Visual3d_LayerItem.cdl
"+" Visual3d_LayerItem.cxx
"+" Visual3d_NListOfLayerItems.hxx
"m" Visual3d_TransientManager.cdl

"m" WNT_PixMap.cxx

"m" XSDRAWSTLVRML.cxx
"m" XSDRAWSTLVRML_DataSource.cxx


Graphic3d_AspectText3d.cdl
In Graphic3d_AspectText3d add new fields:
MyTextZoomable
MyTextAngle
MyTextFontAspect

Graphic3d_AspectText3d add new Methods:

SetTextZoomable(Standard_Boolean)
GetTextZoomable()

SetTextAngle (Standard_Real)
GetTextAngle()

SetTextFontAspect ( OSD_ FontAspect )
GetTextFontAspect()

Values() method of this class accepts an additional out arguments to put
current state of MyTextZoomable, MyTextAngle, MyTextFontAspect
TagsNo tags attached.
Test case number

Attached Files

  • patch.tgz (450,214 bytes)
  • Letter.txt (54,498 bytes)
  • patch_v2.tgz (399,714 bytes)
  • patch_v3.tgz (399,259 bytes)
  • CompilationErrors_patch_v3.txt (20,589 bytes)
  • patch_v4.tgz (400,521 bytes)
  • OSD_FontMgr.cxx.tar.gz (1,907 bytes)
  • OCC21091-v4-merge.tar.gz (471,591 bytes)
  • psn_OCC21091_v1.tar.gz (3,088,974 bytes)
  • CompilationSettings.tar.gz (213,514 bytes)
  • psn_OCC21091_v2.tar.gz (3,364,760 bytes)
  • OCC21091-v6-opt_22012010.tar.gz (471,540 bytes)
  • OpenGl_fixed.tar.gz (3,752 bytes)
  • psn_OCC21091_v3.tar.gz (112,126 bytes)
  • ViewerTest_fixed.tar.gz (18,272 bytes)
  • psn_OCC21091_v4.tar.gz (57,302 bytes)
  • GL2PScommand.tar.gz (10,166 bytes)
  • GL2PScommand_v2.tar.gz (10,162 bytes)
  • psn_OCC21091_v5.tar.gz (131,581 bytes)

Relationships

duplicate of 0015008 closedbugmaster Open CASCADE Implementation of zoomable text object and supporting of system fonts 
duplicate of 0021172 closedsan Open CASCADE Default 3D text is displayed on Windows with artefact 
has duplicate 0007104 closedsan Open CASCADE Improvement of text output in viewers on various supported platforms 
related to 0021450 closed Open CASCADE Missing text in PDF export 

Activities

2009-04-20 09:39

 

patch.tgz (450,214 bytes)

2009-04-22 07:46

 

Letter.txt (54,498 bytes)

2009-04-23 10:48

 

patch_v2.tgz (399,714 bytes)

2009-04-23 13:45

 

patch_v3.tgz (399,259 bytes)

2009-04-24 05:51

 

CompilationErrors_patch_v3.txt (20,589 bytes)

2009-04-27 07:37

 

patch_v4.tgz (400,521 bytes)

2009-04-28 12:41

 

OSD_FontMgr.cxx.tar.gz (1,907 bytes)

2009-05-08 10:26

 

OCC21091-v4-merge.tar.gz (471,591 bytes)

2009-10-14 14:13

 

psn_OCC21091_v1.tar.gz (3,088,974 bytes)

2009-10-14 18:06

 

CompilationSettings.tar.gz (213,514 bytes)

2009-11-18 15:30

 

psn_OCC21091_v2.tar.gz (3,364,760 bytes)

2010-01-26 18:32

 

OCC21091-v6-opt_22012010.tar.gz (471,540 bytes)

2010-02-18 11:04

 

OpenGl_fixed.tar.gz (3,752 bytes)

bugmaster

2010-02-18 15:08

administrator   ~0014531

*** Bug 21172 has been marked as a duplicate of this bug. ***

2010-08-12 15:11

 

psn_OCC21091_v3.tar.gz (112,126 bytes)

2010-08-13 12:48

 

ViewerTest_fixed.tar.gz (18,272 bytes)

2010-08-17 19:30

 

psn_OCC21091_v4.tar.gz (57,302 bytes)

2010-08-19 12:58

 

GL2PScommand.tar.gz (10,166 bytes)

2010-08-20 09:26

 

GL2PScommand_v2.tar.gz (10,162 bytes)

2010-08-26 13:02

 

psn_OCC21091_v5.tar.gz (131,581 bytes)

bugmaster

2010-09-01 09:28

administrator   ~0014542

*** Bug 15008 has been marked as a duplicate of this bug. ***

Issue History

Date Modified Username Field Change
2009-04-20 11:32 abd CC => abv
2009-04-21 11:17 bugmaster Assigned To bugmaster => abd
2009-04-21 11:17 bugmaster Status new => assigned
2009-04-21 11:24 abd Status assigned => resolved
2009-04-22 09:47 mkv Status resolved => assigned
2009-04-23 12:50 abd Status assigned => resolved
2009-04-23 15:09 mkv Status resolved => assigned
2009-10-12 12:40 san CC =>
2009-10-12 12:40 san Assigned To abd => psn
2009-11-03 11:03 san BugsThisDependsOn => 21450
2010-02-18 11:11 psn Status assigned => resolved
2010-02-18 15:08 bugmaster CC => bugmaster
2010-06-23 13:39 bugmaster Status resolved => tested
2010-07-23 13:45 bugmaster Status tested => assigned
2010-08-13 15:35 bugmaster Status assigned => tested
2010-08-13 17:23 bugmaster Status tested => verified
2010-10-07 11:14 abv OtherBugsDependingOnThis => 22030
2011-08-02 11:24 bugmaster Category OCCT:VIZ => OCCT:Visualization
2012-01-10 17:29 atp Assigned To psn =>
2012-01-10 17:29 atp Description Updated
2012-01-10 17:29 atp Additional Information Updated
2012-02-23 18:49 san Relationship added has duplicate 0007104