1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-14 13:30:48 +03:00
Files
occt/src/NIS/NIS_LineDrawer.hxx
2015-06-30 10:59:50 +03:00

86 lines
2.2 KiB
C++

// File: NIS_LineDrawer.h
// Created: 11.05.12
// Author: Natalia Kopnova
// Copyright: LPKF Laser and Electronics AG 2012
#ifndef NIS_LineDrawer_HeaderFile
#define NIS_LineDrawer_HeaderFile
#include <NIS_Drawer.hxx>
class NIS_Line;
/**
* NIS drawer for NIS_Line interactive object type.
* @ingroup aisobject
*/
class NIS_LineDrawer : public NIS_Drawer
{
public:
// ---------- PUBLIC METHODS ----------
/**
* Constructor.
*/
Standard_EXPORT NIS_LineDrawer (const Quantity_Color& theColor);
/**
* Copy the relevant information from another instance of Drawer.
* raises exception if theOther has incompatible type (test IsKind).
*/
Standard_EXPORT virtual void Assign (const Handle_NIS_Drawer& theOther);
/**
* Called before execution of Draw(), once per group of interactive objects.
*/
Standard_EXPORT virtual void BeforeDraw(const DrawType theType,
const NIS_DrawList& theDrawList);
/**
* Called after execution of Draw(), once per group of interactive objects.
*/
Standard_EXPORT virtual void AfterDraw(const DrawType theType,
const NIS_DrawList& theDrawList);
/**
* Main function: display the given interactive object in the given view.
*/
Standard_EXPORT virtual void Draw (const Handle_NIS_InteractiveObject&,
const DrawType theType,
const NIS_DrawList& theDrawList);
/**
* Matching two instances, for Map interface.
*/
Standard_EXPORT virtual Standard_Boolean
IsEqual (const Handle_NIS_Drawer& theOth)const;
protected:
// ---------- PROTECTED METHODS ----------
private:
// ---------- PRIVATE FIELDS ----------
Standard_ShortReal myLineWidth;
Standard_Integer myType;
Standard_Integer myLineType;
Standard_Boolean myInvertColor;
public:
// Declaration of CASCADE RTTI
DEFINE_STANDARD_RTTI (NIS_LineDrawer)
friend class NIS_Line;
};
// Definition of HANDLE object using Standard_DefineHandle.hxx
DEFINE_STANDARD_HANDLE (NIS_LineDrawer, NIS_Drawer)
#endif