ResInsight/ApplicationCode/Commands/HoloLensCommands/VdeExportPart.h

88 lines
2.5 KiB
C
Raw Normal View History

2018-09-18 08:29:46 -05:00
/////////////////////////////////////////////////////////////////////////////////
//
2019-01-09 08:21:38 -06:00
// Copyright (C) 2018- Equinor ASA
2018-09-18 08:29:46 -05:00
//
// ResInsight is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
// FITNESS FOR A PARTICULAR PURPOSE.
//
// See the GNU General Public License at <http://www.gnu.org/licenses/gpl.html>
// for more details.
//
/////////////////////////////////////////////////////////////////////////////////
#pragma once
#include "cvfBase.h"
#include "cvfObject.h"
#include "cvfPart.h"
#include "cvfTextureImage.h"
2018-09-18 08:29:46 -05:00
#include <QString>
//==================================================================================================
///
//==================================================================================================
class VdeExportPart
{
public:
enum SourceObjectType
{
OBJ_TYPE_GRID,
OBJ_TYPE_PIPE,
OBJ_TYPE_UNKNOWN
};
enum Winding
{
CLOCKWISE,
COUNTERCLOCKWISE
};
enum Role
{
GEOMETRY,
MESH_LINES
};
2018-09-18 08:29:46 -05:00
public:
VdeExportPart(cvf::Part* part);
void setTextureImage(const cvf::TextureImage* textureImage);
2018-09-18 08:29:46 -05:00
void setSourceObjectType(SourceObjectType sourceObjectType);
void setSourceObjectName(const QString& sourceObjectName);
void setSourceObjectCellSetType(const QString& sourceObjectCellSetType);
void setColor(const cvf::Color3f& color);
2018-09-19 05:51:28 -05:00
void setOpacity(float opacity);
2018-09-18 08:29:46 -05:00
void setWinding(Winding winding);
void setRole(Role role);
2018-09-18 08:29:46 -05:00
const cvf::Part* part() const;
const cvf::TextureImage* textureImage() const;
2018-09-18 08:29:46 -05:00
QString sourceObjectName() const;
QString sourceObjectCellSetType() const;
2018-09-18 08:29:46 -05:00
SourceObjectType sourceObjectType() const;
cvf::Color3f color() const;
2018-09-19 05:51:28 -05:00
float opacity() const;
2018-09-18 08:29:46 -05:00
Winding winding() const;
Role role() const;
2018-09-18 08:29:46 -05:00
private:
cvf::cref<cvf::Part> m_part;
cvf::cref<cvf::TextureImage> m_textureImage;
QString m_sourceObjectName;
QString m_sourceObjectCellSetType;
SourceObjectType m_sourceObjectType;
cvf::Color3f m_color;
2018-09-19 05:51:28 -05:00
float m_opacity;
Winding m_winding;
Role m_role;
2018-09-18 08:29:46 -05:00
};