1. 06 Apr, 2015 1 commit
  2. 31 Mar, 2015 2 commits
  3. 25 Mar, 2015 1 commit
  4. 24 Mar, 2015 1 commit
  5. 16 Mar, 2015 2 commits
  6. 03 Mar, 2015 1 commit
  7. 01 Mar, 2015 2 commits
  8. 16 Feb, 2015 2 commits
  9. 15 Feb, 2015 1 commit
    • David Gobbi's avatar
      Fix arg conversion of const ref arg via constructor. · a051d503
      David Gobbi authored
      There was a simple mistake in the code that builds the "ArgCheck"
      string that the wrappers use for argument type checking.  As a
      result, the "argument check" was not distinguishing between const
      reference args and non-const reference args.  A "const reference"
      arg type can satisfied via implicit conversion from another type,
      while a non-const reference arg cannot.  The new test specifically
      tests for this.
      Change-Id: I59725536496dd6d80b64ace09403161ccd89c9b4
  10. 12 Feb, 2015 2 commits
  11. 05 Feb, 2015 1 commit
  12. 14 Jan, 2015 1 commit
    • David Gobbi's avatar
      Make wrappers ignore scoped class definitions. · 248da996
      David Gobbi authored
      Whenever a scoped class was defined, e.g. "struct somescope::someclass"
      followed by the definition, the wrappers would add it to the current
      namespace as "somescope::someclass" instead of adding "someclass" to the
      "somescope" namespace.  As a partial fix, simply ignore such classes.
      Change-Id: Iacd18b9042e53f4d3ed341714e26d3cf1b7fab2f
  13. 13 Dec, 2014 2 commits
    • David Gobbi's avatar
      Revert "Remove some unecessary casts." · af541360
      David Gobbi authored
      VC++ thinks these casts are necessary, even though gcc and clang
      This reverts commit 8c45343b.
      Change-Id: I9c308561e3c0696c66e24e45fd6fa4384c70aa34
    • David Gobbi's avatar
      Remove some unecessary casts. · 8c45343b
      David Gobbi authored
      These casts were necessary for really old compilers that didn't
      keep track of which level of indirection the "constness" applied
      to.  For modern compilers, they should be unecessary.
      Change-Id: Ia23cebae43fd6f1705016a11f2df4801e9830d24
  14. 08 Dec, 2014 1 commit
  15. 07 Dec, 2014 2 commits
  16. 06 Dec, 2014 2 commits
    • David Gobbi's avatar
      Use a wider integer for the parser stack. · d1f7875c
      David Gobbi authored
      The MSVC10 64-bit build was complaining about type narrowing,
      because the union that the parser used as its value type had
      and "unsigned int" member that was narrower than the union.
      It seems best to use a 64-bit integer for 64-bit platforms.
      Change-Id: Idc198283f2d7865a33438bfc8ae0f9c6279ecbba
    • David Gobbi's avatar
      Fix compile warnings for vtkParse.tab.c. · a9314ac0
      David Gobbi authored
      Change-Id: Ie0970c607847cdde76eba2ca95eb8888632751d9
  17. 01 Dec, 2014 10 commits
    • David Gobbi's avatar
      Only wrap namespaces that have useful contents. · e13d9aea
      David Gobbi authored
      Namespaces are often used just for forward declarations of third
      party classes, e.g. boost or even std.  We don't want to wrap these,
      we only want to wrap namespaces that are part of our API.  For now,
      that means wrapping namespaces that define useful constants.
      Change-Id: Icdd111c2e8b3c9031cde1a5409a74f3d09767e69
    • David Gobbi's avatar
      Avoid creating duplicate wrapped namespaces. · 3e100545
      David Gobbi authored
      In C++, the contents of a single namespace can be defined in more
      than one header.  We must allow for this when wrapping namespaces
      in python, by checking if the namespace has already been created.
      Change-Id: Ib64d0fad648cf597c59f3a67edcb9a165594fbf6
    • David Gobbi's avatar
      Wrap constants more efficiently. · d5cb2382
      David Gobbi authored
      Sometimes header files contain a large number of constants, and
      the wrappers were generating a function call for each and every
      one in order to convert them into python values.  This new code
      stores the constants in static data structures when possible.
      Change-Id: Id59c8448be154647ff349b43d958871b0f18af69
    • David Gobbi's avatar
      Move VTK_BUILD_SHARED_LIBS check to generated code. · a5948d9f
      David Gobbi authored
      Any use of vtkConfigure.h from within the wrapper tool code can
      lead to incorrect configuration when cross compiling.  This change
      moves the VTK_BUILD_SHARED_LIBS check from the wrapper tool code
      into the generated code.
      Change-Id: Ie80075bf107aa7635767488ed9f87b0aa3590c72
    • David Gobbi's avatar
      Allow use of all enum types as method parameters. · 67a70a82
      David Gobbi authored
      Previously, enum types could only be used as method parameters if
      the enum type was defined in the same class as the method.  This change
      removes that restriction, by using the hierarchy files to figure out
      what enum types will be wrapped across the whole project.
      Change-Id: Ia44272a341312f984d05ed54ae3318c12a2fe404
    • David Gobbi's avatar
      Wrap namespaces in python. · b271e764
      David Gobbi authored
      For now, namespaces can only be used to define constants and enum types.
      Any functions or methods in the namespace will not be wrapped.
      Change-Id: If876e77f814630aa4cb0336579826fd9b58c66f2
    • David Gobbi's avatar
      Fix two previously undetected wrapper bugs. · 57b47954
      David Gobbi authored
      The vtkParseHierarchy class was not detecting enum types, and the
      vtkWrapPython_PythonicName code for converting mangled type names
      to pythonic names was not able to handle namespaces.
      Change-Id: If5c044eca741c12a387d150a764b65cf7085a4f9
    • David Gobbi's avatar
      Add an enum type to the python wrappers. · ba693ade
      David Gobbi authored
      Any enum types that are encountered will automatically be wrapped
      as integral types.  This is true for enum types defined in the global
      namespace, and enum types defined within a wrapped class.  Other
      namespaces are not yet supported, because the python wrappers do not
      yet wrap C++ namespaces.
      When a class method has an enum parameter, and if the enum is a member
      of the class, then that method will perform type checking on the enum.
      Class methods that require enums that are not members of the class will
      not be wrapped (in future versions of the wrappers, they might).
      Change-Id: If38391de8a1a66eb255ddf83a72916af6d81dc78
    • David Gobbi's avatar
      Wrap enum constant members for non-vtkObject types. · f642f513
      David Gobbi authored
      Change-Id: Id9b7b1659b07103ebb8dd80df02cccd56e5ab6a0
    • David Gobbi's avatar
      Refactor vtkWrapPython into smaller source files. · a73ab651
      David Gobbi authored
      Because several thousands lines of code is too much for one file.
      Change-Id: Ib3af0f2153fddc3f593fd90913bb3408944062f6
  18. 26 Nov, 2014 4 commits
  19. 21 Nov, 2014 2 commits