OpenLexocad  27.0
Beam.h
Go to the documentation of this file.
1 #pragma once
2 #include <OpenLxApp/Element.h>
4 
5 #include <memory>
6 
7 FORWARD_DECL(App, Beam)
8 
9 
14 namespace OpenLxApp
15 {
25 {
26  PROXY_HEADER(Beam, App::Beam, IFCBEAM)
27 
28 public:
29  enum class BeamTypeEnum
30  {
31  BEAM,
32  JOIST,
33  HOLLOWCORE,
34  LINTEL,
35  SPANDREL,
36  T_BEAM,
37  USERDEFINED,
38  NOTDEFINED
39 
40  };
41 
42  void setPredefinedType(BeamTypeEnum aType);
43  BeamTypeEnum getPredefinedType() const;
44 
45  virtual ~Beam(void);
46 
47  static std::shared_ptr<Beam> buildFrom2Points(std::shared_ptr<Document> aDoc,
48  double aWidth,
49  double aHeight,
50  const Geom::Pnt& aPnt1,
51  const Geom::Pnt& aPnt2);
52 
53 
54 protected:
55  Beam() {}
56 };
57 
58 } // namespace OpenLxApp
Beam()
Definition: Beam.h:55
An Beam is a horizontal, or nearly horizontal, structural member that is capable of withstanding load...
Definition: Beam.h:24
An element is a generalization of all components that make up an AEC product. Those elements can be l...
Definition: Element.h:40
Defines a non-persistent 3D Cartesian point.
Definition: Pnt.h:42
BeamTypeEnum
Definition: Beam.h:29
#define PROXY_HEADER(_openlexocadclass_, _corelexocadclass_, _type_)
Definition: Globals.h:149
#define OPENLXAPP_EXPORT
Definition: OpenLxApp_defines.h:12
Definition: ActiveScript.h:9
#define FORWARD_DECL(x, y)
Definition: Globals.h:96