23 #if !defined(OPENNURBS_BREP_INC_) 
   24 #define OPENNURBS_BREP_INC_ 
   33 #define m_vertex_user_i m_vertex_user.i 
   34 #define m_trim_user_i m_trim_user.i 
   35 #define m_edge_user_i m_edge_user.i 
   36 #define m_loop_user_i m_loop_user.i 
   37 #define m_face_user_i m_face_user.i 
   78   ON__UINT32 
DataCRC(ON__UINT32 current_remainder) 
const;
 
  256   ON__UINT32 
DataCRC(ON__UINT32 current_remainder) 
const;
 
  390 #if defined(ON_DLL_TEMPLATE) 
  394 #pragma warning( push ) 
  395 #pragma warning( disable : 4231 ) 
  397 #pragma warning( pop ) 
  465     force_32_bit_trim_type = 0xFFFFFFFF
 
  614         bool bRemoveFromStartVertex,
 
  615         bool bRemoveFromEndVertex
 
  788   double m_tolerance[2]; 
 
 1061   ON__UINT32 
DataCRC(ON__UINT32 current_remainder) 
const;
 
 1153   // Change the domain of a face
 
 1154   // This changes the parameterization of the face's surface and transforms
 
 1155   // the "u" and "v" coordinates of all the face's parameter space trimming
 
 1156   // curves.  The locus of the face is not changed.
 
 1240     bool bTransformTrimCurves
 
 1445 #if defined(ON_DLL_TEMPLATE) 
 1449 #pragma warning( push ) 
 1450 #pragma warning( disable : 4231 ) 
 1463 #pragma warning( pop ) 
 1582   ON__UINT32 
DataCRC(ON__UINT32 current_remainder) 
const;
 
 1652           double tolerance = ON_ZERO_TOLERANCE 
 
 1973     double vertex_tolerance = ON_UNSET_VALUE
 
 1984                   double edge_tolerance = ON_UNSET_VALUE
 
 2219         ON_BOOL32 bDuplicateCurves = 
true 
 2439                   ON_BOOL32 bRev3d = 
false,
 
 2485     ON_BOOL32 bLazy = 
true 
 2681        ON_BOOL32 bLazy = 
false,
 
 2682        ON_BOOL32 bSetVertexTolerances = 
true,
 
 2683        ON_BOOL32 bSetEdgeTolerances = 
true,
 
 2684        ON_BOOL32 bSetTrimTolerances = 
true,
 
 2685        ON_BOOL32 bSetTrimIsoFlags = 
true,
 
 2686        ON_BOOL32 bSetTrimTypeFlags = 
true,
 
 2687        ON_BOOL32 bSetLoopTypeFlags = 
true,
 
 2688        ON_BOOL32 bSetTrimBoxes = 
true 
 2755     ON_BOOL32 bRevCurveIfFaceRevIsTrue = 
false 
 2776     ON_BOOL32 bRevCurveIfFaceRevIsTrue = 
false 
 2841     ON_BOOL32* pbIsOriented = NULL,
 
 2842     ON_BOOL32* pbHasBoundary = NULL
 
 2867           bool bStrictlyInside
 
 3009     double angle_tolerance_radians = ON_PI/180.0
 
 3075           bool bDuplicateMeshes
 
 3141     ON_BOOL32 bDuplicateMeshes
 
 3160     const int* face_index,
 
 3161     ON_BOOL32 bDuplicateMeshes
 
 3403         int current_edge_index,
 
 3405         int* prev_endi = NULL
 
 3428         int current_edge_index,
 
 3430         int* next_endi = NULL
 
 3450     ON_COMPONENT_INDEX ci
 
 3592           bool bExtractSingleSegments,
 
 3594           bool bTrimCurves = 
true 
 3622     bool bCloseTrimGap = 
true,
 
 3623     int vertex_index = -1
 
 3650     bool bClearTolerances 
 
 3860           ON_BOOL32 bTrimmedTriangles = 
true,
 
 4011                           ON_BOOL32 bCapBottom,
 
 4033           ON_BOOL32 bCapBottom,
 
 4065           ON_BOOL32 bCapStart,
 
 4115             ON_BOOL32 bDuplicateCurves = 
true,
 
 4142 bool ON_BrepExtrude( 
 
 4184 int ON_BrepExtrudeFace( 
 
 4218 int ON_BrepExtrudeLoop( 
 
 4248 int ON_BrepExtrudeEdge( 
 
 4279 int ON_BrepExtrudeVertex( 
 
 4309 int ON_BrepConeFace( 
 
 4338 bool ON_BrepConeLoop( 
 
 4367 int ON_BrepConeEdge( 
 
 4375 int ON_BrepMergeFaces(
ON_Brep& 
B, 
int fid0, 
int fid1);
 
 4378 bool ON_BrepMergeFaces(
ON_Brep& 
B);
 
 4390 void ON_BrepMergeAllEdges(
ON_Brep& 
B);
 
bool ReadV1_TCODE_LEGACY_FAC(ON_Object **, ON_3dmObjectAttributes *)
bool ReadV1_TCODE_LEGACY_SHL(ON_Object **, ON_3dmObjectAttributes *)
ON_BOOL32 Write(ON_BinaryArchive &) const
ON_BOOL32 Read(ON_BinaryArchive &)
unsigned int SizeOf() const
ON_BOOL32 SetStartPoint(ON_3dPoint start_point)
ON_BrepVertex * Vertex(int evi) const
ON_BOOL32 IsValid(ON_TextLog *text_log=NULL) const
ON_COMPONENT_INDEX ComponentIndex() const
ON::object_type ObjectType() const
ON_BOOL32 IsClosed() const
bool ChangeEdgeCurve(int c3i)
void Dump(ON_TextLog &) const
const ON_Curve * EdgeCurveOf() const
ON_BOOL32 Write(ON_BinaryArchive &) const
int EdgeCurveIndexOf() const
ON_SimpleArray< int > m_ti
ON__UINT32 DataCRC(ON__UINT32 current_remainder) const
ON_BrepTrim * Trim(int eti) const
ON_BrepEdge & operator=(const ON_BrepEdge &)
unsigned int SizeOf() const
ON_BOOL32 Read(ON_BinaryArchive &)
ON_BOOL32 SetEndPoint(ON_3dPoint end_point)
void UnsetPlineEdgeParameters()
ON_BOOL32 Write(ON_BinaryArchive &) const
ON_BOOL32 Read(ON_BinaryArchive &)
unsigned int SizeOf() const
class ON_BrepFaceSide * FaceSide(int dir) const
ON_BrepLoop * Loop(int fli) const
ON__UINT32 DataCRC(ON__UINT32 current_remainder) const
int SurfaceIndexOf() const
bool TransformTrim(const ON_Xform &xform)
ON_BOOL32 Reverse(int dir)
ON_BOOL32 Write(ON_BinaryArchive &) const
unsigned int SizeOf() const
bool SetMesh(ON::mesh_type, ON_Mesh *mesh)
bool ChangeSurface(int si)
ON_SimpleArray< int > m_li
ON_BOOL32 Read(ON_BinaryArchive &)
ON_BrepFace & operator=(const ON_BrepFace &)
bool ChangeSurface(int si, bool bTransformTrimCurves)
ON_COMPONENT_INDEX ComponentIndex() const
ON_BrepLoop * OuterLoop() const
ON_BOOL32 SetDomain(int dir, double t0, double t1)
const ON_Mesh * Mesh(ON::mesh_type mesh_type) const
bool SetDomain(ON_Interval udom, ON_Interval vdom)
void Dump(ON_TextLog &) const
int m_face_material_channel
const ON_Surface * SurfaceOf() const
ON_BOOL32 IsValid(ON_TextLog *text_log=NULL) const
ON_BOOL32 GetBBox(double *, double *, ON_BOOL32=false) const
void DestroyRuntimeCache(bool bDelete=true)
void DestroyMesh(ON::mesh_type mesh_type, bool bDeleteMesh=true)
bool Read(ON_BinaryArchive &)
bool Write(ON_BinaryArchive &) const
unsigned int SizeOf() const
class ON_BrepRegion * Region() const
class ON_BrepFace * Face() const
friend class ON_BrepRegionTopology
ON_BOOL32 Read(ON_BinaryArchive &binary_archive)
int SurfaceNormalDirection() const
ON_BOOL32 Write(ON_BinaryArchive &binary_archive) const
ON_BOOL32 IsValid(ON_TextLog *text_log=NULL) const
class ON_BrepRegionTopology * RegionTopology() const
ON_BrepFaceSide & operator=(const ON_BrepFaceSide &)
bool SwapTrimParameters(int)
bool CullUnused3dCurves()
bool SortFaceLoops(ON_BrepFace &face) const
ON::object_type ObjectType() const
ON_BrepTrim & NewTrim(int c2i=-1)
bool IsValidEdgeGeometry(int edge_index, ON_TextLog *text_log) const
int EdgeCurveUseCount(int c3_index, int max_count=0) const
ON_BrepFace & NewFace(int si=-1)
bool RemoveSlits(ON_BrepFace &F)
ON_BrepTrim & NewTrim(ON_BrepEdge &edge, ON_BOOL32 bRev3d, ON_BrepLoop &loop, int c2i=-1)
bool IsValidVertexTolerancesAndFlags(int vertex_index, ON_TextLog *text_log) const
bool ReadV1_LegacyTrim(ON_BinaryArchive &, ON_BrepFace &, ON_BrepLoop &)
ON_BrepLoop * Loop(int loop_index) const
void StandardizeFaceSurfaces()
ON_BOOL32 Read(ON_BinaryArchive &)
bool Create(ON_SumSurface *&pSumSurface)
bool StandardizeFaceSurface(int face_index)
bool SetTrimCurve(ON_BrepTrim &trim, int c2_index, const ON_Interval *sub_domain=NULL)
bool IsValidLoopTopology(int loop_index, ON_TextLog *text_log) const
bool ReadV1_LegacyLoopStuff(ON_BinaryArchive &, ON_BrepFace &)
bool ChangeVertex(int old_vi, int new_vi, bool bClearTolerances)
void LabelConnectedComponent(int face_index, int label)
bool ReadV1_LegacyTrimStuff(ON_BinaryArchive &, ON_BrepFace &, ON_BrepLoop &)
ON_BrepLoop * Loop(ON_COMPONENT_INDEX loop_index) const
bool RemoveNesting(bool bExtractSingleSegments, bool bEdges=true, bool bTrimCurves=true)
int GetConnectedComponents(ON_SimpleArray< ON_Brep * > &components, bool bDuplicateMeshes) const
ON_BrepTrim & NewTrim(ON_BrepEdge &edge, ON_BOOL32 bRev3d, int c2i=-1)
void Delete2dCurve(int c2_index)
ON_BrepVertex & NewVertex(ON_3dPoint vertex_point, double vertex_tolerance=ON_UNSET_VALUE)
bool GetTrim2dStart(int trim_index, ON_2dPoint &) const
void Append(const ON_Brep &)
int RemoveWireEdges(bool bDeleteVertices=true)
void Clear_edge_user_i(int)
int MergeFaces(int fid0, int fid1)
void SetTolerancesBoxesAndFlags(ON_BOOL32 bLazy=false, ON_BOOL32 bSetVertexTolerances=true, ON_BOOL32 bSetEdgeTolerances=true, ON_BOOL32 bSetTrimTolerances=true, ON_BOOL32 bSetTrimIsoFlags=true, ON_BOOL32 bSetTrimTypeFlags=true, ON_BOOL32 bSetLoopTypeFlags=true, ON_BOOL32 bSetTrimBoxes=true)
void DestroyRuntimeCache(bool bDelete=true)
ON_Brep * BrepForm(ON_Brep *brep=NULL) const
bool SetEdgeVertex(const int, const int, const int)
ON_BrepFace * NewRuledFace(const ON_BrepEdge &edgeA, bool bRevEdgeA, const ON_BrepEdge &edgeB, bool bRevEdgeB)
bool IsPointInside(ON_3dPoint P, double tolerance, bool bStrictlyInside) const
bool GetTrim2dEnd(int, ON_2dPoint &) const
bool IsManifold(ON_BOOL32 *pbIsOriented=NULL, ON_BOOL32 *pbHasBoundary=NULL) const
bool IsDuplicate(const ON_Brep &other, double tolerance=ON_ZERO_TOLERANCE) const
bool CullUnused2dCurves()
bool CombineCoincidentVertices(ON_BrepVertex &, ON_BrepVertex &)
bool CullUnusedSurfaces()
bool IsValidFaceGeometry(int face_index, ON_TextLog *text_log) const
ON_BOOL32 HasBrepForm() const
bool IsValidLoop(int loop_index, ON_TextLog *text_log) const
bool Create(ON_RevSurface *&pRevSurface)
ON_BOOL32 IsValid(ON_TextLog *text_log=NULL) const
bool IsValidForV2() const
ON_BOOL32 GetBBox(double *, double *, ON_BOOL32=false) const
bool SetEdgeDomain(int, const ON_Interval &)
ON_BrepLoop * NewOuterLoop(int face_index)
bool SetTrimStartVertex(const int, const int)
void DeleteFace(ON_BrepFace &face, ON_BOOL32 bDeleteFaceEdges)
ON_BrepVertex & NewVertex()
bool IsValidEdgeTolerancesAndFlags(int edge_index, ON_TextLog *text_log) const
ON__UINT32 DataCRC(ON__UINT32 current_remainder) const
void DeleteTrim(ON_BrepTrim &trim, ON_BOOL32 bDeleteTrimEdges)
ON_BrepEdge & NewEdge(ON_BrepVertex &, ON_BrepVertex &, int=-1, const ON_Interval *=NULL, double edge_tolerance=ON_UNSET_VALUE)
ON_BrepVertex * Vertex(ON_COMPONENT_INDEX vertex_index) const
ON_BrepFace * NewConeFace(const ON_BrepVertex &vertex, const ON_BrepEdge &edge, bool bRevEdge)
bool IsValidFace(int face_index, ON_TextLog *text_log) const
int SurfaceUseCount(int surface_index, int max_count=0) const
bool SetTrimTolerances(ON_BOOL32 bLazy=false)
bool IsValidForV2(const ON_BrepTrim &) const
ON_BrepTrim * Trim(ON_COMPONENT_INDEX trim_index) const
bool HopAcrossEdge(int &, int &) const
ON_BrepFace * NewFace(const ON_Surface &surface)
void DeleteVertex(ON_BrepVertex &vertex)
int LabelConnectedComponents()
int AddEdgeCurve(ON_Curve *)
bool SwapLoopParameters(int)
int NextEdge(int current_edge_index, int endi, int *next_endi=NULL) const
ON_Curve * Loop2dCurve(const ON_BrepLoop &loop) const
void StandardizeEdgeCurves(bool bAdjustEnds)
ON_BrepEdge * CombineContiguousEdges(int edge_index0, int edge_iindex1, double angle_tolerance_radians=ON_PI/180.0)
bool SetVertexTolerance(ON_BrepVertex &vertex, ON_BOOL32 bLazy=false) const
void Clear_vertex_user_i()
virtual bool SetEdgeTolerance(ON_BrepEdge &edge, ON_BOOL32 bLazy=false) const
ON_BrepFace * Face(int face_index) const
void Delete3dCurve(int c3_index)
ON_Curve * Loop3dCurve(const ON_BrepLoop &loop, ON_BOOL32 bRevCurveIfFaceRevIsTrue=false) const
virtual bool SetTrimBoundingBoxes(ON_BOOL32 bLazy=false)
bool SetTrimTypeFlags(ON_BrepTrim &, ON_BOOL32 bLazy=false)
virtual bool SetTrimBoundingBoxes(ON_BrepFace &face, ON_BOOL32 bLazy=false)
void SetLoopVertices(const int)
ON_BrepLoop::TYPE ComputeLoopType(const ON_BrepLoop &) const
bool ReadV1_LegacyShellStuff(ON_BinaryArchive &)
ON_Brep * SubBrep(int subfi_count, const int *sub_fi, ON_Brep *sub_brep=0) const
bool FaceIsSurface(int) const
int AddSurface(ON_Surface *)
bool HasRegionTopology() const
bool ShrinkSurface(ON_BrepFace &face, int DisableSide=0)
const ON_Geometry * BrepComponent(ON_COMPONENT_INDEX ci) const
ON_BrepTrim & NewCurveOnFace(ON_BrepFace &face, ON_BrepEdge &edge, ON_BOOL32 bRev3d=false, int c2i=-1)
ON_BrepTrim * Trim(int trim_index) const
bool SetVertexTolerances(ON_BOOL32 bLazy=false)
bool CollapseEdge(int edge_index, bool bCloseTrimGap=true, int vertex_index=-1)
void Dump(ON_TextLog &) const
bool SetTrimTypeFlags(ON_BOOL32 bLazy=false)
bool GetTrim3dEnd(int, ON_3dPoint &) const
bool IsValidTolerancesAndFlags(ON_TextLog *text_log=NULL) const
ON_BrepLoop & NewLoop(ON_BrepLoop::TYPE loop_type, ON_BrepFace &face)
bool IsValidTrimTolerancesAndFlags(int trim_index, ON_TextLog *text_log) const
ON_Surface * Read100_BrepSurface(ON_BinaryArchive &) const
ON_BrepEdge * Edge(int edge_index) const
bool IsValidVertex(int vertex_index, ON_TextLog *text_log) const
bool FlipReversedSurfaces()
unsigned int SizeOf() const
void DeleteLoop(ON_BrepLoop &loop, ON_BOOL32 bDeleteLoopEdges)
ON_BrepFace * NewFace(ON_Surface *pSurface, int vid[4], int eid[4], ON_BOOL32 bRev3d[4])
bool IsValidTopology(ON_TextLog *text_log=NULL) const
bool SetTrimIsoFlags(ON_BrepTrim &)
ON_BrepLoop & NewLoop(ON_BrepLoop::TYPE)
bool StandardizeEdgeCurve(int edge_index, bool bAdjustEnds)
bool SetTrimTypeFlags(ON_BrepLoop &, ON_BOOL32 bLazy=false)
ON_Curve * Read100_BrepCurve(ON_BinaryArchive &) const
virtual bool SetTrimTolerance(ON_BrepTrim &trim, ON_BOOL32 bLazy=false) const
void DestroyMesh(ON::mesh_type mesh_type, bool bDeleteMesh=true)
ON_Brep * ExtractFace(int face_index)
bool IsValidLoopGeometry(int loop_index, ON_TextLog *text_log) const
void DeleteEdge(ON_BrepEdge &edge, ON_BOOL32 bDeleteEdgeVertices)
bool NewPlanarFaceLoop(int face_index, ON_BrepLoop::TYPE loop_type, ON_SimpleArray< ON_Curve * > &boundary, ON_BOOL32 bDuplicateCurves=true)
virtual bool SetTrimBoundingBox(ON_BrepTrim &trim, ON_BOOL32 bLazy=false)
ON_BrepVertex & NewPointOnFace(ON_BrepFace &face, double s, double t)
bool ReadOld101(ON_BinaryArchive &)
bool StandardizeTrimCurve(int trim_index)
bool SetTrimDomain(int, const ON_Interval &)
ON_BOOL32 Transform(const ON_Xform &)
bool SetEdgeTolerances(ON_BOOL32 bLazy=false)
bool GetTrim3dStart(int, ON_3dPoint &) const
bool IsValidVertexGeometry(int vertex_index, ON_TextLog *text_log) const
bool ReadOld100(ON_BinaryArchive &)
friend class ON_BrepFaceSide
ON_BrepLoop * NewOuterLoop(int face_index, int vid[4], int eid[4], ON_BOOL32 bRev3d[4])
bool IsValidVertexTopology(int vertex_index, ON_TextLog *text_log) const
bool IsValidLoopTolerancesAndFlags(int loop_index, ON_TextLog *text_log) const
bool SetEdgeCurve(ON_BrepEdge &edge, int c3_index, const ON_Interval *sub_domain=NULL)
ON_BOOL32 Write(ON_BinaryArchive &) const
bool IsValidFaceTopology(int face_index, ON_TextLog *text_log) const
int Loop3dCurve(const ON_BrepLoop &loop, ON_SimpleArray< ON_Curve * > &curve_list, ON_BOOL32 bRevCurveIfFaceRevIsTrue=false) const
bool ReadV1_LegacyLoop(ON_BinaryArchive &, ON_BrepFace &)
bool IsValidTrimTopology(int trim_index, ON_TextLog *text_log) const
ON_DEPRECATED void StardardizeFaceSurfaces()
void FlipFace(ON_BrepFace &)
bool SetTrimIsoFlags(ON_BrepLoop &)
bool IsValidGeometry(ON_TextLog *text_log=NULL) const
ON_BrepTrim & NewSingularTrim(const ON_BrepVertex &vertex, ON_BrepLoop &loop, ON_Surface::ISO iso, int c2i=-1)
bool Create(ON_PlaneSurface *&pPlaneSurface)
bool IsValidTrimGeometry(int trim_index, ON_TextLog *text_log) const
void FlipLoop(ON_BrepLoop &)
bool Create(ON_NurbsSurface *&pNurbsSurface)
int GetMesh(ON::mesh_type mesh_type, ON_SimpleArray< const ON_Mesh * > &meshes) const
int CreateMesh(const ON_MeshParameters &mp, ON_SimpleArray< ON_Mesh * > &mesh_list) const
int TrimCurveUseCount(int c2_index, int max_count=0) const
void StandardizeTrimCurves()
int AddTrimCurve(ON_Curve *)
ON_BrepFace * Face(ON_COMPONENT_INDEX face_index) const
bool SetTrimIsoFlags(ON_BrepFace &)
ON_BrepVertex * Vertex(int vertex_index) const
bool IsValidForV2(const ON_BrepEdge &) const
ON_BrepTrim & NewTrim(ON_BOOL32 bRev3d, ON_BrepLoop &loop, int c2i=-1)
void DestroyRegionTopology()
bool IsValidEdgeTopology(int edge_index, ON_TextLog *text_log) const
void SetTolsFromLegacyValues()
void SetTrimIsoFlag(int, double[6])
bool IsValidEdge(int edge_index, ON_TextLog *text_log) const
virtual int SolidOrientation() const
bool CombineCoincidentEdges(ON_BrepEdge &, ON_BrepEdge &)
bool ReadV1_LegacyFaceStuff(ON_BinaryArchive &)
const ON_BrepRegionTopology & RegionTopology() const
virtual bool SetTrimBoundingBoxes(ON_BrepLoop &loop, ON_BOOL32 bLazy=false)
ON_Brep * DuplicateFace(int face_index, ON_BOOL32 bDuplicateMeshes) const
ON_BrepTrim::TYPE TrimType(const ON_BrepTrim &trim, ON_BOOL32 bLazy=true) const
bool ReadOld200(ON_BinaryArchive &, int)
friend class ON_BrepRegion
bool Create(ON_Surface *&pSurface)
ON_Brep & operator=(const ON_Brep &)
ON_BrepEdge * Edge(ON_COMPONENT_INDEX edge_index) const
bool CullUnusedVertices()
bool IsValidFaceTolerancesAndFlags(int face_index, ON_TextLog *text_log) const
bool StandardizeEdgeCurve(int edge_index, bool bAdjustEnds, int EdgeCurveUse)
bool IsValidTrim(int trim_index, ON_TextLog *text_log) const
bool SetTrimTypeFlags(ON_BrepFace &, ON_BOOL32 bLazy=false)
ON_Brep * DuplicateFaces(int face_count, const int *face_index, ON_BOOL32 bDuplicateMeshes) const
static ON_Brep * New(const ON_Brep &)
int PrevEdge(int current_edge_index, int endi, int *prev_endi=NULL) const
bool EvaluatePoint(const class ON_ObjRef &objref, ON_3dPoint &P) const
bool LoopIsSurfaceBoundary(int) const
int LoopDirection(const ON_BrepLoop &) const
bool CloseTrimGap(ON_BrepTrim &trim0, ON_BrepTrim &trim1)
ON_BOOL32 SwapCoordinates(int, int)
void DeleteSurface(int s_index)
ON_BrepEdge & NewEdge(int=-1)
unsigned int SizeOf() const
ON_BOOL32 Read(ON_BinaryArchive &)
ON_BOOL32 Write(ON_BinaryArchive &) const
ON_BOOL32 Write(ON_BinaryArchive &) const
ON_BOOL32 IsValid(ON_TextLog *text_log=NULL) const
const ON_Surface * SurfaceOf() const
void Dump(ON_TextLog &) const
int SurfaceIndexOf() const
ON_COMPONENT_INDEX ComponentIndex() const
ON_BrepFace * Face() const
unsigned int SizeOf() const
ON_BOOL32 Read(ON_BinaryArchive &)
bool TransformTrim(const ON_Xform &xform)
ON_BOOL32 Transform(const ON_Xform &xform)
ON_SimpleArray< int > m_ti
ON_BrepTrim * Trim(int lti) const
int IndexOfTrim(const ON_BrepTrim &) const
ON_BrepLoop & operator=(const ON_BrepLoop &)
ON_BOOL32 GetBBox(double *boxmin, double *boxmax, int bGrowBox=false) const
void DestroyRuntimeCache(bool bDelete=true)
bool Read(ON_BinaryArchive &)
bool Write(ON_BinaryArchive &) const
unsigned int SizeOf() const
ON_BrepRegion & operator=(const ON_BrepRegion &)
ON_BOOL32 Write(ON_BinaryArchive &binary_archive) const
friend class ON_BrepRegionTopology
ON_SimpleArray< int > m_fsi
ON_BrepFaceSide * FaceSide(int rfsi) const
ON_BOOL32 Read(ON_BinaryArchive &binary_archive)
ON_BOOL32 IsValid(ON_TextLog *text_log=NULL) const
const ON_BoundingBox & BoundingBox() const
class ON_BrepRegionTopology * RegionTopology() const
ON_Brep * RegionBoundaryBrep(ON_Brep *brep=NULL) const
ON_BrepRegionTopology(const ON_BrepRegionTopology &src)
ON_BrepRegionTopology & operator=(const ON_BrepRegionTopology &)
ON_BrepFaceSideArray m_FS
unsigned int SizeOf() const
bool Write(ON_BinaryArchive &) const
bool IsValid(ON_TextLog *text_log=0) const
friend class ON_BrepRegionTopologyUserData
bool Read(ON_BinaryArchive &)
unsigned int SizeOf() const
ON_BOOL32 Read(ON_BinaryArchive &)
ON_BOOL32 Write(ON_BinaryArchive &) const
ON_BrepLoop * Loop() const
int TrimCurveIndexOf() const
ON_BOOL32 SetEndPoint(ON_3dPoint end_point)
ON_BrepTrim & operator=(const ON_BrepTrim &)
const ON_Curve * TrimCurveOf() const
ON_BrepVertex * Vertex(int tvi) const
void DestroyRuntimeCache(bool bDelete=true)
bool TransformTrim(const ON_Xform &xform)
int EdgeCurveIndexOf() const
void UnsetPlineEdgeParameters()
int SurfaceIndexOf() const
bool ChangeTrimCurve(int c2i)
const ON_Surface * SurfaceOf() const
ON_BOOL32 Write(ON_BinaryArchive &) const
bool AttachToEdge(int edge_index, bool bRev3d)
ON_SimpleArray< ON_BrepTrimPoint > m_pline
void m__legacy_flags_Set(int, int)
ON_BOOL32 IsValid(ON_TextLog *text_log=NULL) const
ON_BOOL32 Read(ON_BinaryArchive &)
ON_COMPONENT_INDEX ComponentIndex() const
unsigned int SizeOf() const
const ON_Curve * EdgeCurveOf() const
ON_BrepFace * Face() const
bool RemoveFromEdge(bool bRemoveFromStartVertex, bool bRemoveFromEndVertex)
bool m__legacy_flags_Get(int *, int *) const
ON_BrepEdge * Edge() const
void Dump(ON_TextLog &) const
ON_BOOL32 SetStartPoint(ON_3dPoint start_point)
void DestroyPspaceInformation()
unsigned int SizeOf() const
ON_BOOL32 Write(ON_BinaryArchive &) const
ON_BOOL32 Read(ON_BinaryArchive &)
ON_SimpleArray< int > m_ei
ON_BOOL32 Write(ON_BinaryArchive &) const
ON__UINT32 DataCRC(ON__UINT32 current_remainder) const
ON_COMPONENT_INDEX ComponentIndex() const
ON_BOOL32 IsValid(ON_TextLog *text_log=NULL) const
bool SetPoint(const ON_3dPoint &)
ON_BOOL32 Read(ON_BinaryArchive &)
ON_BrepVertex & operator=(const ON_BrepVertex &)
void Dump(ON_TextLog &) const
unsigned int SizeOf() const