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