0029915: Porting to VC 2017 : Regressions in Modeling Algorithms on VC 2017
[occt.git] / src / StepDimTol / StepDimTol_GeometricToleranceTarget.cxx
CommitLineData
28a73c1f 1// Created on: 2015-07-20
2// Created by: Irina KRYLOVA
3// Copyright (c) 2015 OPEN CASCADE SAS
4//
5// This file is part of Open CASCADE Technology software library.
6//
7// This library is free software; you can redistribute it and/or modify it under
8// the terms of the GNU Lesser General Public License version 2.1 as published
9// by the Free Software Foundation, with special exception defined in the file
10// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
11// distribution for complete text of the license and disclaimer of any warranty.
12//
13// Alternatively, this file may be used under the terms of Open CASCADE
14// commercial license or contractual agreement.
15
16#include <StepDimTol_GeometricToleranceTarget.hxx>
17#include <Interface_Macros.hxx>
18#include <StepShape_DimensionalLocation.hxx>
19#include <StepShape_DimensionalSize.hxx>
20#include <StepRepr_ProductDefinitionShape.hxx>
21#include <StepRepr_ShapeAspect.hxx>
22
23//=======================================================================
24//function : StepDimTol_GeometricToleranceTarget
25//purpose :
26//=======================================================================
27
28StepDimTol_GeometricToleranceTarget::StepDimTol_GeometricToleranceTarget () { }
29
30//=======================================================================
31//function : CaseNum
32//purpose :
33//=======================================================================
34
35Standard_Integer StepDimTol_GeometricToleranceTarget::CaseNum(const Handle(Standard_Transient)& ent) const
36{
37 if (ent.IsNull()) return 0;
38 if (ent->IsKind(STANDARD_TYPE(StepShape_DimensionalLocation))) return 1;
39 if (ent->IsKind(STANDARD_TYPE(StepShape_DimensionalSize))) return 2;
40 if (ent->IsKind(STANDARD_TYPE(StepRepr_ProductDefinitionShape))) return 3;
41 if (ent->IsKind(STANDARD_TYPE(StepRepr_ShapeAspect))) return 4;
42 return 0;
43}
44
45Handle(StepShape_DimensionalLocation) StepDimTol_GeometricToleranceTarget::DimensionalLocation() const
46{ return GetCasted(StepShape_DimensionalLocation,Value()); }
47
48Handle(StepShape_DimensionalSize) StepDimTol_GeometricToleranceTarget::DimensionalSize() const
49{ return GetCasted(StepShape_DimensionalSize,Value()); }
50
51Handle(StepRepr_ProductDefinitionShape) StepDimTol_GeometricToleranceTarget::ProductDefinitionShape() const
52{ return GetCasted(StepRepr_ProductDefinitionShape,Value()); }
53
54Handle(StepRepr_ShapeAspect) StepDimTol_GeometricToleranceTarget::ShapeAspect() const
55{ return GetCasted(StepRepr_ShapeAspect,Value()); }