View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0026806 | Open CASCADE | OCCT:Coding | public | 2015-10-24 08:23 | 2022-10-19 15:56 |
Reporter | Assigned To | ||||
Priority | low | Severity | tweak | ||
Status | new | Resolution | open | ||
Target Version | Unscheduled | ||||
Summary | 0026806: Improper design of some classes in Graphic3d | ||||
Description | Some classes in Graphic3d package are designed in a poor way, violating basic principles of OO programming, such as incapsulation, and OCCT coding conventions. This causes troubles when wrapping these classes in C#: - Graphic3d_BoundBuffer: fields Colors and Bounds are public pointers to internal buffer, should be private - class (actually, struct) Graphic3d_Fresnel and enum Graphic3d_FresnelModel are defined in Graphic3d_BSDF.hxx - Graphic3d_WorldViewProjState constructor and method Initialize accept argument Camera as plain C pointer, why not Handle? if it is used just as ID, it can be Standard_Address instead - Graphic3d_StructuralManager uses map (Graphic3d_IndexedMapOfView) of plain pointers to Graphic3d_CView class, normally managed by Handle - Method ActiveOwners() of the class SelectMgr_ViewerSelector uses direct instantiation of collection instead of typedef - OpenGL_GraphicDriver: fields myLayerIds, myLayerSeq, myMapOfZLayerSettings are public | ||||
Steps To Reproduce | N/A | ||||
Tags | No tags attached. | ||||
Test case number | |||||
Date Modified | Username | Field | Change |
---|---|---|---|
2015-10-24 08:23 |
|
New Issue | |
2015-10-24 08:23 |
|
Assigned To | => kgv |
2015-10-24 08:48 | kgv | Priority | normal => low |
2015-10-24 08:48 | kgv | Target Version | 7.0.0 => Unscheduled |
2015-10-24 08:50 | kgv | Relationship added | related to 0023117 |
2017-07-10 11:26 | kgv | Relationship added | parent of 0028907 |
2022-10-19 15:56 |
|
Assigned To | kgv => vpozdyayev |