Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:04:11

0001 // Created on: 2005-10-05
0002 // Created by: Mikhail KLOKOV
0003 // Copyright (c) 2005-2014 OPEN CASCADE SAS
0004 //
0005 // This file is part of Open CASCADE Technology software library.
0006 //
0007 // This library is free software; you can redistribute it and/or modify it under
0008 // the terms of the GNU Lesser General Public License version 2.1 as published
0009 // by the Free Software Foundation, with special exception defined in the file
0010 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
0011 // distribution for complete text of the license and disclaimer of any warranty.
0012 //
0013 // Alternatively, this file may be used under the terms of Open CASCADE
0014 // commercial license or contractual agreement.
0015 
0016 #ifndef _IntTools_SurfaceRangeSample_HeaderFile
0017 #define _IntTools_SurfaceRangeSample_HeaderFile
0018 
0019 #include <Standard.hxx>
0020 #include <Standard_DefineAlloc.hxx>
0021 
0022 #include <IntTools_CurveRangeSample.hxx>
0023 #include <Standard_Integer.hxx>
0024 class IntTools_Range;
0025 
0026 
0027 //! class for range index management of surface
0028 class IntTools_SurfaceRangeSample 
0029 {
0030 public:
0031 
0032   DEFINE_STANDARD_ALLOC
0033 
0034   
0035   Standard_EXPORT IntTools_SurfaceRangeSample();
0036   
0037   Standard_EXPORT IntTools_SurfaceRangeSample(const Standard_Integer theIndexU, const Standard_Integer theDepthU, const Standard_Integer theIndexV, const Standard_Integer theDepthV);
0038   
0039   Standard_EXPORT IntTools_SurfaceRangeSample(const IntTools_CurveRangeSample& theRangeU, const IntTools_CurveRangeSample& theRangeV);
0040   
0041   Standard_EXPORT IntTools_SurfaceRangeSample(const IntTools_SurfaceRangeSample& Other);
0042   
0043   Standard_EXPORT IntTools_SurfaceRangeSample& Assign (const IntTools_SurfaceRangeSample& Other);
0044 IntTools_SurfaceRangeSample& operator = (const IntTools_SurfaceRangeSample& Other)
0045 {
0046   return Assign(Other);
0047 }
0048   
0049     void SetRanges (const IntTools_CurveRangeSample& theRangeU, const IntTools_CurveRangeSample& theRangeV);
0050   
0051     void GetRanges (IntTools_CurveRangeSample& theRangeU, IntTools_CurveRangeSample& theRangeV) const;
0052   
0053     void SetIndexes (const Standard_Integer theIndexU, const Standard_Integer theIndexV);
0054   
0055     void GetIndexes (Standard_Integer& theIndexU, Standard_Integer& theIndexV) const;
0056   
0057     void GetDepths (Standard_Integer& theDepthU, Standard_Integer& theDepthV) const;
0058   
0059     void SetSampleRangeU (const IntTools_CurveRangeSample& theRangeSampleU);
0060   
0061     const IntTools_CurveRangeSample& GetSampleRangeU() const;
0062   
0063     void SetSampleRangeV (const IntTools_CurveRangeSample& theRangeSampleV);
0064   
0065     const IntTools_CurveRangeSample& GetSampleRangeV() const;
0066   
0067     void SetIndexU (const Standard_Integer theIndexU);
0068   
0069     Standard_Integer GetIndexU() const;
0070   
0071     void SetIndexV (const Standard_Integer theIndexV);
0072   
0073     Standard_Integer GetIndexV() const;
0074   
0075     void SetDepthU (const Standard_Integer theDepthU);
0076   
0077     Standard_Integer GetDepthU() const;
0078   
0079     void SetDepthV (const Standard_Integer theDepthV);
0080   
0081     Standard_Integer GetDepthV() const;
0082   
0083   Standard_EXPORT IntTools_Range GetRangeU (const Standard_Real theFirstU, const Standard_Real theLastU, const Standard_Integer theNbSampleU) const;
0084   
0085   Standard_EXPORT IntTools_Range GetRangeV (const Standard_Real theFirstV, const Standard_Real theLastV, const Standard_Integer theNbSampleV) const;
0086   
0087     Standard_Boolean IsEqual (const IntTools_SurfaceRangeSample& Other) const;
0088   
0089     Standard_Integer GetRangeIndexUDeeper (const Standard_Integer theNbSampleU) const;
0090   
0091     Standard_Integer GetRangeIndexVDeeper (const Standard_Integer theNbSampleV) const;
0092 
0093     bool operator==(const IntTools_SurfaceRangeSample& theOther) const
0094     {
0095       return IsEqual(theOther);
0096     }
0097 
0098 
0099 
0100 protected:
0101 
0102 
0103 
0104 
0105 
0106 private:
0107 
0108 
0109 
0110   IntTools_CurveRangeSample myRangeU;
0111   IntTools_CurveRangeSample myRangeV;
0112 
0113 
0114 };
0115 
0116 
0117 #include <IntTools_SurfaceRangeSample.lxx>
0118 
0119 
0120 
0121 
0122 
0123 #endif // _IntTools_SurfaceRangeSample_HeaderFile