|
||||
File indexing completed on 2025-01-18 10:04:01
0001 // Created on: 1993-01-09 0002 // Created by: CKY / Contract Toubro-Larsen ( TCD ) 0003 // Copyright (c) 1993-1999 Matra Datavision 0004 // Copyright (c) 1999-2014 OPEN CASCADE SAS 0005 // 0006 // This file is part of Open CASCADE Technology software library. 0007 // 0008 // This library is free software; you can redistribute it and/or modify it under 0009 // the terms of the GNU Lesser General Public License version 2.1 as published 0010 // by the Free Software Foundation, with special exception defined in the file 0011 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT 0012 // distribution for complete text of the license and disclaimer of any warranty. 0013 // 0014 // Alternatively, this file may be used under the terms of Open CASCADE 0015 // commercial license or contractual agreement. 0016 0017 #ifndef _IGESGeom_OffsetCurve_HeaderFile 0018 #define _IGESGeom_OffsetCurve_HeaderFile 0019 0020 #include <Standard.hxx> 0021 #include <Standard_Type.hxx> 0022 0023 #include <Standard_Integer.hxx> 0024 #include <gp_XYZ.hxx> 0025 #include <IGESData_IGESEntity.hxx> 0026 class gp_Vec; 0027 0028 0029 class IGESGeom_OffsetCurve; 0030 DEFINE_STANDARD_HANDLE(IGESGeom_OffsetCurve, IGESData_IGESEntity) 0031 0032 //! defines IGESOffsetCurve, Type <130> Form <0> 0033 //! in package IGESGeom 0034 //! An OffsetCurve entity contains the data necessary to 0035 //! determine the offset of a given curve C. This entity 0036 //! points to the base curve to be offset and contains 0037 //! offset distance and other pertinent information. 0038 class IGESGeom_OffsetCurve : public IGESData_IGESEntity 0039 { 0040 0041 public: 0042 0043 0044 Standard_EXPORT IGESGeom_OffsetCurve(); 0045 0046 //! This method is used to set the fields of the class 0047 //! OffsetCurve 0048 //! - aBaseCurve : The curve entity to be offset 0049 //! - anOffsetType : Offset distance flag 0050 //! 1 = Single value, uniform distance 0051 //! 2 = Varying linearly 0052 //! 3 = As a specified function 0053 //! - aFunction : Curve entity, one coordinate of which 0054 //! describes offset as a function of its 0055 //! parameter (0 unless OffsetType = 3) 0056 //! - aFunctionCoord : Particular coordinate of curve 0057 //! describing offset as function of its 0058 //! parameters. (used if OffsetType = 3) 0059 //! - aTaperedOffsetType : Tapered offset type flag 0060 //! 1 = Function of arc length 0061 //! 2 = Function of parameter 0062 //! (Only used if OffsetType = 2 or 3) 0063 //! - offDistance1 : First offset distance 0064 //! (Only used if OffsetType = 1 or 2) 0065 //! - arcLength1 : Arc length or parameter value of 0066 //! first offset distance 0067 //! (Only used if OffsetType = 2) 0068 //! - offDistance2 : Second offset distance 0069 //! - arcLength2 : Arc length or parameter value of 0070 //! second offset distance 0071 //! (Only used if OffsetType = 2) 0072 //! - aNormalVec : Unit vector normal to plane containing 0073 //! curve to be offset 0074 //! - anOffsetParam : Start parameter value of offset curve 0075 //! - anotherOffsetParam : End parameter value of offset curve 0076 Standard_EXPORT void Init (const Handle(IGESData_IGESEntity)& aBaseCurve, const Standard_Integer anOffsetType, const Handle(IGESData_IGESEntity)& aFunction, const Standard_Integer aFunctionCoord, const Standard_Integer aTaperedOffsetType, const Standard_Real offDistance1, const Standard_Real arcLength1, const Standard_Real offDistance2, const Standard_Real arcLength2, const gp_XYZ& aNormalVec, const Standard_Real anOffsetParam, const Standard_Real anotherOffsetParam); 0077 0078 //! returns the curve to be offset 0079 Standard_EXPORT Handle(IGESData_IGESEntity) BaseCurve() const; 0080 0081 //! returns the offset distance flag 0082 //! 1 = Single value offset (uniform distance) 0083 //! 2 = Offset distance varying linearly 0084 //! 3 = Offset distance specified as a function 0085 Standard_EXPORT Standard_Integer OffsetType() const; 0086 0087 //! returns the function defining the offset if at all the offset 0088 //! is described as a function or Null Handle. 0089 Standard_EXPORT Handle(IGESData_IGESEntity) Function() const; 0090 0091 //! returns True if function defining the offset is present. 0092 Standard_EXPORT Standard_Boolean HasFunction() const; 0093 0094 //! returns particular coordinate of the curve which describes offset 0095 //! as a function of its parameters. (only used if OffsetType() = 3) 0096 Standard_EXPORT Standard_Integer FunctionParameter() const; 0097 0098 //! returns tapered offset type flag (only used if OffsetType() = 2 or 3) 0099 //! 1 = Function of arc length 0100 //! 2 = Function of parameter 0101 Standard_EXPORT Standard_Integer TaperedOffsetType() const; 0102 0103 //! returns first offset distance (only used if OffsetType() = 1 or 2) 0104 Standard_EXPORT Standard_Real FirstOffsetDistance() const; 0105 0106 //! returns arc length or parameter value (depending on value of 0107 //! offset distance flag) of first offset distance 0108 //! (only used if OffsetType() = 2) 0109 Standard_EXPORT Standard_Real ArcLength1() const; 0110 0111 //! returns the second offset distance 0112 Standard_EXPORT Standard_Real SecondOffsetDistance() const; 0113 0114 //! returns arc length or parameter value (depending on value of 0115 //! offset distance flag) of second offset distance 0116 //! (only used if OffsetType() = 2) 0117 Standard_EXPORT Standard_Real ArcLength2() const; 0118 0119 //! returns unit vector normal to plane containing curve to be offset 0120 Standard_EXPORT gp_Vec NormalVector() const; 0121 0122 //! returns unit vector normal to plane containing curve to be offset 0123 //! after applying Transf. Matrix 0124 Standard_EXPORT gp_Vec TransformedNormalVector() const; 0125 0126 Standard_EXPORT void Parameters (Standard_Real& StartParam, Standard_Real& EndParam) const; 0127 0128 //! returns Start Parameter value of the offset curve 0129 Standard_EXPORT Standard_Real StartParameter() const; 0130 0131 //! returns End Parameter value of the offset curve 0132 Standard_EXPORT Standard_Real EndParameter() const; 0133 0134 0135 0136 0137 DEFINE_STANDARD_RTTIEXT(IGESGeom_OffsetCurve,IGESData_IGESEntity) 0138 0139 protected: 0140 0141 0142 0143 0144 private: 0145 0146 0147 Handle(IGESData_IGESEntity) theBaseCurve; 0148 Standard_Integer theOffsetType; 0149 Handle(IGESData_IGESEntity) theFunction; 0150 Standard_Integer theFunctionCoord; 0151 Standard_Integer theTaperedOffsetType; 0152 Standard_Real theOffsetDistance1; 0153 Standard_Real theArcLength1; 0154 Standard_Real theOffsetDistance2; 0155 Standard_Real theArcLength2; 0156 gp_XYZ theNormalVector; 0157 Standard_Real theOffsetParam1; 0158 Standard_Real theOffsetParam2; 0159 0160 0161 }; 0162 0163 0164 0165 0166 0167 0168 0169 #endif // _IGESGeom_OffsetCurve_HeaderFile
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |