File indexing completed on 2026-09-18 09:22:23
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #ifndef VrmlData_Cone_HeaderFile
0017 #define VrmlData_Cone_HeaderFile
0018
0019 #include <VrmlData_Geometry.hxx>
0020
0021
0022
0023
0024
0025
0026 class VrmlData_Cone : public VrmlData_Geometry
0027 {
0028 public:
0029
0030
0031
0032
0033
0034 inline VrmlData_Cone()
0035 : myBottomRadius(1.),
0036 myHeight(2.),
0037 myHasSide(true),
0038 myHasBottom(true)
0039 {
0040 }
0041
0042
0043
0044
0045 inline VrmlData_Cone(const VrmlData_Scene& theScene,
0046 const char* theName,
0047 const double theBottomRadius = 1.,
0048 const double theHeight = 2.)
0049 : VrmlData_Geometry(theScene, theName),
0050 myBottomRadius(theBottomRadius),
0051 myHeight(theHeight),
0052 myHasSide(true),
0053 myHasBottom(true)
0054 {
0055 }
0056
0057
0058
0059
0060 inline double BottomRadius() const { return myBottomRadius; }
0061
0062
0063
0064
0065 inline double Height() const { return myHeight; }
0066
0067
0068
0069
0070 inline bool HasBottom() const { return myHasBottom; }
0071
0072
0073
0074
0075 inline bool HasSide() const { return myHasSide; }
0076
0077
0078
0079
0080 inline void SetBottomRadius(const double theRadius)
0081 {
0082 myBottomRadius = theRadius;
0083 SetModified();
0084 }
0085
0086
0087
0088
0089 inline void SetHeight(const double theHeight)
0090 {
0091 myHeight = theHeight;
0092 SetModified();
0093 }
0094
0095
0096
0097
0098 inline void SetFaces(const bool hasBottom, const bool hasSide)
0099 {
0100 myHasBottom = hasBottom;
0101 myHasSide = hasSide;
0102 SetModified();
0103 }
0104
0105
0106
0107
0108
0109 Standard_EXPORT const occ::handle<TopoDS_TShape>& TShape() override;
0110
0111
0112
0113
0114
0115
0116 Standard_EXPORT occ::handle<VrmlData_Node> Clone(
0117 const occ::handle<VrmlData_Node>& theOther) const override;
0118
0119
0120
0121
0122 Standard_EXPORT VrmlData_ErrorStatus Read(VrmlData_InBuffer& theBuffer) override;
0123
0124
0125
0126
0127 Standard_EXPORT VrmlData_ErrorStatus Write(const char* thePrefix) const override;
0128
0129 private:
0130
0131
0132 double myBottomRadius;
0133 double myHeight;
0134 bool myHasSide : 1;
0135 bool myHasBottom : 1;
0136
0137 public:
0138
0139 DEFINE_STANDARD_RTTI_INLINE(VrmlData_Cone, VrmlData_Geometry)
0140 };
0141
0142
0143 #endif