0026477: Porting PRODUCTS and OCCT QT samples for OCCT 7.0.0
[occt.git] / samples / qt / VoxelDemo / inc / VoxelClient_VisDrawer.h
CommitLineData
b311480e 1/*
480bf81e 2 Copyright (c) 1999-2014 OPEN CASCADE SAS
b311480e 3
480bf81e 4 This file is part of Open CASCADE Technology software library.
b311480e 5
480bf81e 6 This library is free software; you can redistribute it and / or modify it
7 under the terms of the GNU Lesser General Public version 2.1 as published
8 by the Free Software Foundation, with special exception defined in the file
9 OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
10 distribution for complete text of the license and disclaimer of any warranty.
b311480e 11
480bf81e 12 Alternatively, this file may be used under the terms of Open CASCADE
13 commercial license or contractual agreement.
b311480e 14*/
15
7fd59977 16#ifndef _VOXEL_VISDRAWER_H_
17#define _VOXEL_VISDRAWER_H_
18
19#include "Voxel_VisData.h"
aade732d 20#include <Graphic3d_BndBox4f.hxx>
7fd59977 21
a7cb665a 22#include <OpenGl_GraphicDriver.hxx>
22cc9fe9 23
2166f0fa 24class VoxelClient_VisDrawer
7fd59977 25{
2166f0fa
SK
26public:
27
28 class VisElement;
29
7fd59977 30public:
31
22cc9fe9 32 Standard_EXPORT static void Init (Handle(OpenGl_GraphicDriver)& theDriver);
7fd59977 33
34 Standard_EXPORT VoxelClient_VisDrawer(Voxel_VisData* theData);
35 Standard_EXPORT virtual ~VoxelClient_VisDrawer();
36
aade732d 37 Standard_EXPORT void EvalMinMax(Graphic3d_BndBox4f& theMinMax) const;
7fd59977 38 Standard_EXPORT void Display(const Standard_Boolean theHighlight);
39
40private:
41
42 Standard_EXPORT void DisplayVoxels(const Standard_Boolean theHighlight);
43 Standard_EXPORT void DisplayPoints(const Standard_Boolean nearest);
44 Standard_EXPORT void DisplayBoxes(const Standard_Boolean nearest);
45 Standard_EXPORT void HighlightVoxel();
46
47 Standard_EXPORT void DisplayTriangulation(const Standard_Boolean theHighlight);
48
49 Voxel_VisData* myData;
50};
51
52#endif // _VOXEL_VISDRAWER_H_