OpenLexocad
27.1
PropertyGeo.h
Go to the documentation of this file.
1
/***************************************************************************
2
* Copyright (c) 2002 Jürgen Riegel <juergen.riegel@web.de> *
3
* *
4
* This file is part of the FreeCAD CAx development system. *
5
* *
6
* This library is free software; you can redistribute it and/or *
7
* modify it under the terms of the GNU Library General Public *
8
* License as published by the Free Software Foundation; either *
9
* version 2 of the License, or (at your option) any later version. *
10
* *
11
* This library is distributed in the hope that it will be useful, *
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
14
* GNU Library General Public License for more details. *
15
* *
16
* You should have received a copy of the GNU Library General Public *
17
* License along with this library; see the file COPYING.LIB. If not, *
18
* write to the Free Software Foundation, Inc., 59 Temple Place, *
19
* Suite 330, Boston, MA 02111-1307, USA *
20
* *
21
***************************************************************************/
22
23
#pragma once
24
25
#include <
Base/Vector3D.h
>
26
#include <
Base/Matrix.h
>
27
#include <
Base/BoundBox.h
>
28
#include <
Base/Placement.h
>
29
//#include <Base/Unit.h>
30
31
#include <
Core/Property.h
>
32
#include <
Core/PropertyLinkBase.h
>
33
#include <
Core/ComplexGeoData.h
>
34
35
namespace
Base
{
36
class
Writer;
37
}
38
39
namespace
Data
{
40
class
ComplexGeoData;
41
}
42
43
namespace
Core
44
{
45
class
Feature;
46
class
Placement;
47
48
52
class
LX_CORE_EXPORT
PropertyFcGeometry
:
public
Property
53
{
54
TYPESYSTEM_HEADER
();
55
56
public
:
57
PropertyFcGeometry
();
58
virtual
~
PropertyFcGeometry
();
59
62
virtual
void
transformGeometry(
const
Base::Matrix4D
&rclMat) = 0;
65
virtual
Base::BoundBox3d
getBoundingBox()
const
= 0;
67
};
68
72
class
LX_CORE_EXPORT
PropertyFcComplexGeoData
:
public
PropertyFcGeometry
73
{
74
TYPESYSTEM_HEADER
();
75
76
public
:
77
PropertyFcComplexGeoData
();
78
virtual
~
PropertyFcComplexGeoData
();
79
82
virtual
void
transformGeometry(
const
Base::Matrix4D
&rclMat) = 0;
85
88
virtual
const
Data::ComplexGeoData
* getComplexData()
const
= 0;
89
virtual
Base::BoundBox3d
getBoundingBox()
const
= 0;
91
};
92
93
}
// namespace Core
94
95
Core::PropertyFcGeometry
Definition:
PropertyGeo.h:52
Data::ComplexGeoData
Definition:
ComplexGeoData.h:58
Data
Definition:
ComplexGeoData.h:39
Core::PropertyFcComplexGeoData
Definition:
PropertyGeo.h:72
Matrix.h
Vector3D.h
ComplexGeoData.h
Property.h
Core
Definition:
Base.h:12
PropertyLinkBase.h
Base::Matrix4D
Definition:
Matrix.h:38
Core::Property
Definition:
Property.h:77
Base
Definition:
AbstractXMLReader.h:5
BoundBox.h
Placement.h
TYPESYSTEM_HEADER
TYPESYSTEM_HEADER()
Base::BoundBox3
Definition:
BoundBox.h:39
lexocad
Core
include
Core
PropertyGeo.h
Generated by
1.8.15