Hexworks / mixite

A GUI agnostic hexagonal grid library. Supports a multitude of grid layouts including hexagonal, triangular, rectangular and more.
Apache License 2.0
191 stars 31 forks source link

Added line drawing functionality to the library. #23

Closed pubudug closed 8 years ago

pubudug commented 8 years ago

First of all thanks for the library and the tutorials at http://www.redblobgames.com/, which inspired me to contribute :).

This PR contains the following Added line drawing functionality to the library. Added a unit test to test the functionality. Added functionality to the SWT example to show this feature.

Let me know if there is anything that needs to change in my commits.

adam-arold commented 8 years ago

Hi there!

Travis complained about the PR. I think there are some checkstyle violations:

[INFO] There are 10 errors reported by Checkstyle 6.11.2 with checkstyle.xml ruleset.
[ERROR] src/main/java/org/codetome/hexameter/core/api/HexagonalGridCalculator.java:[63] (javadoc) SummaryJavadoc: First sentence of Javadoc is incomplete (period is missing) or not present.
[ERROR] src/main/java/org/codetome/hexameter/core/internal/impl/HexagonalGridCalculatorImpl.java:[86,28] (naming) LocalVariableName: Local variable name 'h' must match pattern '^[a-z][a-z0-9][a-zA-Z0-9]*$'.
[ERROR] src/main/java/org/codetome/hexameter/core/internal/impl/HexagonalGridCalculatorImpl.java:[93,97] (naming) ParameterName: Parameter name 't' must match pattern '^[a-z][a-z0-9][a-zA-Z0-9]*$'.
[ERROR] src/main/java/org/codetome/hexameter/core/internal/impl/HexagonalGridCalculatorImpl.java:[99,63] (naming) ParameterName: Parameter name 't' must match pattern '^[a-z][a-z0-9][a-zA-Z0-9]*$'.
[ERROR] src/main/java/org/codetome/hexameter/core/internal/impl/HexagonalGridCalculatorImpl.java:[103,57] (naming) ParameterName: Parameter name 'x' must match pattern '^[a-z][a-z0-9][a-zA-Z0-9]*$'.
[ERROR] src/main/java/org/codetome/hexameter/core/internal/impl/HexagonalGridCalculatorImpl.java:[103,67] (naming) ParameterName: Parameter name 'y' must match pattern '^[a-z][a-z0-9][a-zA-Z0-9]*$'.
[ERROR] src/main/java/org/codetome/hexameter/core/internal/impl/HexagonalGridCalculatorImpl.java:[103,77] (naming) ParameterName: Parameter name 'z' must match pattern '^[a-z][a-z0-9][a-zA-Z0-9]*$'.
[ERROR] src/main/java/org/codetome/hexameter/core/internal/impl/HexagonalGridCalculatorImpl.java:[108,16] (naming) LocalVariableName: Local variable name 'x_diff' must match pattern '^[a-z][a-z0-9][a-zA-Z0-9]*$'.
[ERROR] src/main/java/org/codetome/hexameter/core/internal/impl/HexagonalGridCalculatorImpl.java:[109,16] (naming) LocalVariableName: Local variable name 'y_diff' must match pattern '^[a-z][a-z0-9][a-zA-Z0-9]*$'.
[ERROR] src/main/java/org/codetome/hexameter/core/internal/impl/HexagonalGridCalculatorImpl.java:[110,16] (naming) LocalVariableName: Local variable name 'z_diff' must match pattern '^[a-z][a-z0-9][a-zA-Z0-9]*$'.

Seems like it has problems with your variable naming convention and the javadoc. It should be trivial to fix. I'd suggest using maven to build the project: mvn clean install should do it from the root of the project.

Thank you for your contribution!

adam-arold commented 8 years ago

I've checked the code and it looks cool!

codecov-io commented 8 years ago

Current coverage is 90.55%

Merging #23 into master will increase coverage by 0.30%

@@             master        #23   diff @@
==========================================
  Files            19         19          
  Lines           359        381    +22   
  Methods           0          0          
  Messages          0          0          
  Branches         64         67     +3   
==========================================
+ Hits            324        345    +21   
  Misses           16         16          
- Partials         19         20     +1   

Powered by Codecov. Last updated by 06024e4...814b930

adam-arold commented 8 years ago

Please note that I did not write the tutorials at redblobgames! I simply used it to implement this library. :)

pubudug commented 8 years ago

Ah ok. I made the assumption because this library was linked from that page :).