lmatrix3_ext_src.h 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. // Filename: lmatrix3_ext_src.h
  2. // Created by: rdb (12Sep13)
  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<LMatrix3::Row>
  16. // Description : This class defines the extension methods for
  17. // LMatrix3::Row, which are called instead of
  18. // any C++ methods with the same prototype.
  19. ////////////////////////////////////////////////////////////////////
  20. template<>
  21. class Extension<FLOATNAME(LMatrix3)::Row> : public ExtensionBase<FLOATNAME(LMatrix3)::Row> {
  22. public:
  23. INLINE_LINMATH void __setitem__(int i, FLOATTYPE v);
  24. };
  25. ////////////////////////////////////////////////////////////////////
  26. // Class : Extension<LMatrix3>
  27. // Description : This class defines the extension methods for
  28. // LMatrix3, which are called instead of
  29. // any C++ methods with the same prototype.
  30. ////////////////////////////////////////////////////////////////////
  31. template<>
  32. class Extension<FLOATNAME(LMatrix3)> : public ExtensionBase<FLOATNAME(LMatrix3)> {
  33. public:
  34. INLINE_LINMATH PyObject *__reduce__(PyObject *self) const;
  35. INLINE_LINMATH void python_repr(ostream &out, const string &class_name) const;
  36. };
  37. #include "lmatrix3_ext_src.I"