OpenLexocad  27.1
Block.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <Core/PropertyAxis2.h>
4 #include <Geom/Ax2.h>
5 #include <OpenLxApp/Geometry.h>
6 
7 
8 FORWARD_DECL(Part, Box)
9 
10 namespace OpenLxApp
11 {
26 class LX_OPENLXAPP_EXPORT Block : public Geometry
27 {
28  PROXY_HEADER(Block, Part::Box, IFCBLOCK)
29 
30  DECL_PROPERTY(Block, XLength, double)
31  DECL_PROPERTY(Block, YLength, double)
32  DECL_PROPERTY(Block, ZLength, double)
33  DECL_PROPERTY(Block, Position, Geom::Ax2)
34 
35  // Deprecated:
36  DECL_PROPERTY(Block, Length, double) // Deprecated. Use XLength instead.
37  DECL_PROPERTY(Block, Width, double) // Deprecated. Use YLength instead.
38  DECL_PROPERTY(Block, Height, double) // Deprecated. Use ZLength instead.
39 
40 
41 
42 public:
43  ~Block();
44 
45 private:
46  Block() {}
47 };
48 
49 } // namespace OpenLxApp
#define PROXY_HEADER(_openlexocadclass_, _corelexocadclass_, _type_)
Definition: Globals.h:146
Super-class of all Geometries (aka GeometricRepresentationItems)
Definition: Geometry.h:23
Definition: Ax2.h:67
Definition: ActiveScript.h:7
#define DECL_PROPERTY(_class_, _name_, _type_)
DECL_PROPERTY and DEFINE_PROPERTY are macros used for mapping between the properties of Lexocad objec...
Definition: Globals.h:242
bg::model::box< Point > Box
Definition: RTree.h:26
#define FORWARD_DECL(x, y)
Definition: Globals.h:93
A box is a solid rectangular parallelepiped, defined with a location and placement coordinate system....
Definition: Block.h:26