CFx SDK Documentation 2026 SP0
Loading...
Searching...
No Matches
BrepBuilder.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 _BREPBUILDER_H_
25#define _BREPBUILDER_H_
26
27#include "OdaCommon.h"
28#include "BrepBuilderExport.h"
29#include "Ge/GeCurve3d.h"
30#include "CmColorBase.h"
31#include "OdResult.h"
32#include "TD_PackPush.h"
33
34class OdDbStub;
35class OdGiMapper;
36
51
62
64
138
143typedef OdArray <BrepBuilderErrorsHolder> ValidationErrors;
144
145
153{
154public:
159
164
169
180
186
192 void set(const void* pFile);
193
208 BRepBuilderGeometryId addCoedge(const BRepBuilderGeometryId& loopId, const BRepBuilderGeometryId& edgeId, EntityDirection codgeDirection = kForward, const OdGeCurve2d* pParCur = NULL);
209
217
226 BRepBuilderGeometryId addEdge(const OdGeCurve3d* pCurveForEdge, const BRepBuilderGeometryId& vertex1Id, const BRepBuilderGeometryId& vertex2Id);
227
235
245
253
261
268
279
289
295 void finishComplex(const BRepBuilderGeometryId& complexId);
296
302 void finishShell(const BRepBuilderGeometryId& shellId);
303
310
317
331
345
355
365
375
385
395
405
418
427
438 void setFlag(const BRepBuilderGeometryId& id, OdUInt32 flag, bool enable);
439
447 OdResult setFacesMaterial(const BRepBuilderGeometryId& faceId, OdDbStub& materialId);
448
459 const OdGiMapper& materialMapper);
460
471
482
494
506
512 void enableValidator(bool bEnable = true);
513
521
527 bool isValid() const;
528
534
541 void setBBSettings(OdUInt32 flag, bool enable);
542
552
553protected:
554 //DOM-IGNORE-BEGIN
555 void* m_pImpl;
556 //DOM-IGNORE-END
557};
558
559#include "TD_PackPop.h"
560
561#endif //_BREPBUILDER_H_
OdUInt32 BRepBuilderGeometryId
Definition BrepBuilder.h:63
BrepBuilderSettings
Definition BrepBuilder.h:58
@ kHideEdgesBetweenTangentFaces
Definition BrepBuilder.h:60
BrepType
Definition BrepBuilder.h:43
@ kVoid
Definition BrepBuilder.h:49
@ kSolid
Definition BrepBuilder.h:47
@ kOpenShell
Definition BrepBuilder.h:45
OdArray< BrepBuilderErrorsHolder > ValidationErrors
#define BREPBUILDEREXPORT_STATIC
#define BREPBUILDEREXPORT
@ eOk
Definition FxBIM.h:41
unsigned int OdUInt32
OdResult
Definition OdResult.h:29
void setTag(const BRepBuilderGeometryId &id, OdUInt32 tag)
const ValidationErrors * getValidationErrors() const
BRepBuilderGeometryId addVertex(const OdGePoint3d &point)
bool isResultAvailable()
static BREPBUILDEREXPORT_STATIC const BRepBuilderGeometryId kDefaultVertexId
void setFlag(const BRepBuilderGeometryId &id, OdUInt32 flag, bool enable)
void setBBSettings(OdUInt32 flag, bool enable)
void setAllowShortEdges()
void enableValidator(bool bEnable=true)
BrepType getType()
BRepBuilderGeometryId addComplex()
BRepBuilderGeometryId addShell(const BRepBuilderGeometryId &complexId)
OdRxObjectPtr finish()
bool isValidEdgeId(const BRepBuilderGeometryId &edgeId)
OdResult setFaceColor(const BRepBuilderGeometryId &faceId, const OdCmEntityColor &faceColor)
OdResult setFaceMaterialMapping(const BRepBuilderGeometryId &faceId, const OdGiMapper &materialMapper)
void finishLoop(const BRepBuilderGeometryId &loopId)
BRepBuilderGeometryId addEdge(const OdGeCurve3d *pCurveForEdge)
void finishComplex(const BRepBuilderGeometryId &complexId)
OdResult setTransformation(const OdGeMatrix3d &transformation)
bool isValidFaceId(const BRepBuilderGeometryId &faceId)
bool canAddGeometry()
void set(const void *pFile)
bool isPermittedSurfaceType(const OdGeSurface *pSurf)
static BREPBUILDEREXPORT_STATIC const BRepBuilderGeometryId kDefaultShellId
BRepBuilderGeometryId addCoedge(const BRepBuilderGeometryId &loopId, const BRepBuilderGeometryId &edgeId, EntityDirection codgeDirection=kForward, const OdGeCurve2d *pParCur=NULL)
void allowRemovalOfProblematicFaces()
void finishShell(const BRepBuilderGeometryId &shellId)
OdRxObjectPtr getResult()
void finishFace(const BRepBuilderGeometryId &faceId)
bool isValidShellId(const BRepBuilderGeometryId &shellId)
OdResult setFacesMaterial(const BRepBuilderGeometryId &faceId, OdDbStub &materialId)
BRepBuilderGeometryId addLoop(const BRepBuilderGeometryId &faceId)
OdResult setEdgeColor(const BRepBuilderGeometryId &edgeId, const OdCmEntityColor &edgeColor)
BRepBuilderGeometryId addEdge(const OdGeCurve3d *pCurveForEdge, const BRepBuilderGeometryId &vertex1Id, const BRepBuilderGeometryId &vertex2Id)
bool isValidLoopId(const BRepBuilderGeometryId &loopId)
BRepBuilderGeometryId addFace(const OdGeSurface *pSurf, EntityDirection faceDirection, const BRepBuilderGeometryId &shellId=kDefaultShellId)
bool isValidComplexId(const BRepBuilderGeometryId &complexId)
bool removedSomeFaces()
OdUInt32 getBBSettings() const
bool isValid() const
BRepBuilderGeometryId m_shellId
BRepBuilderGeometryId m_edgeId
BRepBuilderGeometryId m_loopId
static const BRepBuilderGeometryId kInvalidId
Definition BrepBuilder.h:74
BrepBuilderErrorsHolder(OdResult errCode, const OdString &errMsg="", BRepBuilderGeometryId complexId=kInvalidId, BRepBuilderGeometryId shellId=kInvalidId, BRepBuilderGeometryId faceId=kInvalidId, BRepBuilderGeometryId loopId=kInvalidId, BRepBuilderGeometryId edgeId=kInvalidId, BRepBuilderGeometryId coedgeId=kInvalidId)
BRepBuilderGeometryId m_complexId
BRepBuilderGeometryId m_coedgeId
BRepBuilderGeometryId m_faceId