lvecBase2_ext_src.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334
  1. // Filename: lvecBase2_ext_src.h
  2. // Created by: rdb (13Sep13)
  3. //
  4. ////////////////////////////////////////////////////////////////////
  5. //
  6. // PANDA 3D SOFTWARE
  7. // Copyright (c) Carnegie Mellon University. All rights reserved.
  8. //
  9. // All use of this software is subject to the terms of the revised BSD
  10. // license. You should have received a copy of this license along
  11. // with this source code in a file named "LICENSE."
  12. //
  13. ////////////////////////////////////////////////////////////////////
  14. ////////////////////////////////////////////////////////////////////
  15. // Class : Extension<LVecBase2>
  16. // Description : This class defines the extension methods for
  17. // LVecBase2, which are called instead of
  18. // any C++ methods with the same prototype.
  19. ////////////////////////////////////////////////////////////////////
  20. template<>
  21. class Extension<FLOATNAME(LVecBase2)> : public ExtensionBase<FLOATNAME(LVecBase2)> {
  22. public:
  23. INLINE_LINMATH PyObject *__reduce__(PyObject *self) const;
  24. INLINE_LINMATH PyObject *__getattr__(const string &attr_name) const;
  25. INLINE_LINMATH int __setattr__(PyObject *self, const string &attr_name, PyObject *assign);
  26. INLINE_LINMATH void python_repr(ostream &out, const string &class_name) const;
  27. INLINE_LINMATH FLOATNAME(LVecBase2) __pow__(FLOATTYPE exponent) const;
  28. INLINE_LINMATH PyObject *__ipow__(PyObject *self, FLOATTYPE exponent);
  29. };
  30. #include "lvecBase2_ext_src.I"