CFx SDK Documentation 2026 SP0
Loading...
Searching...
No Matches
IfcSegmentedReferenceCurve.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// IfcSegmentedReferenceCurve.h: interface for the OdIfcSegmentedReferenceCurve class.
25//
27
28#if !defined(ODA_ODIFCSEGMENTEDREFERENCECURVE_H_INCLUDED_)
29#define ODA_ODIFCSEGMENTEDREFERENCECURVE_H_INCLUDED_
30
31#if _MSC_VER > 1000
32#pragma once
33#endif // _MSC_VER > 1000
34
35#include "IfcCompositeCurve.h"
36#include "IfcCurveSegment.h"
38
42namespace OdIfc {
43
51 {
53
54 public:
58 virtual void compose();
59
70 virtual OdResult getCantMatrix(double length, OdGeMatrix3d& matrix, bool withRotation = true, const OdGePoint3d& rotPoint = OdGePoint3d(0, 0, 0), const OdGeVector3d& rotVector = OdGeVector3d(0, 0, 1), bool profileIn2d = true) const;
71
77
83
90 OdResult getCantValues(int numSegments, OdGePoint2dArray &cantValues);
91
92 private:
93
94 OdGePoint3d moveAlongCurve(OdIfcCurveSegmentPtr pSeg, const OdGePoint3d* pLocation, double param) const;
95 bool getPlacementVectors(OdIfcCurveSegment* pSeg, const OdGePoint3d*& pLocation, const OdGeVector3d*& pDirection, const OdGeVector3d*& pAxis) const;
96
97 mutable OdDAIObjectId* m_pSeg = nullptr;
98 OdDAIObjectIds m_Segments;
99 };
101
102}
103
104#endif // !defined(ODA_ODIFCSEGMENTEDREFERENCECURVE_H_INCLUDED_)
105
OdArray< OdGePoint2d, OdMemoryAllocator< OdGePoint2d > > OdGePoint2dArray
Definition GeGbl.h:45
#define IFCGEOM_EXPORT
#define SMARTPTR(classname)
Definition IfcCommon.h:33
OdResult
Definition OdResult.h:29
#define ODRX_DECLARE_MEMBERS(ClassName)
Definition RxObject.h:112
virtual OdResult getCantMatrix(double length, OdGeMatrix3d &matrix, bool withRotation=true, const OdGePoint3d &rotPoint=OdGePoint3d(0, 0, 0), const OdGeVector3d &rotVector=OdGeVector3d(0, 0, 1), bool profileIn2d=true) const
OdResult getCantValues(int numSegments, OdGePoint2dArray &cantValues)
virtual OdResult onStartCurveCreating()
GLuint GLsizei GLsizei * length
Definition gles2_ext.h:274
OdSmartPtr< OdIfcCurveSegment > OdIfcCurveSegmentPtr