CFx SDK Documentation 2024 SP0
Loading...
Searching...
No Matches
IfcModelerGeometry.h
Go to the documentation of this file.
1
2// Copyright (C) 2002-2022, 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-2022 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 "IfcDeviationParams.h"
32#include "IfcBodyVariant.h"
33
34#include "IfcBuildOptions.h"
35#include "IfcSimpleTypes.h"
36
37class OdIBrFile;
38
42namespace OdIfc {
43 class OdIfcVisualData;
44
49 {
62 };
63
68 {
84 kBoth
85 };
86
87 //DOM-IGNORE-BEGIN
88 class OdIfcHalfSpaceSolid;
90
91 class OdIfcConnectedFaceSet;
93
94 class OdIfcAdvancedBrep;
96
99
100 class OdIfcSweptDiskSolid;
102
103 class OdIfcProfileDef;
105
106 class OdIfcSectionedSolid;
108
109 class OdIfcFixedReferenceSweptAreaSolid;
111
112 class OdIfcAxisLateralInclination;
114
115 class OdIfcAlignmentCant;
117 //DOM-IGNORE-END
118
124 {
125 protected:
126
127 //DOM-IGNORE-BEGIN
128 void copyFrom(const OdRxObject*) = 0;
129 //DOM-IGNORE-END
130
131 public:
132 //DOM-IGNORE-BEGIN
134 //DOM-IGNORE-END
135
143 virtual bool draw(OdGiWorldDraw* pWd) const = 0;
144
150 virtual void transform(const OdGeMatrix3d &m) = 0;
151
163 virtual OdResult getBoundingBox(OdGeExtents3d &box) const = 0;
164
175
191
207
224
239
255 virtual OdResult revolve(OdIfcProfileDefPtr profile, const OdGeVector3d& axisOfRevolution, const OdGePoint3d& axisPosition, double startAng, double endAng) = 0;
256
269
284 virtual OdResult sweepWithInclination(OdIfcProfileDefPtr pProfile, OdGeCurve3dPtr pPath, OdIfcAxisLateralInclinationPtr pInclination, bool isFixedAxisVertical) = 0;
285
299
312
329
341
357 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;
358
370 virtual OdResult createTessellation(const OdGePoint3dArray& vertices, const OdDAIObjectIds& faces, OdDAI::Boolean isClosed, const OdIfc::OdIfcVisualData* pData) = 0;
371
386
396 virtual OdResult box(const OdGePoint3d& ptOrigin, const OdGeVector3d& vSizes) = 0;
397
409 virtual OdResult block(const OdGePoint3d& ptOrigin, double xLength, double yLength, double zLength) = 0;
410
422 virtual OdResult rectangularPyramid(const OdGePoint3d& ptOrigin, double xLength, double yLength, double height) = 0;
423
434 virtual OdResult rightCircularCone(const OdGePoint3d& ptOrigin, double height, double bottomRadius) = 0;
435
446 virtual OdResult rightCircularCylinder(const OdGePoint3d& ptOrigin, double height, double radius) = 0;
447
457 virtual OdResult sphere(const OdGePoint3d& ptOrigin, double radius) = 0;
458
465
471 virtual OdIBrFile* brep() const = 0;
472
480 virtual OdIfcBodyVariant bodyContainer() const = 0;
481 };
482
483}
484
485#endif // _IFC_MODELERGEOMETRY_H_
#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 getBoundingBox(OdGeExtents3d &box) const =0
virtual OdIfcBodyVariant bodyContainer() const =0
virtual OdResult sweep(OdIfcSectionedSolidPtr pSolid)=0
void copyFrom(const OdRxObject *)=0
virtual OdResult sweep(OdIfcSweptDiskSolidPtr pSolid)=0
virtual OdResult rightCircularCylinder(const OdGePoint3d &ptOrigin, double height, double radius)=0
virtual void transform(const OdGeMatrix3d &m)=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 copyBody(OdIfcModelerGeometryPtr b)=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 bool draw(OdGiWorldDraw *pWd) const =0
virtual OdIBrFile * brep() const =0
virtual void setDeviationParams(const OdIfcDeviationParams &params)=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
GLenum GLint * params
Definition: gles2_ext.h:184
GLint GLenum GLsizei GLsizei height
Definition: gles2_ext.h:110
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