23 #if !defined(OPENNURBS_BREP_INC_) 24 #define OPENNURBS_BREP_INC_ 58 mutable ON_U m_vertex_user;
63 int m_vertex_index = -1;
77 unsigned int SizeOf()
const override;
80 ON__UINT32
DataCRC(ON__UINT32 current_remainder)
const override;
115 double Tolerance()
const;
119 int EdgeCount()
const;
155 double m_tolerance = ON_UNSET_VALUE;
184 #pragma ON_PRAGMA_WARNING_PUSH 185 #pragma ON_PRAGMA_WARNING_DISABLE_MSC(4263) 186 #pragma ON_PRAGMA_WARNING_DISABLE_MSC(4264) 198 mutable ON_U m_edge_user;
203 int m_edge_index = -1;
245 int TrimCount()
const;
256 unsigned int SizeOf()
const override;
259 ON__UINT32
DataCRC(ON__UINT32 current_remainder)
const override;
299 int EdgeCurveIndexOf()
const;
305 const ON_Curve* EdgeCurveOf()
const;
324 bool ChangeEdgeCurve(
333 void UnsetPlineEdgeParameters();
362 double m_tolerance = ON_UNSET_VALUE;
370 #pragma ON_PRAGMA_WARNING_POP 379 #if defined(ON_DLL_TEMPLATE) 402 void DestroyRuntimeCache(
bool bDelete =
true )
override;
405 unsigned int SizeOf()
const override;
415 int m_trim_index = -1;
450 force_32_bit_trim_type = 0xFFFFFFFF
501 bool IsValid(
class ON_TextLog* text_log =
nullptr )
const override;
510 ON_COMPONENT_INDEX ComponentIndex()
const override;
517 bool Reverse()
override;
551 bool ChangeTrimCurve(
int c2i );
561 void DestroyPspaceInformation();
581 bool bRemoveFromStartVertex,
582 bool bRemoveFromEndVertex
607 const ON_Curve* TrimCurveOf()
const;
613 const ON_Curve* EdgeCurveOf()
const;
626 int TrimCurveIndexOf()
const;
633 int EdgeCurveIndexOf()
const;
640 int SurfaceIndexOf()
const;
646 int FaceIndexOf()
const;
692 bool TransformTrim(
const ON_Xform& xform );
709 bool m_bRev3d =
false;
755 double m_tolerance[2];
766 void UnsetPlineEdgeParameters();
775 void m__legacy_flags_Set(
int,
int);
776 bool m__legacy_flags_Get(
int*,
int*)
const;
777 double m__legacy_2d_tol = ON_UNSET_VALUE;
778 double m__legacy_3d_tol = ON_UNSET_VALUE;
779 int m__legacy_flags = 0;
792 void DestroyRuntimeCache(
bool bDelete =
true )
override;
805 int Dimension()
const override;
808 bool GetBBox(
double* boxmin,
double* boxmax,
bool bGrowBox =
false )
const override;
839 int TrimCount()
const;
845 mutable ON_U m_loop_user;
849 int m_loop_index = -1;
874 unsigned int SizeOf()
const override;
876 bool IsValid(
class ON_TextLog* text_log =
nullptr )
const override;
885 ON_COMPONENT_INDEX ComponentIndex()
const override;
900 int SurfaceIndexOf()
const;
920 bool TransformTrim(
const ON_Xform& xform );
942 void DestroyRuntimeCache(
bool bDelete =
true )
override;
948 mutable ON_U m_face_user;
952 int m_face_index = -1;
977 int LoopCount()
const;
1007 unsigned int SizeOf()
const override;
1010 ON__UINT32 DataCRC(ON__UINT32 current_remainder)
const override;
1012 bool IsValid(
class ON_TextLog* text_log =
nullptr )
const override;
1021 ON_COMPONENT_INDEX ComponentIndex()
const override;
1024 void ClearBoundingBox()
override;
1027 bool GetBBox(
double* boxmin,
double* boxmax,
bool bGrowBox =
false )
const override;
1059 bool Transpose()
override;
1080 // Change the domain of a face
1081 // This changes the parameterization of the face's surface and transforms
1082 // the "u" and "v" coordinates of all the face's parameter space trimming
1083 // curves. The locus of the face is not changed.
1096 bool SetMesh( ON::mesh_type,
ON_Mesh* mesh );
1098 const ON_Mesh* Mesh( ON::mesh_type mesh_type )
const;
1113 void DestroyMesh( ON::mesh_type mesh_type,
bool bDeleteMesh =
true );
1130 bool TransformTrim(
const ON_Xform& xform );
1167 bool bTransformTrimCurves
1175 int SurfaceIndexOf()
const;
1186 bool m_bRev =
false;
1202 int m_face_material_channel = 0;
1205 ON_UUID m_face_uuid = ON_nil_uuid;
1209 ON_Mesh* m_render_mesh =
nullptr;
1210 ON_Mesh* m_analysis_mesh =
nullptr;
1211 ON_Mesh* m_preview_mesh =
nullptr;
1224 bool IsValid(
class ON_TextLog* text_log =
nullptr )
const override;
1230 mutable ON_U m_faceside_user;
1233 int m_faceside_index;
1247 const class ON_Brep* Brep()
const;
1274 int SurfaceNormalDirection()
const;
1296 bool IsValid(
class ON_TextLog* text_log =
nullptr )
const override;
1302 mutable ON_U m_region_user;
1340 bool IsFinite()
const;
1374 #if defined(ON_DLL_TEMPLATE) 1398 unsigned int SizeOf()
const;
1409 unsigned int SizeOf()
const;
1420 unsigned int SizeOf()
const;
1431 unsigned int SizeOf()
const;
1442 unsigned int SizeOf()
const;
1454 unsigned int SizeOf()
const;
1473 unsigned int SizeOf()
const;
1496 bool IsValid(
ON_TextLog* text_log = 0 )
const;
1500 unsigned int SizeOf()
const;
1508 friend class ON_V5_BrepRegionTopologyUserData;
1510 const ON_Brep* m_brep =
nullptr;
1526 unsigned int ClearComponentStates(
1531 unsigned int GetComponentsWithSetStates(
1533 bool bAllEqualStates,
1538 unsigned int SetComponentStates(
1539 ON_COMPONENT_INDEX component_index,
1544 unsigned int ClearComponentStates(
1545 ON_COMPONENT_INDEX component_index,
1550 unsigned int SetComponentStatus(
1551 ON_COMPONENT_INDEX component_index,
1559 void MarkAggregateComponentStatusAsNotCurrent()
const override;
1562 void DestroyRuntimeCache(
bool bDelete =
true )
override;
1565 unsigned int SizeOf()
const override;
1568 ON__UINT32 DataCRC(ON__UINT32 current_remainder)
const override;
1623 void MemoryRelocate()
override;
1630 ON_DEPRECATED_MSG(
"Does nothing. Delete call.")
1633 double tolerance = ON_ZERO_TOLERANCE
1643 void EmergencyDestroy();
1674 void DestroyMesh( ON::mesh_type mesh_type,
bool bDeleteMesh = true );
1738 bool IsValid( class
ON_TextLog* text_log =
nullptr ) const override;
1763 bool IsValidTopology(
ON_TextLog* text_log =
nullptr ) const;
1792 bool IsValidGeometry(
ON_TextLog* text_log =
nullptr ) const;
1822 bool IsValidTolerancesAndFlags(
ON_TextLog* text_log =
nullptr ) const;
1831 bool IsValidForV2() const;
1846 ON::object_type ObjectType() const override;
1849 int Dimension() const override;
1852 void ClearBoundingBox() override;
1855 bool GetTightBoundingBox( class
ON_BoundingBox& tight_bbox,
bool bGrowBox = false, const class
ON_Xform* xform =
nullptr ) const override;
1858 bool GetBBox(
double* boxmin,
double* boxmax,
bool bGrowBox = false ) const override;
1867 bool SwapCoordinates(
1873 bool HasBrepForm() const override;
1898 int AddEdgeCurve( ON_Curve* );
1936 double vertex_tolerance = ON_UNSET_VALUE
1947 double edge_tolerance = ON_UNSET_VALUE
1998 const ON_Surface& surface
2033 ON_Surface* pSurface,
2084 const ON_BrepVertex& vertex,
2178 bool NewPlanarFaceLoop(
2182 bool bDuplicateCurves = true
2358 const ON_BrepVertex& vertex,
2360 ON_Surface::ISO iso,
2378 ON_BrepVertex& NewPointOnFace(
2402 bool bRev3d = false,
2416 void SetVertices(
void);
2423 bool SetTrimIsoFlags();
2446 ON_BrepTrim::TYPE TrimType(
2447 const ON_BrepTrim& trim,
2455 bool SetTrimTypeFlags(
bool bLazy = false );
2456 bool SetTrimTypeFlags( ON_BrepFace&,
bool bLazy = false );
2457 bool SetTrimTypeFlags( ON_BrepLoop&,
bool bLazy = false );
2458 bool SetTrimTypeFlags( ON_BrepTrim&,
bool bLazy = false );
2462 bool GetTrim2dStart(
2476 bool GetTrim3dStart(
2491 ON_BrepLoop::TYPE ComputeLoopType( const ON_BrepLoop& ) const;
2497 bool SetVertexTolerance( ON_BrepVertex& vertex,
bool bLazy = false ) const;
2499 bool SetTrimTolerance( ON_BrepTrim& trim,
bool bLazy = false ) const;
2501 bool SetEdgeTolerance(
ON_BrepEdge& edge,
bool bLazy = false ) const;
2521 bool SetVertexTolerances(
bool bLazy = false );
2541 bool SetTrimTolerances(
bool bLazy = false );
2561 bool SetEdgeTolerances(
bool bLazy = false );
2575 bool SetTrimBoundingBox( ON_BrepTrim& trim,
bool bLazy=false );
2588 bool SetTrimBoundingBoxes( ON_BrepLoop& loop,
bool bLazy=false );
2604 bool SetTrimBoundingBoxes( ON_BrepFace& face,
bool bLazy=false );
2618 bool SetTrimBoundingBoxes(
bool bLazy=false );
2643 void SetTolerancesBoxesAndFlags(
2645 bool bSetVertexTolerances = true,
2646 bool bSetEdgeTolerances = true,
2647 bool bSetTrimTolerances = true,
2648 bool bSetTrimIsoFlags = true,
2649 bool bSetTrimTypeFlags = true,
2650 bool bSetLoopTypeFlags = true,
2651 bool bSetTrimBoxes = true
2668 int SurfaceUseCount(
2682 int EdgeCurveUseCount(
2697 int TrimCurveUseCount(
2716 ON_Curve* Loop3dCurve(
2717 const ON_BrepLoop& loop,
2718 bool bRevCurveIfFaceRevIsTrue = false
2737 const ON_BrepLoop& loop,
2739 bool bRevCurveIfFaceRevIsTrue = false
2752 ON_Curve* Loop2dCurve( const ON_BrepLoop& loop ) const;
2771 int SolidOrientation() const;
2785 bool IsSolid() const;
2804 bool* pbIsOriented =
nullptr,
2805 bool* pbHasBoundary =
nullptr 2830 bool bStrictlyInside
2834 bool IsSurface() const;
2857 bool LoopIsSurfaceBoundary(
2867 bool FlipReversedSurfaces();
2892 void FlipFace(ON_BrepFace&);
2901 void FlipLoop(ON_BrepLoop&);
2914 int LoopDirection( const ON_BrepLoop& ) const;
2931 bool SortFaceLoops( ON_BrepFace& face ) const;
2943 bool DisconnectEdgeFaces(
int eid);
2951 bool CombineCoincidentVertices(ON_BrepVertex&, ON_BrepVertex&);
2959 bool CombineCoincidentEdges(
ON_BrepEdge&, ON_BrepEdge&);
2981 ON_BrepEdge* CombineContiguousEdges(
2984 double angle_tolerance_radians = ON_PI/180.0
2993 void DeleteVertex(ON_BrepVertex& vertex);
2994 void DeleteEdge(ON_BrepEdge& edge,
bool bDeleteEdgeVertices);
2995 void DeleteTrim(ON_BrepTrim& trim,
bool bDeleteTrimEdges);
2996 void DeleteLoop(ON_BrepLoop& loop,
bool bDeleteLoopEdges);
2997 void DeleteFace(ON_BrepFace& face,
bool bDeleteFaceEdges);
2998 void DeleteSurface(
int s_index);
2999 void Delete2dCurve(
int c2_index);
3000 void Delete3dCurve(
int c3_index);
3013 void LabelConnectedComponent(
3032 int LabelConnectedComponents() const;
3049 int GetConnectedComponents(
3051 bool bDuplicateMeshes
3076 ON_Brep* sub_brep = 0
3083 bool HasRegionTopology() const;
3098 void DestroyRegionTopology();
3113 ON_Brep* DuplicateFace(
3115 bool bDuplicateMeshes
3132 ON_Brep* DuplicateFaces(
3134 const
int* face_index,
3135 bool bDuplicateMeshes
3146 ON_Brep* ExtractFace(
3165 bool StandardizeEdgeCurve(
int edge_index,
bool bAdjustEnds );
3187 bool StandardizeEdgeCurve(
int edge_index,
bool bAdjustEnds,
int EdgeCurveUse );
3199 void StandardizeEdgeCurves(
bool bAdjustEnds );
3214 bool StandardizeTrimCurve(
int trim_index );
3223 void StandardizeTrimCurves();
3238 bool StandardizeFaceSurface(
int face_index );
3247 void StandardizeFaceSurfaces();
3294 bool ShrinkSurface( ON_BrepFace& face,
int DisableSide=0 );
3315 bool ShrinkSurfaces();
3334 bool CullUnusedFaces();
3335 bool CullUnusedLoops();
3336 bool CullUnusedTrims();
3337 bool CullUnusedEdges();
3338 bool CullUnusedVertices();
3339 bool CullUnused3dCurves();
3340 bool CullUnused2dCurves();
3341 bool CullUnusedSurfaces();
3355 int PrevNonsingularTrim(
3358 int NextNonsingularTrim(
3382 int current_edge_index,
3384 int* prev_endi =
nullptr 3407 int current_edge_index,
3409 int* next_endi =
nullptr 3429 ON_COMPONENT_INDEX ci
3445 ON_BrepVertex* Vertex(
int vertex_index ) const;
3446 ON_BrepVertex* Vertex( ON_COMPONENT_INDEX vertex_index ) const;
3461 ON_BrepEdge* Edge(
int edge_index ) const;
3462 ON_BrepEdge* Edge( ON_COMPONENT_INDEX edge_index ) const;
3477 ON_BrepTrim* Trim(
int trim_index ) const;
3478 ON_BrepTrim* Trim( ON_COMPONENT_INDEX trim_index ) const;
3493 ON_BrepLoop* Loop(
int loop_index ) const;
3494 ON_BrepLoop* Loop( ON_COMPONENT_INDEX loop_index ) const;
3509 ON_BrepFace* Face(
int face_index ) const;
3510 ON_BrepFace* Face( ON_COMPONENT_INDEX face_index ) const;
3526 bool MatchTrimEnds(ON_BrepTrim& T0,
3538 bool MatchTrimEnds(
int trim_index);
3548 bool MatchTrimEnds(ON_BrepLoop& Loop);
3557 bool MatchTrimEnds();
3578 bool HasSlits() const;
3586 bool HasSlits(const ON_BrepFace& F) const;
3594 bool HasSlits(const ON_BrepLoop& L) const;
3616 bool RemoveSlits(ON_BrepFace& F);
3629 bool RemoveSlits(ON_BrepLoop& L);
3643 int MergeFaces(
int fid0,
int fid1);
3668 bool bExtractSingleSegments,
3670 bool bTrimCurves = true
3698 bool bCloseTrimGap = true,
3699 int vertex_index = -1
3726 bool bClearTolerances
3770 int RemoveWireEdges(
bool bDeleteVertices = true );
3784 int RemoveWireVertices();
3789 void Set_user(
ON_U u) const;
3790 void Clear_vertex_user_i() const;
3791 void Clear_edge_user_i(
int) const;
3792 void Clear_edge_user_i() const;
3793 void Clear_trim_user_i() const;
3794 void Clear_loop_user_i() const;
3795 void Clear_face_user_i() const;
3796 void Clear_user_i() const;
3802 mutable
ON_U m_brep_user;
3822 friend class ON_BrepFace;
3825 friend class ON_V5_BrepRegionTopologyUserData;
3829 const ON_Brep* brep,
3830 bool bValidateFaceCount
3832 void Internal_AttachV5RegionTopologyAsUserData(
3851 friend
bool ON_BinaryArchive::ReadV1_TCODE_LEGACY_SHL(ON_Object**,ON_3dmObjectAttributes*);
3855 void SetTrimIsoFlag(
int,
double[6]);
3856 void SetTrimIsoFlag(
int);
3859 bool SetEdgeVertex(const
int, const
int, const
int );
3860 bool HopAcrossEdge(
int&,
int& ) const;
3861 bool SetTrimStartVertex( const
int, const
int);
3862 void SetLoopVertices(const
int);
3863 void ClearTrimVertices();
3864 void ClearEdgeVertices();
3867 bool SwapLoopParameters(
3870 bool SwapTrimParameters(
3875 bool IsValidTrim(
int trim_index,
ON_TextLog* text_log) const;
3876 bool IsValidTrimTopology(
int trim_index,
ON_TextLog* text_log) const;
3877 bool IsValidTrimGeometry(
int trim_index,
ON_TextLog* text_log) const;
3878 bool IsValidTrimTolerancesAndFlags(
int trim_index,
ON_TextLog* text_log) const;
3880 bool IsValidLoop(
int loop_index,
ON_TextLog* text_log) const;
3881 bool IsValidLoopTopology(
int loop_index,
ON_TextLog* text_log) const;
3882 bool IsValidLoopGeometry(
int loop_index,
ON_TextLog* text_log) const;
3883 bool IsValidLoopTolerancesAndFlags(
int loop_index,
ON_TextLog* text_log) const;
3885 bool IsValidFace(
int face_index,
ON_TextLog* text_log) const;
3886 bool IsValidFaceTopology(
int face_index,
ON_TextLog* text_log) const;
3887 bool IsValidFaceGeometry(
int face_index,
ON_TextLog* text_log) const;
3888 bool IsValidFaceTolerancesAndFlags(
int face_index,
ON_TextLog* text_log) const;
3890 bool IsValidEdge(
int edge_index,
ON_TextLog* text_log) const;
3891 bool IsValidEdgeTopology(
int edge_index,
ON_TextLog* text_log) const;
3892 bool IsValidEdgeGeometry(
int edge_index,
ON_TextLog* text_log) const;
3893 bool IsValidEdgeTolerancesAndFlags(
int edge_index,
ON_TextLog* text_log) const;
3895 bool IsValidVertex(
int vertex_index,
ON_TextLog* text_log) const;
3896 bool IsValidVertexTopology(
int vertex_index,
ON_TextLog* text_log) const;
3897 bool IsValidVertexGeometry(
int vertex_index,
ON_TextLog* text_log) const;
3898 bool IsValidVertexTolerancesAndFlags(
int vertex_index,
ON_TextLog* text_log) const;
3900 void SetTolsFromLegacyValues();
3904 bool ReadOld101( ON_BinaryArchive& );
3905 bool ReadOld200( ON_BinaryArchive&,
int );
3906 ON_Curve* Read100_BrepCurve( ON_BinaryArchive& ) const;
3907 ON_Surface* Read100_BrepSurface( ON_BinaryArchive& ) const;
3910 bool ReadV1_LegacyTrimStuff( ON_BinaryArchive&, ON_BrepFace&, ON_BrepLoop& );
3911 bool ReadV1_LegacyTrim( ON_BinaryArchive&, ON_BrepFace&, ON_BrepLoop& );
3912 bool ReadV1_LegacyLoopStuff( ON_BinaryArchive&, ON_BrepFace& );
3913 bool ReadV1_LegacyLoop( ON_BinaryArchive&, ON_BrepFace& );
3914 bool ReadV1_LegacyFaceStuff( ON_BinaryArchive& );
3915 bool ReadV1_LegacyShellStuff( ON_BinaryArchive& );
3945 ON_Brep* ON_BrepFromMesh(
3947 bool bTrimmedTriangles = true,
3948 ON_Brep* pBrep =
nullptr 3999 ON_Brep* ON_BrepBox( const
ON_3dPoint* box_corners, ON_Brep* pBrep =
nullptr );
4049 ON_Brep* ON_BrepWedge( const
ON_3dPoint* corners, ON_Brep* pBrep =
nullptr );
4064 ON_Brep* ON_BrepSphere( const
ON_Sphere& sphere, ON_Brep* pBrep =
nullptr );
4079 ON_Brep* ON_BrepQuadSphere( const
ON_3dPoint& Center,
double radius, ON_Brep* pBrep =
nullptr );
4093 ON_Brep* ON_BrepTorus( const
ON_Torus& torus, ON_Brep* pBrep =
nullptr );
4112 ON_Brep* ON_BrepCylinder( const
ON_Cylinder& cylinder,
4115 ON_Brep* pBrep =
nullptr );
4133 ON_Brep* ON_BrepCone(
4136 ON_Brep* pBrep =
nullptr 4165 ON_Brep* ON_BrepRevSurface(
4169 ON_Brep* pBrep =
nullptr 4189 ON_Brep* ON_BrepTrimmedPlane(
4191 const ON_Curve& boundary,
4192 ON_Brep* pBrep =
nullptr );
4214 ON_Brep* ON_BrepTrimmedPlane(
4217 bool bDuplicateCurves = true,
4218 ON_Brep* pBrep =
nullptr );
4244 bool ON_BrepExtrude(
4246 const ON_Curve& path_curve,
4286 int ON_BrepExtrudeFace(
4289 const ON_Curve& path_curve,
4320 int ON_BrepExtrudeLoop(
4323 const ON_Curve& path_curve,
4350 int ON_BrepExtrudeEdge(
4353 const ON_Curve& path_curve
4381 int ON_BrepExtrudeVertex(
4384 const ON_Curve& path_curve
4411 int ON_BrepConeFace(
4440 bool ON_BrepConeLoop(
4469 int ON_BrepConeEdge(
4477 int ON_BrepMergeFaces(ON_Brep& B,
int fid0,
int fid1);
4480 bool ON_BrepMergeFaces(ON_Brep& B);
4488 bool ON_BrepRemoveSlits(ON_BrepFace& F);
4492 void ON_BrepMergeAllEdges(ON_Brep& B);
4507 ON_Brep* ON_MergeBreps(
4508 const ON_Brep& brep0,
4509 const ON_Brep& brep1,
4526 bool ON_OrderEdgesAroundVertex(const ON_Brep& B,
int vid,
4546 bool ON_OrderEdgesAroundVertex(const ON_Brep& B,
int vid,
Definition: opennurbs_brep.h:1348
Definition: opennurbs_curve.h:1168
Definition: opennurbs_mesh.h:1866
ON_UUID is a 16 byte universally unique identifier.
Definition: opennurbs_uuid.h:32
Definition: opennurbs_brep.h:917
bool Write(ON_BinaryArchive &) const override
Low level archive writing tool used by ON_BinaryArchive::WriteObject().
Brep vertex information is stored in ON_BrepVertex classes. ON_Brep.m_V[] is an array of all the vert...
Definition: opennurbs_brep.h:50
Brep edge information is stored in ON_BrepEdge classes. ON_Brep.m_E[] is an array of all the edges in...
Definition: opennurbs_brep.h:192
Definition: opennurbs_surface.h:74
Definition: opennurbs_nurbssurface.h:62
Definition: opennurbs_brep.h:1256
ON_Point & operator=(const ON_Point &)
Lightweight right circular cone. Use ON_ConeSurface if you need ON_Cone geometry as a virtual ON_Surf...
Definition: opennurbs_cone.h:27
ON_Curve is a pure virtual class for curve objects
Definition: opennurbs_curve.h:93
bool IsValid(class ON_TextLog *text_log=nullptr) const override
ON_Object overrides.
Definition: opennurbs_planesurface.h:22
bool IsValid(class ON_TextLog *text_log=nullptr) const override
Tests an object to see if its data members are correctly initialized.
ON_Cylinder is a right circular cylinder.
Definition: opennurbs_cylinder.h:27
Definition: opennurbs_brep.h:776
ON__UINT32 DataCRC(ON__UINT32 current_remainder) const override
virtual ON_Object::DataCRC override
Definition: opennurbs_brep.h:373
void Dump(ON_TextLog &) const override
Creates a text dump of the object.
virtual ON_COMPONENT_INDEX ComponentIndex() const
If this piece of geometry is a component in something larger, like an ON_BrepEdge in an ON_Brep...
Definition: opennurbs_surfaceproxy.h:26
Base class for all geometry classes that must provide runtime class id. Provides interface for common...
Definition: opennurbs_geometry.h:37
TYPE
types of trim - access through m_type member. Also see m_iso and ON_Surface::ISO
Definition: opennurbs_brep.h:418
Definition: opennurbs_point.h:277
Definition: opennurbs_surface.h:910
bool Read(ON_BinaryArchive &) override
Low level archive writing tool used by ON_BinaryArchive::ReadObject().
Definition: opennurbs_brep.h:1404
unsigned int SizeOf() const override
virtual ON_Object::SizeOf override
virtual unsigned int SizeOf() const
bool Write(ON_BinaryArchive &) const override
Low level archive writing tool used by ON_BinaryArchive::WriteObject().
Definition: opennurbs_brep.h:1382
Definition: opennurbs_compstat.h:396
Definition: opennurbs_brep.h:420
Definition: opennurbs_bounding_box.h:25
ON_U m_trim_user
Definition: opennurbs_brep.h:411
bool Read(ON_BinaryArchive &) override
Low level archive writing tool used by ON_BinaryArchive::ReadObject().
Definition: opennurbs_mesh.h:24
ON_CurveProxy & operator=(const ON_CurveProxy &)
Definition: opennurbs_brep.h:1423
ISO
pure virtual class for surface objects
Definition: opennurbs_surface.h:72
Definition: opennurbs_brep.h:1393
Definition: opennurbs_curveproxy.h:37
Definition: opennurbs_mesh.h:2188
Definition: opennurbs_compstat.h:88
Definition: opennurbs_brep.h:1360
void Dump(ON_TextLog &) const override
Creates a text dump of the object.
ON::object_type ObjectType() const override
overrides virtual ON_Object::ObjectType.
Definition: opennurbs_brep.h:1442
bool Reverse() override
Reverse the direction of the curve.
surface of revolution
Definition: opennurbs_sumsurface.h:23
Top level OpenNURBS objects have geometry and attributes. The geometry is stored in some class derive...
Definition: opennurbs_3dm_attributes.h:41
Definition: opennurbs_brep.h:1472
Pure virtual base class for all classes that must provide runtime class id or support object level 3D...
Definition: opennurbs_object.h:460
TYPE
Definition: opennurbs_brep.h:835
bool IsClosed(void) const override
Test a curve to see if it is closed.
Definition: opennurbs_nurbscurve.h:26
The torus is defined by a major circle and minor radius. The torus is parameterized by (major_angle...
Definition: opennurbs_torus.h:28
Definition: opennurbs_brep.h:1371
Definition: opennurbs_textlog.h:20
Definition: opennurbs_archive.h:1783
Definition: opennurbs_defines.h:394
static const ON_ComponentStatus NoneSet
Definition: opennurbs_compstat.h:92
Definition: opennurbs_objref.h:163
Definition: opennurbs_point.h:460
Definition: opennurbs_pointgeometry.h:24
Definition: opennurbs_brep.h:836
virtual ON__UINT32 DataCRC(ON__UINT32 current_remainder) const
Returns a CRC calculated from the information that defines the object. This CRC can be used as a quic...
Definition: opennurbs_plane.h:20
surface of revolution
Definition: opennurbs_revsurface.h:21
Definition: opennurbs_surface.h:57
Definition: opennurbs_brep.h:1189
bool Trim(const ON_Interval &domain) override
override of virtual ON_Curve::Trim
Brep trim information is stored in ON_BrepTrim classes. ON_Brep.m_T[] is an array of all the trim in ...
Definition: opennurbs_brep.h:397
Definition: opennurbs_point.h:46
Definition: opennurbs_sphere.h:22