mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-14 13:30:48 +03:00
0031313: Foundation Classes - Dump improvement for classes
- Provide DumpJson for geometrical, ocaf and visualization classes; - Change depth parameter of DumpJson (constant is not obligate here) - Introduce a new macro for transient objects to be called as the first row in DumpJson: OCCT_DUMP_TRANSIENT_CLASS_BEGIN. We need not put the class name in the macro, using get_type_name of Standard_Transient for it. - change implementation of OCCT_DUMP_CLASS_BEGIN and OCCT_DUMP_TRANSIENT_CLASS_BEGIN. It is not an sentry more and it does not create a new hierarchy level. It appends a new row into the output stream: "className": <className> - OCCT_DUMP_* does not require semicolon - class header is included first in source files of TDataStd, TDocStd, TCAFDoc
This commit is contained in:
@@ -199,6 +199,13 @@ DEFINE_STANDARD_HANDLE(OpenGl_Context, Standard_Transient)
|
||||
//!
|
||||
//! Notice that some systems provide mechanisms to simultaneously incorporate with GL contexts with different capabilities.
|
||||
//! For this reason OpenGl_Context should be initialized and used for each GL context independently.
|
||||
//!
|
||||
//! Matrices of OpenGl transformations:
|
||||
//! model -> world -> view -> projection
|
||||
//! These matrices might be changed for local transformation, transform persistent using direct access to
|
||||
//! current matrix of ModelWorldState, WorldViewState and ProjectionState
|
||||
//! After, these matrices should be applyed using ApplyModelWorldMatrix, ApplyWorldViewMatrix,
|
||||
//! ApplyModelViewMatrix or ApplyProjectionMatrix.
|
||||
class OpenGl_Context : public Standard_Transient
|
||||
{
|
||||
DEFINE_STANDARD_RTTIEXT(OpenGl_Context, Standard_Transient)
|
||||
@@ -658,16 +665,25 @@ public:
|
||||
//! Returns currently applied polygon offset parameters.
|
||||
const Graphic3d_PolygonOffset& PolygonOffset() const { return myPolygonOffset; }
|
||||
|
||||
//! Applies matrix stored in ModelWorldState to OpenGl.
|
||||
//! Applies matrix into shader manager stored in ModelWorldState to OpenGl.
|
||||
//! In "model -> world -> view -> projection" it performs:
|
||||
//! model -> world
|
||||
Standard_EXPORT void ApplyModelWorldMatrix();
|
||||
|
||||
//! Applies matrix stored in WorldViewState to OpenGl.
|
||||
//! In "model -> world -> view -> projection" it performs:
|
||||
//! model -> world -> view,
|
||||
//! where model -> world is identical matrix
|
||||
Standard_EXPORT void ApplyWorldViewMatrix();
|
||||
|
||||
//! Applies combination of matrices stored in ModelWorldState and WorldViewState to OpenGl.
|
||||
//! In "model -> world -> view -> projection" it performs:
|
||||
//! model -> world -> view
|
||||
Standard_EXPORT void ApplyModelViewMatrix();
|
||||
|
||||
//! Applies matrix stored in ProjectionState to OpenGl.
|
||||
//! In "model -> world -> view -> projection" it performs:
|
||||
//! view -> projection
|
||||
Standard_EXPORT void ApplyProjectionMatrix();
|
||||
|
||||
public:
|
||||
@@ -947,6 +963,12 @@ public: //! @name methods to alter or retrieve current state
|
||||
//! Return Graphics Driver's vendor.
|
||||
const TCollection_AsciiString& Vendor() const { return myVendor; }
|
||||
|
||||
//! Dumps the content of me into the stream
|
||||
Standard_EXPORT void DumpJson (Standard_OStream& theOStream, Standard_Integer theDepth = -1) const;
|
||||
|
||||
//! Dumps the content of openGL state into the stream
|
||||
Standard_EXPORT static void DumpJsonOpenGlState (Standard_OStream& theOStream, Standard_Integer theDepth = -1);
|
||||
|
||||
private:
|
||||
|
||||
//! Wrapper to system function to retrieve GL function pointer by name.
|
||||
|
Reference in New Issue
Block a user