CFx SDK Documentation 2026 SP0
Loading...
Searching...
No Matches
IfcCurve.h
Go to the documentation of this file.
1
2// Copyright (C) 2002-2024, Open Design Alliance (the "Alliance").
3// All rights reserved.
4//
5// This software and its documentation and related materials are owned by
6// the Alliance. The software may only be incorporated into application
7// programs owned by members of the Alliance, subject to a signed
8// Membership Agreement and Supplemental Software License Agreement with the
9// Alliance. The structure and organization of this software are the valuable
10// trade secrets of the Alliance and its suppliers. The software is also
11// protected by copyright law and international treaty provisions. Application
12// programs incorporating this software must include the following statement
13// with their copyright notices:
14//
15// This application incorporates Open Design Alliance software pursuant to a license
16// agreement with Open Design Alliance.
17// Open Design Alliance Copyright (C) 2002-2024 by Open Design Alliance.
18// All rights reserved.
19//
20// By use of this software, its documentation or related materials, you
21// acknowledge and accept the above terms.
23
24// IfcCurve.h: interface for the Od wrapper over IfcCurve and subtypes.
25//
27
28#ifndef _IFC_CURVE_H_
29#define _IFC_CURVE_H_
30
31#include "Ge/GePolyline3d.h"
32#include "Ge/GeCircArc3d.h"
33#include "Ge/GeEllipArc3d.h"
34#include "Ge/GeLineSeg3d.h"
36
38
42namespace OdIfc {
43
48 {
49 //DOM-IGNORE-BEGIN
51 //DOM-IGNORE-END
52
53 public:
54
60
65 virtual OdGeCurve3d* getGeCurveCopy() const { ODA_ASSERT_ONCE(m_pCurve); return m_pCurve ? static_cast<OdGeCurve3d*>(m_pCurve->copy()) : nullptr; }
66
71 const OdGeCurve3d* getGeCurve() const { ODA_ASSERT_ONCE(m_pCurve); return m_pCurve.get(); }
72
78 OdResult transformBy(const OdGeMatrix3d &transform) override;
79
85 virtual double paramAtLength(double length) const;
86
93 virtual OdGePoint3d evalPoint(double param, OdGeVector3dArray &derivs) const;
94
99 inline virtual bool is3d() const { return m_is3d; }
100
106 inline void setIs3d(bool val) { m_is3d = val; }
107
108 //DOM-IGNORE-BEGIN
109 protected:
110
112
114
115 void getMatrix(OdIfcInstancePtr pPosition, OdGeMatrix3d& matr);
116
117 private:
118 bool m_is3d;
119 //DOM-IGNORE-END
120 };
121
126
127} // namespace
128
129#endif // _IFC_CURVE_H_
#define ODA_ASSERT_ONCE(exp)
Definition DebugStuff.h:73
OdSharedPtr< OdGeCurve3d > OdGeCurve3dPtr
OdArray< OdGeVector3d, OdMemoryAllocator< OdGeVector3d > > OdGeVector3dArray
#define IFCGEOM_EXPORT
OdResult
Definition OdResult.h:29
#define ODRX_DECLARE_MEMBERS(ClassName)
Definition RxObject.h:112
OdGeMatrix3d m_transform
Definition IfcCurve.h:111
virtual bool is3d() const
Definition IfcCurve.h:99
virtual OdGePoint3d evalPoint(double param, OdGeVector3dArray &derivs) const
OdGeCurve3dPtr m_pCurve
Definition IfcCurve.h:113
const OdGeCurve3d * getGeCurve() const
Definition IfcCurve.h:71
OdResult transformBy(const OdGeMatrix3d &transform) override
void setIs3d(bool val)
Definition IfcCurve.h:106
virtual OdGeCurve3d * getGeCurveCopy() const
Definition IfcCurve.h:65
virtual OdGe::EntityId entityId() const
Definition IfcCurve.h:59
void getMatrix(OdIfcInstancePtr pPosition, OdGeMatrix3d &matr)
virtual double paramAtLength(double length) const
GLuint GLsizei GLsizei * length
Definition gles2_ext.h:274
OdSmartPtr< OdIfcCurve > OdIfcCurvePtr
Definition IfcCurve.h:125
EntityId
Definition Ge.h:62
@ kInvalidEntity
Definition Ge.h:237