CFx SDK Documentation 2026 SP0
Loading...
Searching...
No Matches
IfcModelerGeometry.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#ifndef _IFC_MODELERGEOMETRY_H_
25#define _IFC_MODELERGEOMETRY_H_
26
27#include "Ge/GeVector3d.h"
28#include "Ge/GeCurve3d.h"
29
30#include "IfcCommon.h"
31#include "daiDeviationParams.h"
32#include "daiBaseModelerGeometry/BaseModelerGeometry.h"
33
34#include "IfcBuildOptions.h"
35#include "IfcSimpleTypes.h"
36
37class OdIBrFile;
38
42namespace OdIfc {
43 class OdIfcVisualData;
44
63
86
87 //DOM-IGNORE-BEGIN
88 class OdIfcHalfSpaceSolid;
90
93
94 class OdIfcAdvancedBrep;
96
98
103
104 class OdIfcSweptDiskSolid;
106
107 class OdIfcProfileDef;
109
110 class OdIfcSectionedSolid;
112
113 class OdIfcFixedReferenceSweptAreaSolid;
115
116 class OdIfcSurfaceCurveSweptAreaSolid;
118
119 class OdIfcAxisLateralInclination;
121
122 class OdIfcAlignmentCant;
124 //DOM-IGNORE-END
125
130 class IFCGEOM_EXPORT OdIfcModelerGeometry : public OdDAI::OdBaseModelerGeometry
131 {
132 public:
133 //DOM-IGNORE-BEGIN
135 //DOM-IGNORE-END
136
152
168
185
200
216 virtual OdResult revolve(OdIfcProfileDefPtr profile, const OdGeVector3d& axisOfRevolution, const OdGePoint3d& axisPosition, double startAng, double endAng) = 0;
217
230
245 virtual OdResult sweepWithInclination(OdIfcProfileDefPtr pProfile, OdGeCurve3dPtr pPath, OdIfcAxisLateralInclinationPtr pInclination, bool isFixedAxisVertical) = 0;
246
261
274
291
309
321
337 virtual OdResult createTessellation(const OdGePoint3dArray& vertices, const OdArray<OdArray<int> >& faces, OdDAI::Boolean isClosed, const OdGeVector3dArray& normals, const OdIfc::OdIfcVisualData* pData, const OdArray<IfcInteger>& flags = OdArray<IfcInteger>()) = 0;
338
350 virtual OdResult createTessellation(const OdGePoint3dArray& vertices, const OdDAIObjectIds& faces, OdDAI::Boolean isClosed, const OdIfc::OdIfcVisualData* pData) = 0;
351
366
376 virtual OdResult box(const OdGePoint3d& ptOrigin, const OdGeVector3d& vSizes) = 0;
377
389 virtual OdResult block(const OdGePoint3d& ptOrigin, double xLength, double yLength, double zLength) = 0;
390
402 virtual OdResult rectangularPyramid(const OdGePoint3d& ptOrigin, double xLength, double yLength, double height) = 0;
403
414 virtual OdResult rightCircularCone(const OdGePoint3d& ptOrigin, double height, double bottomRadius) = 0;
415
426 virtual OdResult rightCircularCylinder(const OdGePoint3d& ptOrigin, double height, double radius) = 0;
427
437 virtual OdResult sphere(const OdGePoint3d& ptOrigin, double radius) = 0;
438
444 };
445
446}
447
448#endif // _IFC_MODELERGEOMETRY_H_
OdArray< OdGePoint3d, OdMemoryAllocator< OdGePoint3d > > OdGePoint3dArray
OdSharedPtr< OdGeCurve3d > OdGeCurve3dPtr
OdArray< OdGeVector3d, OdMemoryAllocator< OdGeVector3d > > OdGeVector3dArray
#define IFCGEOM_EXPORT
OdResult
Definition OdResult.h:29
virtual OdResult rectangularPyramid(const OdGePoint3d &ptOrigin, double xLength, double yLength, double height)=0
virtual OdResult boolean(OdIfcModelerGeometryPtr tool, OdIfcModelerGeometryPtr blank, IfcBooleanOperator op, IfcModelerKeep keep=kBoth)=0
virtual OdResult boolean(OdIfcHalfSpaceSolidPtr tool)=0
virtual OdResult sweepWithInclination(OdIfcProfileDefPtr pProfile, OdGeCurve3dPtr pPath, OdIfcAxisLateralInclinationPtr pInclination, bool isFixedAxisVertical)=0
virtual OdResult sweep(OdIfcSurfaceCurveSweptAreaSolidPtr pSolid)=0
virtual OdResult sweep(OdIfcSectionedSolidPtr pSolid)=0
virtual OdResult sweep(OdIfcSweptDiskSolidPtr pSolid)=0
virtual OdResult rightCircularCylinder(const OdGePoint3d &ptOrigin, double height, double radius)=0
ODRX_DECLARE_MEMBERS(OdIfcModelerGeometry)
virtual OdResult createTessellation(const OdGePoint3dArray &vertices, const OdArray< OdArray< int > > &faces, OdDAI::Boolean isClosed, const OdGeVector3dArray &normals, const OdIfc::OdIfcVisualData *pData, const OdArray< IfcInteger > &flags=OdArray< IfcInteger >())=0
virtual OdResult sweepWithCant(OdIfcProfileDefPtr pProfile, OdGeCurve3dPtr pPath, OdIfcAlignmentCantPtr pInclination)=0
virtual OdResult sweep(OdIfcFixedReferenceSweptAreaSolidPtr pSolid)=0
virtual OdResult createAdvancedBrep(OdIfcAdvancedBrepPtr pBrep)=0
virtual OdResult createFacetedBrep(OdIfcConnectedFaceSetPtr pFaceSet)=0
virtual OdResult extrude(OdIfcProfileDefPtr profile, OdGeVector3d dir)=0
virtual OdResult boolean(OdIfcModelerGeometryPtr tool, IfcBooleanOperator op, IfcModelerKeep keep=kBoth)=0
virtual OdResult box(const OdGePoint3d &ptOrigin, const OdGeVector3d &vSizes)=0
virtual OdResult sphere(const OdGePoint3d &ptOrigin, double radius)=0
virtual OdResult block(const OdGePoint3d &ptOrigin, double xLength, double yLength, double zLength)=0
virtual OdResult rightCircularCone(const OdGePoint3d &ptOrigin, double height, double bottomRadius)=0
virtual OdResult revolve(OdIfcProfileDefPtr profile, const OdGeVector3d &axisOfRevolution, const OdGePoint3d &axisPosition, double startAng, double endAng)=0
virtual OdResult createTessellation(const OdGePoint3dArray &vertices, const OdDAIObjectIds &faces, OdDAI::Boolean isClosed, const OdIfc::OdIfcVisualData *pData)=0
GLint GLenum GLsizei GLsizei height
Definition gles2_ext.h:110
OdSmartPtr< OdIfcSurfaceCurveSweptAreaSolid > OdIfcSurfaceCurveSweptAreaSolidPtr
OdSmartPtr< OdIfcHalfSpaceSolid > OdIfcHalfSpaceSolidPtr
OdSmartPtr< OdIfcAxisLateralInclination > OdIfcAxisLateralInclinationPtr
OdSmartPtr< OdIfcModelerGeometry > OdIfcModelerGeometryPtr
OdSmartPtr< OdIfcSweptDiskSolid > OdIfcSweptDiskSolidPtr
OdSmartPtr< OdIfcAlignmentCant > OdIfcAlignmentCantPtr
OdSmartPtr< OdIfcAdvancedBrep > OdIfcAdvancedBrepPtr
OdSmartPtr< OdIfcFixedReferenceSweptAreaSolid > OdIfcFixedReferenceSweptAreaSolidPtr
OdSmartPtr< OdIfcConnectedFaceSet > OdIfcConnectedFaceSetPtr
@ kIfcBooleanOperator_INTERSECTION
@ kIfcBooleanOperator_UNION
@ kIfcBooleanOperator_DIFFERENCE
OdSmartPtr< OdIfcSectionedSolid > OdIfcSectionedSolidPtr
OdSmartPtr< OdIfcProfileDef > OdIfcProfileDefPtr