mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-19 13:40:49 +03:00
0027670: Visualization - avoid duplication of structures defining primitive array presentation aspects
Quantity_ColorRGBA has been introduced as convenient structure holding Vec4 for OpenGL. Graphic3d_PolygonOffset has been added as replacement for TEL_POFFSET_PARAM. Duplicating definition of Hatch Styles TEL_HS_*** has been removed; Aspect_HatchStyle enum now follows values of TEL_HS_*** for compatibility. TelCullMode enum has been removed. Aspect_AspectLine has been merged into Graphic3d_AspectLine3d. Aspect_AspectMarker has been merged into Graphic3d_AspectMarker3d. Aspect_AspectFillArea has been merged into Graphic3d_AspectFillArea3d. Graphic3d_CAspectFillArea have been removed. OpenGl_AspectLine now stores Graphic3d_AspectLine3d as class field. OpenGl_AspectMarker now stores Graphic3d_AspectMarker3d as class field. OpenGl_AspectText now stores Graphic3d_AspectText3d as class field. OpenGl_AspectFace now stores Graphic3d_AspectFillArea3d as class field. Graphic3d_AspectFillArea3d - back face culling is now enabled by default. TKOpenGl now relies on Graphic3d_Group::IsClosed() flag to disable face culling. StdPrs_ShadedShape now does not modify aspect for different culling modes. Headers InterfaceGraphic_Graphic3d.hxx, InterfaceGraphic_telem.hxx, InterfaceGraphic_tgl_all.hxx defining obsolete structures CALL_DEF_COLOR, CALL_DEF_POINT, CALL_DEF_MATERIAL, CALL_DEF_TRANSFORM_PERSISTENCE, TEL_POINT, TEL_COLOUR have been removed. Useless and broken test case bugs/vis/buc60821 has been removed. OpenGl_Workspace::myAspectFaceApplied and myAspectMarkerApplied have been replaced from OpenGl_AspectFace*/OpenGl_AspectMarker* to Handle(Graphic3d_AspectFillArea3d)/Handle(Graphic3d_AspectMarker3d). This eliminates reading from freed memory (e.g. when OpenGl_AspectFace is allocated on stack like in OpenGl_Trihedron). OpenGl_PrimitiveArray::drawEdges() - fix drawing non-indexed array from VBO (access violation due to NULL handle). AIS_Dimension::DrawArrow() - added missing initialization of 3D arrow aspect. AIS_Manipulator::Compute() now creates dedicated Face Aspect for each axis. V3d_CircularGrid, V3d_RectangularGrid now create dedicated line aspects with different color. AIS_InteractiveObject::SetMaterial() - do not modify global ShadingAspect.
This commit is contained in:
@@ -1,147 +0,0 @@
|
||||
// Created by: NW,JPB,CAL
|
||||
// Copyright (c) 1991-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or modify it under
|
||||
// the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
// by the Free Software Foundation, with special exception defined in the file
|
||||
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
// distribution for complete text of the license and disclaimer of any warranty.
|
||||
//
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
// Modified: 15/01/98 ; FMN : Ajout Hidden Line
|
||||
//-Version
|
||||
//-Design Declaration of variables specific to the context
|
||||
// of tracing facets
|
||||
//-Warning Context of tracing facets id defined by:
|
||||
// - the style of the interior of the facet
|
||||
// - the style of the border of the facet
|
||||
// - the color
|
||||
//-References
|
||||
//-Language C++ 2.0
|
||||
//-Declarations
|
||||
// for the class
|
||||
|
||||
#include <Aspect_AspectFillArea.hxx>
|
||||
#include <Aspect_AspectFillAreaDefinitionError.hxx>
|
||||
#include <Quantity_Color.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
|
||||
IMPLEMENT_STANDARD_RTTIEXT(Aspect_AspectFillArea,MMgt_TShared)
|
||||
|
||||
//-Aliases
|
||||
//-Global data definitions
|
||||
// -- interior
|
||||
// MyInteriorStyle : InteriorStyle;
|
||||
// MyInteriorColor : Color;
|
||||
// -- border
|
||||
// MyEdgeColor : Color;
|
||||
// MyEdgeType : TypeOfLine;
|
||||
// MyEdgeWidth : Standard_Real;
|
||||
// -- shading
|
||||
// MyHatchStyle : HatchStyle;
|
||||
//-Constructors
|
||||
//-Destructors
|
||||
//-Methods, in order
|
||||
Aspect_AspectFillArea::Aspect_AspectFillArea () {
|
||||
|
||||
MyInteriorStyle = Aspect_IS_EMPTY;
|
||||
MyInteriorColor = Quantity_NOC_CYAN1;
|
||||
MyBackInteriorColor = Quantity_NOC_CYAN1;
|
||||
MyEdgeColor = Quantity_NOC_WHITE;
|
||||
MyEdgeType = Aspect_TOL_SOLID;
|
||||
MyEdgeWidth = 1.0;
|
||||
MyHatchStyle = Aspect_HS_VERTICAL;
|
||||
|
||||
}
|
||||
|
||||
Aspect_AspectFillArea::Aspect_AspectFillArea (const Aspect_InteriorStyle InteriorStyle, const Quantity_Color& InteriorColor, const Quantity_Color& EdgeColor, const Aspect_TypeOfLine EdgeLineType, const Standard_Real EdgeLineWidth) {
|
||||
|
||||
if (EdgeLineWidth <= 0.0)
|
||||
Aspect_AspectFillAreaDefinitionError::Raise
|
||||
("Bad value for EdgeLineWidth");
|
||||
|
||||
MyInteriorStyle = InteriorStyle;
|
||||
MyInteriorColor = InteriorColor;
|
||||
MyEdgeColor = EdgeColor;
|
||||
MyEdgeType = EdgeLineType;
|
||||
MyEdgeWidth = EdgeLineWidth;
|
||||
MyHatchStyle = Aspect_HS_VERTICAL;
|
||||
|
||||
}
|
||||
|
||||
void Aspect_AspectFillArea::SetInteriorStyle (const Aspect_InteriorStyle AStyle) {
|
||||
|
||||
MyInteriorStyle = AStyle;
|
||||
|
||||
}
|
||||
|
||||
void Aspect_AspectFillArea::SetInteriorColor (const Quantity_Color& AColor) {
|
||||
|
||||
MyInteriorColor = AColor;
|
||||
|
||||
}
|
||||
|
||||
void Aspect_AspectFillArea::SetBackInteriorColor( const Quantity_Color& color )
|
||||
{
|
||||
MyBackInteriorColor = color;
|
||||
}
|
||||
|
||||
void Aspect_AspectFillArea::SetEdgeColor (const Quantity_Color& AColor) {
|
||||
|
||||
MyEdgeColor = AColor;
|
||||
|
||||
}
|
||||
|
||||
void Aspect_AspectFillArea::SetEdgeLineType (const Aspect_TypeOfLine AType) {
|
||||
|
||||
MyEdgeType = AType;
|
||||
|
||||
}
|
||||
|
||||
void Aspect_AspectFillArea::SetEdgeWidth (const Standard_Real AWidth) {
|
||||
|
||||
if (AWidth <= 0.0)
|
||||
Aspect_AspectFillAreaDefinitionError::Raise
|
||||
("Bad value for EdgeLineWidth");
|
||||
|
||||
MyEdgeWidth = AWidth;
|
||||
|
||||
}
|
||||
|
||||
void Aspect_AspectFillArea::SetHatchStyle (const Aspect_HatchStyle AStyle) {
|
||||
|
||||
MyHatchStyle = AStyle;
|
||||
|
||||
}
|
||||
|
||||
Aspect_HatchStyle Aspect_AspectFillArea::HatchStyle () const {
|
||||
|
||||
return (MyHatchStyle);
|
||||
|
||||
}
|
||||
|
||||
void Aspect_AspectFillArea::Values (Aspect_InteriorStyle& AStyle, Quantity_Color& AIntColor, Quantity_Color& AEdgeColor, Aspect_TypeOfLine& AType, Standard_Real& AWidth) const {
|
||||
|
||||
AStyle = MyInteriorStyle;
|
||||
AIntColor = MyInteriorColor;
|
||||
AEdgeColor = MyEdgeColor;
|
||||
AType = MyEdgeType;
|
||||
AWidth = MyEdgeWidth;
|
||||
|
||||
}
|
||||
|
||||
void Aspect_AspectFillArea::Values (Aspect_InteriorStyle& AStyle, Quantity_Color& AIntColor, Quantity_Color& BackIntColor, Quantity_Color& AEdgeColor, Aspect_TypeOfLine& AType, Standard_Real& AWidth) const {
|
||||
|
||||
AStyle = MyInteriorStyle;
|
||||
AIntColor = MyInteriorColor;
|
||||
BackIntColor = MyBackInteriorColor;
|
||||
AEdgeColor = MyEdgeColor;
|
||||
AType = MyEdgeType;
|
||||
AWidth = MyEdgeWidth;
|
||||
|
||||
}
|
||||
@@ -1,158 +0,0 @@
|
||||
// Created on: 1991-11-04
|
||||
// Created by: NW,JPB,CAL
|
||||
// Copyright (c) 1991-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or modify it under
|
||||
// the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
// by the Free Software Foundation, with special exception defined in the file
|
||||
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
// distribution for complete text of the license and disclaimer of any warranty.
|
||||
//
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#ifndef _Aspect_AspectFillArea_HeaderFile
|
||||
#define _Aspect_AspectFillArea_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
|
||||
#include <Aspect_InteriorStyle.hxx>
|
||||
#include <Quantity_Color.hxx>
|
||||
#include <Aspect_TypeOfLine.hxx>
|
||||
#include <Standard_Real.hxx>
|
||||
#include <Aspect_HatchStyle.hxx>
|
||||
#include <MMgt_TShared.hxx>
|
||||
class Aspect_AspectFillAreaDefinitionError;
|
||||
class Quantity_Color;
|
||||
|
||||
|
||||
class Aspect_AspectFillArea;
|
||||
DEFINE_STANDARD_HANDLE(Aspect_AspectFillArea, MMgt_TShared)
|
||||
|
||||
//! Group of attributes for the FACE primitives.
|
||||
//! The attributes are:
|
||||
//! * type of interior
|
||||
//! * type of hatch
|
||||
//! * interior colour
|
||||
//! * border colour
|
||||
//! * type of border
|
||||
//! * thickness of border
|
||||
//! when the value of the group is modified, all graphic
|
||||
//! objects using this group are modified.
|
||||
class Aspect_AspectFillArea : public MMgt_TShared
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
|
||||
//! Modifies the colour of the edge of the face
|
||||
Standard_EXPORT void SetEdgeColor (const Quantity_Color& AColor);
|
||||
|
||||
//! Modifies the edge line type
|
||||
Standard_EXPORT void SetEdgeLineType (const Aspect_TypeOfLine AType);
|
||||
|
||||
//! Modifies the edge thickness
|
||||
//!
|
||||
//! Category: Methods to modify the class definition
|
||||
//!
|
||||
//! Warning: Raises AspectFillAreaDefinitionError if the
|
||||
//! width is a negative value.
|
||||
Standard_EXPORT void SetEdgeWidth (const Standard_Real AWidth);
|
||||
|
||||
//! Modifies the hatch type used when InteriorStyle
|
||||
//! is IS_HATCH
|
||||
Standard_EXPORT void SetHatchStyle (const Aspect_HatchStyle AStyle);
|
||||
|
||||
//! Modifies the colour of the interior of the face
|
||||
Standard_EXPORT void SetInteriorColor (const Quantity_Color& AColor);
|
||||
|
||||
//! Modifies the colour of the interior of the back face
|
||||
Standard_EXPORT void SetBackInteriorColor (const Quantity_Color& color);
|
||||
|
||||
//! Modifies the interior type used for rendering
|
||||
//!
|
||||
//! InteriorStyle : IS_EMPTY no interior
|
||||
//! IS_HOLLOW display the boundaries of the surface
|
||||
//! IS_HATCH display hatching
|
||||
//! IS_SOLID display interior entirely filled
|
||||
Standard_EXPORT void SetInteriorStyle (const Aspect_InteriorStyle AStyle);
|
||||
|
||||
//! Returns the hatch type used when InteriorStyle
|
||||
//! is IS_HATCH
|
||||
Standard_EXPORT Aspect_HatchStyle HatchStyle() const;
|
||||
|
||||
Standard_EXPORT void Values (Aspect_InteriorStyle& AStyle, Quantity_Color& AIntColor, Quantity_Color& AEdgeColor, Aspect_TypeOfLine& AType, Standard_Real& AWidth) const;
|
||||
|
||||
//! Returns the current values of the <me> group.
|
||||
Standard_EXPORT void Values (Aspect_InteriorStyle& AStyle, Quantity_Color& AIntColor, Quantity_Color& BackIntColor, Quantity_Color& AEdgeColor, Aspect_TypeOfLine& AType, Standard_Real& AWidth) const;
|
||||
|
||||
|
||||
|
||||
|
||||
DEFINE_STANDARD_RTTIEXT(Aspect_AspectFillArea,MMgt_TShared)
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
//! Initialise the constructor
|
||||
//! of Graphic3d_AspectFillArea3d.
|
||||
//!
|
||||
//! default values :
|
||||
//!
|
||||
//! InteriorStyle = Aspect_IS_EMPTY;
|
||||
//! InteriorColor = Quantity_NOC_CYAN1;
|
||||
//! EdgeColor = Quantity_NOC_WHITE;
|
||||
//! EdgeType = Aspect_TOL_SOLID;
|
||||
//! EdgeWidth = 1.0;
|
||||
//! HatchStyle = Aspect_HS_VERTICAL;
|
||||
Standard_EXPORT Aspect_AspectFillArea();
|
||||
|
||||
//! Initialise the values for the constructor of
|
||||
//! Graphic3d_AspectFillArea3d.
|
||||
//!
|
||||
//! InteriorStyle :
|
||||
//! IS_EMPTY no interior.
|
||||
//! IS_HOLLOW display the boundaries of the surface.
|
||||
//! IS_HATCH display hatched with a hatch style.
|
||||
//! IS_SOLID display the interior entirely filled.
|
||||
//!
|
||||
//! EdgeLineType :
|
||||
//! TOL_SOLID continuous
|
||||
//! TOL_DASH dashed
|
||||
//! TOL_DOT dotted
|
||||
//! TOL_DOTDASH mixed
|
||||
//!
|
||||
//! default values :
|
||||
//! HatchStyle = Aspect_HS_VERTICAL;
|
||||
//!
|
||||
//! Warning: Raises AspectFillAreaDefinitionError if the
|
||||
//! width is a negative value.
|
||||
Standard_EXPORT Aspect_AspectFillArea(const Aspect_InteriorStyle InteriorStyle, const Quantity_Color& InteriorColor, const Quantity_Color& EdgeColor, const Aspect_TypeOfLine EdgeLineType, const Standard_Real EdgeLineWidth);
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
Aspect_InteriorStyle MyInteriorStyle;
|
||||
Quantity_Color MyInteriorColor;
|
||||
Quantity_Color MyBackInteriorColor;
|
||||
Quantity_Color MyEdgeColor;
|
||||
Aspect_TypeOfLine MyEdgeType;
|
||||
Standard_Real MyEdgeWidth;
|
||||
Aspect_HatchStyle MyHatchStyle;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _Aspect_AspectFillArea_HeaderFile
|
||||
@@ -1,94 +0,0 @@
|
||||
// Created by: NW,JPB,CAL
|
||||
// Copyright (c) 1991-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or modify it under
|
||||
// the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
// by the Free Software Foundation, with special exception defined in the file
|
||||
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
// distribution for complete text of the license and disclaimer of any warranty.
|
||||
//
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
//-Version
|
||||
//-Design Declaration of variables specific to the context
|
||||
// of line tracing
|
||||
//-Warning A context of line tracing is defined by :
|
||||
// - the color
|
||||
// - the type of line
|
||||
// - the thickness
|
||||
//-References
|
||||
//-Language C++ 2.0
|
||||
//-Declarations
|
||||
// for the class
|
||||
|
||||
#include <Aspect_AspectLine.hxx>
|
||||
#include <Aspect_AspectLineDefinitionError.hxx>
|
||||
#include <Quantity_Color.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
|
||||
IMPLEMENT_STANDARD_RTTIEXT(Aspect_AspectLine,MMgt_TShared)
|
||||
|
||||
//-Aliases
|
||||
//-Global data definitions
|
||||
// -- color
|
||||
// MyColor : Color;
|
||||
// -- type of line
|
||||
// MyType : TypeOfLine;
|
||||
// -- thickness
|
||||
// MyWidth : Standard_Real;
|
||||
//-Constructors
|
||||
//-Destructors
|
||||
//-Methods, in order
|
||||
Aspect_AspectLine::Aspect_AspectLine () {
|
||||
|
||||
MyColor = Quantity_NOC_YELLOW;
|
||||
MyType = Aspect_TOL_SOLID;
|
||||
MyWidth = 1.0;
|
||||
|
||||
}
|
||||
|
||||
Aspect_AspectLine::Aspect_AspectLine (const Quantity_Color& AColor, const Aspect_TypeOfLine AType, const Standard_Real AWidth) {
|
||||
|
||||
if (AWidth <= 0.0)
|
||||
Aspect_AspectLineDefinitionError::Raise
|
||||
("Bad value for LineWidth");
|
||||
|
||||
MyColor = AColor;
|
||||
MyType = AType;
|
||||
MyWidth = AWidth;
|
||||
|
||||
}
|
||||
|
||||
void Aspect_AspectLine::SetColor (const Quantity_Color& AColor) {
|
||||
|
||||
MyColor = AColor;
|
||||
|
||||
}
|
||||
|
||||
void Aspect_AspectLine::SetType (const Aspect_TypeOfLine AType) {
|
||||
|
||||
MyType = AType;
|
||||
|
||||
}
|
||||
|
||||
void Aspect_AspectLine::SetWidth (const Standard_Real AWidth) {
|
||||
|
||||
if (AWidth <= 0.0)
|
||||
Aspect_AspectLineDefinitionError::Raise
|
||||
("Bad value for LineWidth");
|
||||
|
||||
MyWidth = AWidth;
|
||||
|
||||
}
|
||||
|
||||
void Aspect_AspectLine::Values (Quantity_Color& AColor, Aspect_TypeOfLine& AType, Standard_Real& AWidth) const {
|
||||
|
||||
AColor = MyColor;
|
||||
AType = MyType;
|
||||
AWidth = MyWidth;
|
||||
|
||||
}
|
||||
@@ -1,100 +0,0 @@
|
||||
// Created by: NW,JPB,CAL
|
||||
// Copyright (c) 1991-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or modify it under
|
||||
// the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
// by the Free Software Foundation, with special exception defined in the file
|
||||
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
// distribution for complete text of the license and disclaimer of any warranty.
|
||||
//
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#ifndef _Aspect_AspectLine_HeaderFile
|
||||
#define _Aspect_AspectLine_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
|
||||
#include <Quantity_Color.hxx>
|
||||
#include <Aspect_TypeOfLine.hxx>
|
||||
#include <Standard_Real.hxx>
|
||||
#include <MMgt_TShared.hxx>
|
||||
class Aspect_AspectLineDefinitionError;
|
||||
class Quantity_Color;
|
||||
|
||||
|
||||
class Aspect_AspectLine;
|
||||
DEFINE_STANDARD_HANDLE(Aspect_AspectLine, MMgt_TShared)
|
||||
|
||||
//! This class allows the definition of a group
|
||||
//! of attributes for the LINE primitive
|
||||
//! The attributes are:
|
||||
//! * Colour
|
||||
//! * Type
|
||||
//! * Thickness
|
||||
//! When any value of the group is modified
|
||||
//! all graphic objects using the group are modified.
|
||||
class Aspect_AspectLine : public MMgt_TShared
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
|
||||
//! Modifies the colour of <me>.
|
||||
Standard_EXPORT void SetColor (const Quantity_Color& AColor);
|
||||
|
||||
//! Modifies the type of <me>.
|
||||
Standard_EXPORT void SetType (const Aspect_TypeOfLine AType);
|
||||
|
||||
//! Modifies the thickness of <me>.
|
||||
//! Category: Methods to modify the class definition
|
||||
//! Warning: Raises AspectLineDefinitionError if the
|
||||
//! width is a negative value.
|
||||
Standard_EXPORT void SetWidth (const Standard_Real AWidth);
|
||||
|
||||
//! Returns the current values of the group <me>.
|
||||
Standard_EXPORT void Values (Quantity_Color& AColor, Aspect_TypeOfLine& AType, Standard_Real& AWidth) const;
|
||||
|
||||
|
||||
|
||||
|
||||
DEFINE_STANDARD_RTTIEXT(Aspect_AspectLine,MMgt_TShared)
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
//! Initialise the constructor for Graphic3d_AspectLine3d.
|
||||
//!
|
||||
//! Default values :
|
||||
//! Color = Quantity_NOC_YELLOW;
|
||||
//! Type = Aspect_TOL_SOLID;
|
||||
//! Width = 1.0;
|
||||
Standard_EXPORT Aspect_AspectLine();
|
||||
|
||||
//! Initialise the values for the
|
||||
//! constructor of Graphic3d_AspectLine3d.
|
||||
Standard_EXPORT Aspect_AspectLine(const Quantity_Color& AColor, const Aspect_TypeOfLine AType, const Standard_Real AWidth);
|
||||
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
Quantity_Color MyColor;
|
||||
Aspect_TypeOfLine MyType;
|
||||
Standard_Real MyWidth;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _Aspect_AspectLine_HeaderFile
|
||||
@@ -1,94 +0,0 @@
|
||||
// Created by: NW,JPB,CAL
|
||||
// Copyright (c) 1991-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or modify it under
|
||||
// the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
// by the Free Software Foundation, with special exception defined in the file
|
||||
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
// distribution for complete text of the license and disclaimer of any warranty.
|
||||
//
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
//-Version
|
||||
//-Design Declaration of variables specific to the context
|
||||
// of tracing of markers
|
||||
//-Warning Context of tracing of markers is defined by :
|
||||
// - the color
|
||||
// - the type
|
||||
// - the scale
|
||||
//-References
|
||||
//-Language C++ 2.0
|
||||
//-Declarations
|
||||
// for the class
|
||||
|
||||
#include <Aspect_AspectMarker.hxx>
|
||||
#include <Aspect_AspectMarkerDefinitionError.hxx>
|
||||
#include <Quantity_Color.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
|
||||
IMPLEMENT_STANDARD_RTTIEXT(Aspect_AspectMarker,MMgt_TShared)
|
||||
|
||||
//-Aliases
|
||||
//-Global data definitions
|
||||
// -- color
|
||||
// MyColor : Color;
|
||||
// -- type
|
||||
// MyType : TypeOfMarker;
|
||||
// -- scale
|
||||
// MyScale : Standard_Real;
|
||||
//-Constructors
|
||||
//-Destructors
|
||||
//-Methods, in order
|
||||
Aspect_AspectMarker::Aspect_AspectMarker () {
|
||||
|
||||
MyColor = Quantity_NOC_YELLOW;
|
||||
MyType = Aspect_TOM_X;
|
||||
MyScale = 1.0;
|
||||
|
||||
}
|
||||
|
||||
Aspect_AspectMarker::Aspect_AspectMarker (const Quantity_Color& AColor, const Aspect_TypeOfMarker AType, const Standard_Real AScale) {
|
||||
|
||||
if (AScale <= 0.0)
|
||||
Aspect_AspectMarkerDefinitionError::Raise
|
||||
("Bad value for MarkerScale");
|
||||
|
||||
MyColor = AColor;
|
||||
MyType = AType;
|
||||
MyScale = AScale;
|
||||
|
||||
}
|
||||
|
||||
void Aspect_AspectMarker::SetColor (const Quantity_Color& AColor) {
|
||||
|
||||
MyColor = AColor;
|
||||
|
||||
}
|
||||
|
||||
void Aspect_AspectMarker::SetType (const Aspect_TypeOfMarker AType) {
|
||||
|
||||
MyType = AType;
|
||||
|
||||
}
|
||||
|
||||
void Aspect_AspectMarker::SetScale (const Standard_Real AScale) {
|
||||
|
||||
if (AScale <= 0.0)
|
||||
Aspect_AspectMarkerDefinitionError::Raise
|
||||
("Bad value for MarkerScale");
|
||||
|
||||
MyScale = AScale;
|
||||
|
||||
}
|
||||
|
||||
void Aspect_AspectMarker::Values (Quantity_Color& AColor, Aspect_TypeOfMarker& AType, Standard_Real& AScale) const {
|
||||
|
||||
AColor = MyColor;
|
||||
AType = MyType;
|
||||
AScale = MyScale;
|
||||
|
||||
}
|
||||
@@ -1,106 +0,0 @@
|
||||
// Created on: 1991-09-02
|
||||
// Created by: NW,JPB,CAL
|
||||
// Copyright (c) 1991-1999 Matra Datavision
|
||||
// Copyright (c) 1999-2014 OPEN CASCADE SAS
|
||||
//
|
||||
// This file is part of Open CASCADE Technology software library.
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or modify it under
|
||||
// the terms of the GNU Lesser General Public License version 2.1 as published
|
||||
// by the Free Software Foundation, with special exception defined in the file
|
||||
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
|
||||
// distribution for complete text of the license and disclaimer of any warranty.
|
||||
//
|
||||
// Alternatively, this file may be used under the terms of Open CASCADE
|
||||
// commercial license or contractual agreement.
|
||||
|
||||
#ifndef _Aspect_AspectMarker_HeaderFile
|
||||
#define _Aspect_AspectMarker_HeaderFile
|
||||
|
||||
#include <Standard.hxx>
|
||||
#include <Standard_Type.hxx>
|
||||
|
||||
#include <Quantity_Color.hxx>
|
||||
#include <Aspect_TypeOfMarker.hxx>
|
||||
#include <Standard_Real.hxx>
|
||||
#include <MMgt_TShared.hxx>
|
||||
class Aspect_AspectMarkerDefinitionError;
|
||||
class Quantity_Color;
|
||||
|
||||
|
||||
class Aspect_AspectMarker;
|
||||
DEFINE_STANDARD_HANDLE(Aspect_AspectMarker, MMgt_TShared)
|
||||
|
||||
//! This class allows the definition of a group
|
||||
//! of attributes for the primitive MARKER.
|
||||
//! the attributes are:
|
||||
//! * Colour
|
||||
//! * Type
|
||||
//! * Scale factor
|
||||
//! When any value of the group is modified
|
||||
//! all graphic objects using the group are modified
|
||||
class Aspect_AspectMarker : public MMgt_TShared
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
|
||||
//! Modifies the colour of <me>.
|
||||
Standard_EXPORT void SetColor (const Quantity_Color& AColor);
|
||||
|
||||
//! Modifies the scale factor of <me>.
|
||||
//! Marker type Aspect_TOM_POINT is not affected
|
||||
//! by the marker size scale factor. It is always
|
||||
//! the smallest displayable dot.
|
||||
//! Warning: Raises AspectMarkerDefinitionError if the
|
||||
//! scale is a negative value.
|
||||
Standard_EXPORT void SetScale (const Standard_Real AScale);
|
||||
|
||||
//! Modifies the type of marker <me>.
|
||||
Standard_EXPORT void SetType (const Aspect_TypeOfMarker AType);
|
||||
|
||||
//! Returns the current values of the group <me>.
|
||||
Standard_EXPORT void Values (Quantity_Color& AColor, Aspect_TypeOfMarker& AType, Standard_Real& AScale) const;
|
||||
|
||||
|
||||
|
||||
|
||||
DEFINE_STANDARD_RTTIEXT(Aspect_AspectMarker,MMgt_TShared)
|
||||
|
||||
protected:
|
||||
|
||||
|
||||
//! Initialise the constructor for Graphic3d_AspectMarker3d.
|
||||
//!
|
||||
//! defaults values :
|
||||
//!
|
||||
//! Color = Quantity_NOC_YELLOW;
|
||||
//! Type = Aspect_TOM_X;
|
||||
//! Scale = 1.0;
|
||||
Standard_EXPORT Aspect_AspectMarker();
|
||||
|
||||
//! Initialise the values for the
|
||||
//! constructor of Graphic3d_AspectMarker3d.
|
||||
//! Warning: Raises AspectMarkerDefinitionError if the
|
||||
//! scale is a negative value.
|
||||
Standard_EXPORT Aspect_AspectMarker(const Quantity_Color& AColor, const Aspect_TypeOfMarker AType, const Standard_Real AScale);
|
||||
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
Quantity_Color MyColor;
|
||||
Aspect_TypeOfMarker MyType;
|
||||
Standard_Real MyScale;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif // _Aspect_AspectMarker_HeaderFile
|
||||
@@ -17,33 +17,21 @@
|
||||
#define _Aspect_HatchStyle_HeaderFile
|
||||
|
||||
//! Definition of all available hatch styles.
|
||||
//!
|
||||
//! HS_HORIZONTAL
|
||||
//! HS_HORIZONTAL_WIDE
|
||||
//! HS_VERTICAL
|
||||
//! HS_VERTICAL_WIDE
|
||||
//! HS_DIAGONAL_45
|
||||
//! HS_DIAGONAL_45_WIDE
|
||||
//! HS_DIAGONAL_135
|
||||
//! HS_DIAGONAL_135_WIDE
|
||||
//! HS_GRID
|
||||
//! HS_GRID_WIDE
|
||||
//! HS_GRID_DIAGONAL
|
||||
//! HS_GRID_DIAGONAL_WIDE
|
||||
enum Aspect_HatchStyle
|
||||
{
|
||||
Aspect_HS_HORIZONTAL,
|
||||
Aspect_HS_HORIZONTAL_WIDE,
|
||||
Aspect_HS_VERTICAL,
|
||||
Aspect_HS_VERTICAL_WIDE,
|
||||
Aspect_HS_DIAGONAL_45,
|
||||
Aspect_HS_DIAGONAL_45_WIDE,
|
||||
Aspect_HS_DIAGONAL_135,
|
||||
Aspect_HS_DIAGONAL_135_WIDE,
|
||||
Aspect_HS_GRID,
|
||||
Aspect_HS_GRID_WIDE,
|
||||
Aspect_HS_GRID_DIAGONAL,
|
||||
Aspect_HS_GRID_DIAGONAL_WIDE
|
||||
Aspect_HS_SOLID = 0, // TEL_HS_SOLID (no hatching)
|
||||
Aspect_HS_HORIZONTAL = 7, // TEL_HS_HORIZONTAL
|
||||
Aspect_HS_HORIZONTAL_WIDE = 11, // TEL_HS_HORIZONTAL_SPARSE
|
||||
Aspect_HS_VERTICAL = 8, // TEL_HS_VERTICAL
|
||||
Aspect_HS_VERTICAL_WIDE = 12, // TEL_HS_VERTICAL_SPARSE
|
||||
Aspect_HS_DIAGONAL_45 = 5, // TEL_HS_DIAG_45
|
||||
Aspect_HS_DIAGONAL_45_WIDE = 9, // TEL_HS_DIAG_45_SPARSE
|
||||
Aspect_HS_DIAGONAL_135 = 6, // TEL_HS_DIAG_135
|
||||
Aspect_HS_DIAGONAL_135_WIDE = 10, // TEL_HS_DIAG_135_SPARSE
|
||||
Aspect_HS_GRID = 3, // TEL_HS_GRID
|
||||
Aspect_HS_GRID_WIDE = 4, // TEL_HS_GRID_SPARSE
|
||||
Aspect_HS_GRID_DIAGONAL = 1, // TEL_HS_CROSS
|
||||
Aspect_HS_GRID_DIAGONAL_WIDE = 2, // TEL_HS_CROSS_SPARSE
|
||||
};
|
||||
|
||||
#endif // _Aspect_HatchStyle_HeaderFile
|
||||
|
||||
@@ -1,11 +1,5 @@
|
||||
Aspect_AspectFillArea.cxx
|
||||
Aspect_AspectFillArea.hxx
|
||||
Aspect_AspectFillAreaDefinitionError.hxx
|
||||
Aspect_AspectLine.cxx
|
||||
Aspect_AspectLine.hxx
|
||||
Aspect_AspectLineDefinitionError.hxx
|
||||
Aspect_AspectMarker.cxx
|
||||
Aspect_AspectMarker.hxx
|
||||
Aspect_AspectMarkerDefinitionError.hxx
|
||||
Aspect_Background.cxx
|
||||
Aspect_Background.hxx
|
||||
|
||||
Reference in New Issue
Block a user