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
      a051d503
  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
      248da996
  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
      disagree.
      
      This reverts commit 8c45343b.
      
      Change-Id: I9c308561e3c0696c66e24e45fd6fa4384c70aa34
      af541360
    • 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
      8c45343b
  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
      d1f7875c
    • David Gobbi's avatar
      Fix compile warnings for vtkParse.tab.c. · a9314ac0
      David Gobbi authored
      Change-Id: Ie0970c607847cdde76eba2ca95eb8888632751d9
      a9314ac0
  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
      e13d9aea
    • 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
      3e100545
    • 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
      d5cb2382
    • 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
      a5948d9f
    • 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
      67a70a82
    • 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
      b271e764
    • 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
      57b47954
    • 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
      ba693ade
    • David Gobbi's avatar
      Wrap enum constant members for non-vtkObject types. · f642f513
      David Gobbi authored
      Change-Id: Id9b7b1659b07103ebb8dd80df02cccd56e5ab6a0
      f642f513
    • 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
      a73ab651
  18. 26 Nov, 2014 4 commits
  19. 21 Nov, 2014 2 commits