CFx SDK Documentation 2026 SP0
Loading...
Searching...
No Matches
FxBIMStairs.h
Go to the documentation of this file.
1//
2// (C) Copyright 2020-2025 by Graebert GmbH.
3//
4// Permission to use, copy, modify, and distribute this software in
5// object code form for any purpose and without fee is hereby granted,
6// provided that the above copyright notice appears in all copies and
7// that both that copyright notice and the limited warranty and
8// restricted rights notice below appear in all supporting
9// documentation.
10//
11// GRAEBERT PROVIDES THIS PROGRAM "AS IS" AND WITH ALL FAULTS.
12// GRAEBERT SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OF
13// MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE. GRAEBERT GMBH
14// DOES NOT WARRANT THAT THE OPERATION OF THE PROGRAM WILL BE
15// UNINTERRUPTED OR ERROR FREE.
16
17#pragma once
18
19#include "FxBIMEntity.h"
20
21#include <DbNurbSurface.h>
22
23#include <QtCore/qglobal.h>
24
27
28class CFxBIMStairsRun;
29class CFxBIMStairsLanding;
30
31constexpr auto kFxBIMStairsPropGroup = QT_TRANSLATE_NOOP( "BIM", "BIM Break Symbol" );
32constexpr auto kFxBIMStairsPropAngle = QT_TRANSLATE_NOOP( "BIM", "Angle" );
33constexpr auto kFxBIMStairsPropDist = QT_TRANSLATE_NOOP( "BIM", "Distance" );
34constexpr auto kFxBIMStairsPropOffset = QT_TRANSLATE_NOOP( "BIM", "Offset" );
35
37{
38public:
40
41public:
42 OdResult dwgInFields( OdDbDwgFiler* pFiler ) override;
43 void dwgOutFields( OdDbDwgFiler* pFiler ) const override;
44
45 OdResult dxfInFields( OdDbDxfFiler* pFiler ) override;
46 void dxfOutFields( OdDbDxfFiler* pFiler ) const override;
47
48 void AddStairsRun( const CFxBIMStairsRun& stairsRun );
49 void AddStairsLanding( const CFxBIMStairsLanding& stairsLanding );
50
51 std::vector<OdGePoint3dArray> GetIntersection( const OdGePlane& plane,
52 const OdGeMatrix3d& xform,
53 const OdDbDatabase* pDestDb ) const;
54
55 bool GetWalkingPathCurves( const OdGePlane& plane,
56 const OdGeMatrix3d& xform,
57 const OdDbDatabase* pDestDb,
58 OdDbCurvePtrArray& arrCurvesAboveCut,
59 OdDbCurvePtrArray& arrCurvesBelowCut ) const;
60
61 void GetLandingCurves( const double dElev,
62 const OdGeMatrix3d& xform,
63 OdDbCurvePtrArray& arrCurvesAboveCut,
64 OdDbCurvePtrArray& arrCurvesBelowCut ) const;
65
66protected:
68
69};
OdArray< OdDbCurvePtr > OdDbCurvePtrArray
#define FXBIM_COMMON_CODE_API
Definition FxBIMDefs.h:5
constexpr auto kFxBIMStairsPropGroup
Definition FxBIMStairs.h:31
constexpr auto kFxBIMStairsPropDist
Definition FxBIMStairs.h:33
constexpr auto kFxBIMStairsPropAngle
Definition FxBIMStairs.h:32
constexpr auto kFxBIMStairsPropOffset
Definition FxBIMStairs.h:34
OdSmartPtr< CFxBIMStairsEntity > CFxBIMStairsEntityPtr
Definition FxBIMStairs.h:26
OdResult
Definition OdResult.h:29
OdResult dxfInFields(OdDbDxfFiler *pFiler) override
OdResult dwgInFields(OdDbDwgFiler *pFiler) override
void AddStairsRun(const CFxBIMStairsRun &stairsRun)
void AddStairsLanding(const CFxBIMStairsLanding &stairsLanding)
void dwgOutFields(OdDbDwgFiler *pFiler) const override
std::vector< OdGePoint3dArray > GetIntersection(const OdGePlane &plane, const OdGeMatrix3d &xform, const OdDbDatabase *pDestDb) const
void dxfOutFields(OdDbDxfFiler *pFiler) const override
void GetLandingCurves(const double dElev, const OdGeMatrix3d &xform, OdDbCurvePtrArray &arrCurvesAboveCut, OdDbCurvePtrArray &arrCurvesBelowCut) const
bool GetWalkingPathCurves(const OdGePlane &plane, const OdGeMatrix3d &xform, const OdDbDatabase *pDestDb, OdDbCurvePtrArray &arrCurvesAboveCut, OdDbCurvePtrArray &arrCurvesBelowCut) const
ODDB_DECLARE_MEMBERS(CFxBIMStairsEntity)