/src/contrib/geom-5.1.2.7/inc_pythonocc/GEOMImpl_ICircle.hxx

http://pythonocc.googlecode.com/ · C++ Header · 61 lines · 27 code · 14 blank · 20 comment · 0 complexity · d341790eb649197755a1683664c1e18b MD5 · raw file

  1. // Copyright (C) 2005 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
  2. // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
  3. //
  4. // This library is free software; you can redistribute it and/or
  5. // modify it under the terms of the GNU Lesser General Public
  6. // License as published by the Free Software Foundation; either
  7. // version 2.1 of the License.
  8. //
  9. // This library is distributed in the hope that it will be useful
  10. // but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  12. // Lesser General Public License for more details.
  13. //
  14. // You should have received a copy of the GNU Lesser General Public
  15. // License along with this library; if not, write to the Free Software
  16. // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  17. //
  18. // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
  19. //
  20. //NOTE: This is an intreface to a function for the Circle creation.
  21. #include "SGEOM_Function.hxx"
  22. #define CIRC_ARG_P1 1
  23. #define CIRC_ARG_P2 2
  24. #define CIRC_ARG_P3 3
  25. #define CIRC_ARG_CC 4
  26. #define CIRC_ARG_VV 5
  27. #define CIRC_ARG_RR 6
  28. class GEOMImpl_ICircle
  29. {
  30. public:
  31. GEOMImpl_ICircle(Handle(GEOM_Function) theFunction): _func(theFunction) {}
  32. void SetPoint1(Handle(GEOM_Function) theP) { _func->SetReference(CIRC_ARG_P1, theP); }
  33. void SetPoint2(Handle(GEOM_Function) theP) { _func->SetReference(CIRC_ARG_P2, theP); }
  34. void SetPoint3(Handle(GEOM_Function) theP) { _func->SetReference(CIRC_ARG_P3, theP); }
  35. void SetCenter(Handle(GEOM_Function) theP) { _func->SetReference(CIRC_ARG_CC, theP); }
  36. void SetVector(Handle(GEOM_Function) theV) { _func->SetReference(CIRC_ARG_VV, theV); }
  37. void SetRadius(double theR) { _func->SetReal(CIRC_ARG_RR, theR); }
  38. void SetRadius(const TCollection_AsciiString& theR) { _func->SetReal(CIRC_ARG_RR, theR); }
  39. Handle(GEOM_Function) GetPoint1() { return _func->GetReference(CIRC_ARG_P1); }
  40. Handle(GEOM_Function) GetPoint2() { return _func->GetReference(CIRC_ARG_P2); }
  41. Handle(GEOM_Function) GetPoint3() { return _func->GetReference(CIRC_ARG_P3); }
  42. Handle(GEOM_Function) GetCenter() { return _func->GetReference(CIRC_ARG_CC); }
  43. Handle(GEOM_Function) GetVector() { return _func->GetReference(CIRC_ARG_VV); }
  44. double GetRadius() { return _func->GetReal(CIRC_ARG_RR); }
  45. private:
  46. Handle(GEOM_Function) _func;
  47. };