MantisBT
Mantis Bug Tracker Workflow

View Revisions: Issue #27860 All Revisions ] Back to Issue ]
Summary 0027860: Visualization - clean up Transformation Persistence API
Revision 2016-09-16 10:48 by kgv
Description Transformation Persistence API should be cleaned up in the following way:
- Graphic3d_TransformPers should become a handle class.
  Graphic3d_CStructure::TransformPersistence and PrsMgr_PresentableObject::myTransformPersistence should not be allocated by default.
  Since majority of presentations are expected to be without transformation persistence it sounds reasonable to allocate this property dynamically.
- Graphic3d_TransModeFlags should be defined as enumeration.
  Majority of flags can not be combined, so current definition as a bitmask is confusing.
- Graphic3d_TMF_PanPers should be removed as actually unsupported and making no sense.
  The appropriate alternative is Graphic3d_TMF_TriedronPers, which should be probably extended to define independent offset in pixels within X and Y coordinate.
- Graphic3d_TMF_FullPers should be removed as actually unsupported and making no sense.
  The appropriate replacement is Graphic3d_TMF_2d.
- Combination of Graphic3d_TMF_ZoomPers + Graphic3d_TMF_RotatePers should re-defined by dedicated value.
- Graphic3d_TransformPers should be extended by new methods
  making different meaning of Point depending on persistence mode more straightforward.

Projection state changes should be removed OpenGl_Structure::Render() then:
    aCtx->ProjectionState.Push();
    aCtx->ApplyProjectionMatrix();
...
    aCtx->ProjectionState.Pop();
    aCtx->ApplyProjectionMatrix();
Revision 2016-09-10 14:34 by kgv
Description Transformation Persistence API should be cleaned up in the following way:
- Graphic3d_TransformPers should become a handle class.
  Graphic3d_CStructure::TransformPersistence and PrsMgr_PresentableObject::myTransformPersistence should not be allocated by default.
  Since majority of presentations are expected to be without transformation persistence it sounds reasonable to allocate this property dynamically.
- Graphic3d_TransModeFlags should be defined as enumeration.
  Majority of flags can not be combined, so current definition as a bitmask is confusing.
- Graphic3d_TMF_PanPers should be removed as actually unsupported and making no sense.
  The appropriate alternative is Graphic3d_TMF_TriedronPers, which should be probably extended to define independent offset in pixels within X and Y coordinate.
- Graphic3d_TMF_FullPers should be removed as actually unsupported and making no sense.
  The appropriate replacement is Graphic3d_TMF_2d.
- Combination of Graphic3d_TMF_ZoomPers + Graphic3d_TMF_RotatePers should re-defined by dedicated value.
- Graphic3d_TransformPers should be extended by new methods
  making different meaning of Point depending on persistence mode more straightforward.


Copyright © 2000 - 2019 MantisBT Team
Powered by Mantis Bugtracker