| Chunk |
|---|
| Conflicting content |
|---|
tempVecAC, tempVecAB, tempVecAP) ) {
return current;
}
<<<<<<< HEAD
if(VectorUtil.testTri2SegIntersection(a, b, c, prevV, current) ||
VectorUtil.testTri2SegIntersection(a, b, c, current, nextV) ||
VectorUtil.testTri2SegIntersection(a, b, c, prevV, nextV)) {
=======
if(VectorUtil.tri2SegIntersection(a, b, c, prevV, current)
|| VectorUtil.tri2SegIntersection(a, b, c, current, nextV)
|| VectorUtil.tri2SegIntersection(a, b, c, prevV, nextV)) {
>>>>>>> c67de337a8aaf52e36104c3f13e273aa19d21f1f
return current;
}
} |
| Solution content |
|---|
tempVecAC, tempVecAB, tempVecAP) ) {
return current;
}
if(VectorUtil.testTri2SegIntersection(a, b, c, prevV, current) ||
VectorUtil.testTri2SegIntersection(a, b, c, current, nextV) ||
VectorUtil.testTri2SegIntersection(a, b, c, prevV, nextV)) {
return current;
}
} |
| File |
|---|
| OutlineShape.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| If statement |
| Chunk |
|---|
| Conflicting content |
|---|
import jogamp.graph.curve.opengl.RegionFactory; import jogamp.opengl.Debug; <<<<<<< HEAD import com.jogamp.graph.curve.opengl.GLRegion; import com.jogamp.graph.geom.AABBox; ======= >>>>>>> c67de337a8aaf52e36104c3f13e273aa19d21f1f import com.jogamp.graph.geom.Triangle; import com.jogamp.graph.geom.Vertex; import com.jogamp.opengl.math.geom.AABBox; |
| Solution content |
|---|
import jogamp.graph.curve.opengl.RegionFactory; import jogamp.opengl.Debug; import com.jogamp.graph.curve.opengl.GLRegion; import com.jogamp.graph.geom.Triangle; import com.jogamp.graph.geom.Vertex; import com.jogamp.opengl.math.geom.AABBox; |
| File |
|---|
| Region.java |
| Developer's decision |
|---|
| Combination |
| Kind of conflict |
|---|
| Import |
| Chunk |
|---|
| Conflicting content |
|---|
import com.jogamp.graph.geom.Vertex;
import com.jogamp.opengl.math.geom.AABBox;
<<<<<<< HEAD
/** Abstract Outline shape GL representation define the method an OutlineShape(s)
* is bound and rendered.
*
* @see GLRegion */
public abstract class Region {
/** Debug flag for region impl (graph.curve) */
=======
/** Abstract Outline shape GL representation
* define the method an OutlineShape(s) is
* binded rendered.
*
* @see GLRegion
*/
public abstract class Region {
/** Debug flag for region impl (graph.curve)
*/
>>>>>>> c67de337a8aaf52e36104c3f13e273aa19d21f1f
public static final boolean DEBUG = Debug.debug("graph.curve");
public static final boolean DEBUG_INSTANCE = false; |
| Solution content |
|---|
import com.jogamp.graph.geom.Vertex;
import com.jogamp.opengl.math.geom.AABBox;
* @see GLRegion */
/** Abstract Outline shape GL representation define the method an OutlineShape(s)
* is bound and rendered.
*
public abstract class Region {
/** Debug flag for region impl (graph.curve) */
public static final boolean DEBUG = Debug.debug("graph.curve");
public static final boolean DEBUG_INSTANCE = false; |
| File |
|---|
| Region.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| Comment |
| Chunk |
|---|
| Conflicting content |
|---|
public static final boolean DEBUG_INSTANCE = false;
<<<<<<< HEAD
/** View based Anti-Aliasing, A Two pass region rendering, slower and more
* resource hungry (FBO), but AA is perfect. Otherwise the default fast one
* pass MSAA region rendering is being used. */
public static final int VBAA_RENDERING_BIT = 1 << 0;
/** Use non uniform weights [0.0 .. 1.9] for curve region rendering.
* Otherwise the default weight 1.0 for uniform curve region rendering is
* being applied. */
=======
/** View based Anti-Aliasing, A Two pass region rendering, slower
* and more resource hungry (FBO), but AA is perfect.
* Otherwise the default fast one pass MSAA region rendering is being used.
*/
public static final int VBAA_RENDERING_BIT = 1 << 0;
/** Use non uniform weights [0.0 .. 1.9] for curve region rendering.
* Otherwise the default weight 1.0 for uniform curve region rendering is being applied.
*/
>>>>>>> c67de337a8aaf52e36104c3f13e273aa19d21f1f
public static final int VARIABLE_CURVE_WEIGHT_BIT = 1 << 1;
public static final int TWO_PASS_DEFAULT_TEXTURE_UNIT = 0; |
| Solution content |
|---|
public static final boolean DEBUG_INSTANCE = false;
/** View based Anti-Aliasing, A Two pass region rendering, slower and more
* resource hungry (FBO), but AA is perfect. Otherwise the default fast one
* pass MSAA region rendering is being used. */
public static final int VBAA_RENDERING_BIT = 1 << 0;
/** Use non uniform weights [0.0 .. 1.9] for curve region rendering.
* Otherwise the default weight 1.0 for uniform curve region rendering is
* being applied. */
public static final int VARIABLE_CURVE_WEIGHT_BIT = 1 << 1;
public static final int TWO_PASS_DEFAULT_TEXTURE_UNIT = 0; |
| File |
|---|
| Region.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| Attribute |
| Comment |
| Chunk |
|---|
| Conflicting content |
|---|
protected ArrayList |
| Solution content |
|---|
protected ArrayList |
| File |
|---|
| Region.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| Attribute |
| Comment |
| Method declaration |
| Method invocation |
| Method signature |
| Return statement |
| Variable |
| Chunk |
|---|
| Conflicting content |
|---|
}
/** Get current Models
<<<<<<< HEAD
*
* @return bit-field of render modes */
=======
* @return bit-field of render modes
*/
>>>>>>> c67de337a8aaf52e36104c3f13e273aa19d21f1f
public final int getRenderModes() {
return renderModes;
} |
| Solution content |
|---|
}
/** Get current Models
*
* @return bit-field of render modes */
public final int getRenderModes() {
return renderModes;
} |
| File |
|---|
| Region.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| Comment |
| Chunk |
|---|
| Conflicting content |
|---|
}
/** Check if current Region is using VBAA
<<<<<<< HEAD
*
* @return true if capable of two pass rendering - VBAA */
=======
* @return true if capable of two pass rendering - VBAA
*/
>>>>>>> c67de337a8aaf52e36104c3f13e273aa19d21f1f
public boolean isVBAA() {
return Region.isVBAA(renderModes);
} |
| Solution content |
|---|
}
/** Check if current Region is using VBAA
*
* @return true if capable of two pass rendering - VBAA */
public boolean isVBAA() {
return Region.isVBAA(renderModes);
} |
| File |
|---|
| Region.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| Comment |
| Chunk |
|---|
| Conflicting content |
|---|
}
/** Check if current instance uses non uniform weights
<<<<<<< HEAD
*
* @return true if capable of nonuniform weights */
=======
* @return true if capable of nonuniform weights
*/
>>>>>>> c67de337a8aaf52e36104c3f13e273aa19d21f1f
public boolean isNonUniformWeight() {
return Region.isNonUniformWeight(renderModes);
} |
| Solution content |
|---|
}
/** Check if current instance uses non uniform weights
*
* @return true if capable of nonuniform weights */
public boolean isNonUniformWeight() {
return Region.isNonUniformWeight(renderModes);
} |
| File |
|---|
| Region.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| Comment |
| Chunk |
|---|
| Conflicting content |
|---|
return Region.isNonUniformWeight(renderModes);
}
<<<<<<< HEAD
/** Get the current number of vertices associated with this region. This
* number is not necessary equal to the OGL bound number of vertices.
*
* @return vertices count */
public final int getNumVertices() {
return numVertices;
}
/** Adds a {@link Triangle} object to the Region This triangle will be bound
* to OGL objects on the next call to {@code update}
*
* @param tri
* a triangle object
*
* @see update(GL2ES2) */
=======
/** Get the current number of vertices associated
* with this region. This number is not necessary equal to
* the OGL bound number of vertices.
* @return vertices count
*/
public final int getNumVertices(){
return numVertices;
}
/** Adds a {@link Triangle} object to the Region
* This triangle will be bound to OGL objects
* on the next call to {@code update}
* @param tri a triangle object
*
* @see update(GL2ES2)
*/
>>>>>>> c67de337a8aaf52e36104c3f13e273aa19d21f1f
public void addTriangle(Triangle tri) {
triangles.add(tri);
setDirty(true); |
| Solution content |
|---|
return Region.isNonUniformWeight(renderModes);
}
/** Get the current number of vertices associated with this region. This
* number is not necessary equal to the OGL bound number of vertices.
*
* @return vertices count */
public final int getNumVertices() {
return numVertices;
}
/** Adds a {@link Triangle} object to the Region This triangle will be bound
* to OGL objects on the next call to {@code update}
*
* @param tri
* a triangle object
*
* @see update(GL2ES2) */
public void addTriangle(Triangle tri) {
triangles.add(tri);
setDirty(true); |
| File |
|---|
| Region.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| Comment |
| Method declaration |
| Chunk |
|---|
| Conflicting content |
|---|
setDirty(true);
}
<<<<<<< HEAD
/** Adds a list of {@link Triangle} objects to the Region These triangles are
* to be binded to OGL objects on the next call to {@code update}
*
* @param tris
* a list of triangle objects
*
* @see update(GL2ES2) */
public void addTriangles(List |
| Solution content |
|---|
setDirty(true);
}
/** Adds a list of {@link Triangle} objects to the Region These triangles are
* to be binded to OGL objects on the next call to {@code update}
*
* @param tris
* a list of triangle objects
*
* @see update(GL2ES2) */
public void addTriangles(List |
| File |
|---|
| Region.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| Comment |
| Method signature |
| Chunk |
|---|
| Conflicting content |
|---|
setDirty(true);
}
<<<<<<< HEAD
/** Adds a {@link Vertex} object to the Region This vertex will be bound to
* OGL objects on the next call to {@code update}
*
* @param vert
* a vertex objects
*
* @see update(GL2ES2) */
=======
/** Adds a {@link Vertex} object to the Region
* This vertex will be bound to OGL objects
* on the next call to {@code update}
* @param vert a vertex objects
*
* @see update(GL2ES2)
*/
>>>>>>> c67de337a8aaf52e36104c3f13e273aa19d21f1f
public void addVertex(Vertex vert) {
vertices.add(vert);
numVertices++; |
| Solution content |
|---|
setDirty(true);
}
/** Adds a {@link Vertex} object to the Region This vertex will be bound to
* OGL objects on the next call to {@code update}
*
* @param vert
* a vertex objects
*
* @see update(GL2ES2) */
public void addVertex(Vertex vert) {
vertices.add(vert);
numVertices++; |
| File |
|---|
| Region.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| Comment |
| Chunk |
|---|
| Conflicting content |
|---|
setDirty(true);
}
<<<<<<< HEAD
/** Adds a list of {@link Vertex} objects to the Region These vertices are to
* be binded to OGL objects on the next call to {@code update}
*
* @param verts
* a list of vertex objects
*
* @see update(GL2ES2) */
public void addVertices(List |
| Solution content |
|---|
setDirty(true);
}
/** Adds a list of {@link Vertex} objects to the Region These vertices are to
* be binded to OGL objects on the next call to {@code update}
*
* @param verts
* a list of vertex objects
*
* @see update(GL2ES2) */
public void addVertices(List |
| File |
|---|
| Region.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| Comment |
| Method signature |
| Chunk |
|---|
| Conflicting content |
|---|
return box;
}
<<<<<<< HEAD
/** Check if this region is dirty. A region is marked dirty when new
* Vertices, Triangles, and or Lines are added after a call to update()
*
* @return true if region is Dirty, false otherwise
*
* @see update(GL2ES2) */
=======
/** Check if this region is dirty. A region is marked dirty
* when new Vertices, Triangles, and or Lines are added after a
* call to update()
* @return true if region is Dirty, false otherwise
*
* @see update(GL2ES2)
*/
>>>>>>> c67de337a8aaf52e36104c3f13e273aa19d21f1f
public final boolean isDirty() {
return dirty;
} |
| Solution content |
|---|
return box;
}
/** Check if this region is dirty. A region is marked dirty when new
* Vertices, Triangles, and or Lines are added after a call to update()
*
* @return true if region is Dirty, false otherwise
*
* @see update(GL2ES2) */
public final boolean isDirty() {
return dirty;
} |
| File |
|---|
| Region.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| Comment |
| Chunk |
|---|
| Conflicting content |
|---|
* Combining the Shapes into single buffers.
* @return the resulting Region inclusive the generated region
*/
<<<<<<< HEAD
public static GLRegion create(List |
| Solution content |
|---|
* Combining the Shapes into single buffers.
* @return the resulting Region inclusive the generated region
*/
public static GLRegion create(List |
| File |
|---|
| GLRegion.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| Comment |
| Method declaration |
| Chunk |
|---|
| Conflicting content |
|---|
/** Render an {@link OutlineShape} in 3D space at the position provided
* the triangles of the shapes will be generated, if not yet generated
* @param region the OutlineShape to Render.
<<<<<<< HEAD
* @param texWidth desired texture width for multipass-rendering.
=======
* @param position the initial translation of the outlineShape.
* @param texWidth desired texture width for multipass-rendering.
>>>>>>> c67de337a8aaf52e36104c3f13e273aa19d21f1f
* The actual used texture-width is written back when mp rendering is enabled, otherwise the store is untouched.
* @throws Exception if HwRegionRenderer not initialized
*/ |
| Solution content |
|---|
/** Render an {@link OutlineShape} in 3D space at the position provided
* the triangles of the shapes will be generated, if not yet generated
* @param region the OutlineShape to Render.
* @param texWidth desired texture width for multipass-rendering.
* The actual used texture-width is written back when mp rendering is enabled, otherwise the store is untouched.
* @throws Exception if HwRegionRenderer not initialized
*/ |
| File |
|---|
| RegionRenderer.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| Comment |
| Chunk |
|---|
| Conflicting content |
|---|
if( !areRenderModesCompatible(region) ) {
throw new GLException("Incompatible render modes, : region modes "+region.getRenderModes()+
" doesn't contain renderer modes "+this.getRenderModes());
<<<<<<< HEAD
}
drawImpl(gl, region, texWidth);
=======
}
drawImpl(gl, region, position, texWidth);
>>>>>>> c67de337a8aaf52e36104c3f13e273aa19d21f1f
}
/** |
| Solution content |
|---|
if( !areRenderModesCompatible(region) ) {
throw new GLException("Incompatible render modes, : region modes "+region.getRenderModes()+
" doesn't contain renderer modes "+this.getRenderModes());
}
drawImpl(gl, region, texWidth);
}
/** |
| File |
|---|
| RegionRenderer.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| Method invocation |
| Chunk |
|---|
| Conflicting content |
|---|
* Initialize shader and bindings for GPU based rendering bound to the given GL object's GLContext
* if not initialized yet.
* |
| Solution content |
|---|
* Initialize shader and bindings for GPU based rendering bound to the given GL object's GLContext
* if not initialized yet.
* |
| File |
|---|
| Renderer.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| Comment |
| Chunk |
|---|
| Conflicting content |
|---|
* @param gl the current GL state
* @param font {@link Font} to be used
* @param str text to be rendered
<<<<<<< HEAD
=======
* @param position the lower left corner of the string
>>>>>>> c67de337a8aaf52e36104c3f13e273aa19d21f1f
* @param fontSize font size
* @param texWidth desired texture width for multipass-rendering.
* The actual used texture-width is written back when mp rendering is enabled, otherwise the store is untouched. |
| Solution content |
|---|
* @param gl the current GL state
* @param font {@link Font} to be used
* @param str text to be rendered
* @param fontSize font size
* @param texWidth desired texture width for multipass-rendering.
* The actual used texture-width is written back when mp rendering is enabled, otherwise the store is untouched. |
| File |
|---|
| TextRenderer.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| Comment |
| Chunk |
|---|
| Conflicting content |
|---|
=======
/** Default cache limit, see {@link #setCacheLimit(int)} */
public static final int DEFAULT_CACHE_LIMIT = 256;
<<<<<<< HEAD
private final HashMap |
| Solution content |
|---|
/** Default cache limit, see {@link #setCacheLimit(int)} */
public static final int DEFAULT_CACHE_LIMIT = 256;
private final HashMap |
| File |
|---|
| TextRenderer.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| Attribute |
| Method invocation |
| Chunk |
|---|
| Conflicting content |
|---|
*/ package com.jogamp.graph.font; <<<<<<< HEAD import java.util.List; import com.jogamp.graph.curve.OutlineShape; import com.jogamp.graph.geom.AABBox; import com.jogamp.graph.geom.Vertex; import com.jogamp.graph.geom.Vertex.Factory; ======= import com.jogamp.opengl.math.geom.AABBox; >>>>>>> c67de337a8aaf52e36104c3f13e273aa19d21f1f /** * Interface wrapper for font implementation. |
| Solution content |
|---|
*/ package com.jogamp.graph.font; import java.util.List; import com.jogamp.graph.curve.OutlineShape; import com.jogamp.graph.geom.Vertex; import com.jogamp.graph.geom.Vertex.Factory; import com.jogamp.opengl.math.geom.AABBox; /** * Interface wrapper for font implementation. |
| File |
|---|
| Font.java |
| Developer's decision |
|---|
| Combination |
| Kind of conflict |
|---|
| Import |
| Chunk |
|---|
| Conflicting content |
|---|
public float getStringWidth(CharSequence string, float pixelSize);
public float getStringHeight(CharSequence string, float pixelSize);
public AABBox getStringBounds(CharSequence string, float pixelSize);
<<<<<<< HEAD
public boolean isPrintableChar( char c );
/**
* @param glyph source of the created OutlineShape
* @param vertexFactory factory for vertices
* @return OutlineShape of the glyph
*/
public OutlineShape getOutlineShape(Glyph glyph, Factory extends Vertex> vertexFactory);
/**
* @param shapes optional storage of OutlineShapes passed by user, new shapes are appended
* @param string source of the created OutlineShapes
* @param pixelSize
* @param vertexFactory factory for vertices
* @return List of OutlineShapes, one OutlineShape per character
*/
public List |
| Solution content |
|---|
public float getStringWidth(CharSequence string, float pixelSize);
public float getStringHeight(CharSequence string, float pixelSize);
public AABBox getStringBounds(CharSequence string, float pixelSize);
public boolean isPrintableChar( char c );
/**
* @param glyph source of the created OutlineShape
* @param vertexFactory factory for vertices
* @return OutlineShape of the glyph
*/
public OutlineShape getOutlineShape(Glyph glyph, Factory extends Vertex> vertexFactory);
/**
* @param shapes optional storage of OutlineShapes passed by user, new shapes are appended
* @param string source of the created OutlineShapes
* @param pixelSize
* @param vertexFactory factory for vertices
* @return List of OutlineShapes, one OutlineShape per character
*/
public List |
| File |
|---|
| Font.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| Comment |
| Method interface |
| Chunk |
|---|
| Conflicting content |
|---|
*/
public static void computeVector(float[] vector, float[] v1, float[] v2)
{
<<<<<<< HEAD:src/jogl/classes/com/jogamp/graph/math/VectorUtil.java
=======
final float[] vector = new float[3];
>>>>>>> c67de337a8aaf52e36104c3f13e273aa19d21f1f:src/jogl/classes/com/jogamp/opengl/math/VectorUtil.java
vector[0] = v2[0] - v1[0];
vector[1] = v2[1] - v1[1];
vector[2] = v2[2] - v1[2]; |
| Solution content |
|---|
*/
public static void computeVector(float[] vector, float[] v1, float[] v2) {
vector[0] = v2[0] - v1[0];
vector[1] = v2[1] - v1[1]; |
| File |
|---|
| VectorUtil.java |
| Developer's decision |
|---|
| Manual |
| Kind of conflict |
|---|
| Method invocation |
| Variable |
| Chunk |
|---|
| Conflicting content |
|---|
* @return true if the vertex d is inside the circle defined by the
* vertices a, b, c. from paper by Guibas and Stolfi (1985).
*/
<<<<<<< HEAD:src/jogl/classes/com/jogamp/graph/math/VectorUtil.java
public static boolean inCircle(Vertex a, Vertex b, Vertex c, Vertex d){
final float[] A = a.getCoord();
final float[] B = b.getCoord();
final float[] C = c.getCoord();
final float[] D = d.getCoord();
return (A[0] * A[0] + A[1] * A[1]) * triArea(B, C, D) -
(B[0] * B[0] + B[1] * B[1]) * triArea(A, C, D) +
(C[0] * C[0] + C[1] * C[1]) * triArea(A, B, D) -
(D[0] * D[0] + D[1] * D[1]) * triArea(A, B, C) > 0;
=======
public static boolean inCircle(Vert2fImmutable a, Vert2fImmutable b, Vert2fImmutable c, Vert2fImmutable d){
return (a.getX() * a.getX() + a.getY() * a.getY()) * triArea(b, c, d) -
(b.getX() * b.getX() + b.getY() * b.getY()) * triArea(a, c, d) +
(c.getX() * c.getX() + c.getY() * c.getY()) * triArea(a, b, d) -
(d.getX() * d.getX() + d.getY() * d.getY()) * triArea(a, b, c) > 0;
>>>>>>> c67de337a8aaf52e36104c3f13e273aa19d21f1f:src/jogl/classes/com/jogamp/opengl/math/VectorUtil.java
}
/** Computes oriented area of a triangle |
| Solution content |
|---|
* @return true if the vertex d is inside the circle defined by the
* vertices a, b, c. from paper by Guibas and Stolfi (1985).
*/
public static boolean inCircle(Vert2fImmutable a, Vert2fImmutable b, Vert2fImmutable c, Vert2fImmutable d) {
final float[] A = a.getCoord();
final float[] B = b.getCoord();
final float[] C = c.getCoord();
final float[] D = d.getCoord();
return (A[0] * A[0] + A[1] * A[1]) * triArea(B, C, D) -
(B[0] * B[0] + B[1] * B[1]) * triArea(A, C, D) +
(C[0] * C[0] + C[1] * C[1]) * triArea(A, B, D) -
(D[0] * D[0] + D[1] * D[1]) * triArea(A, B, C) > 0;
}
/** Computes oriented area of a triangle |
| File |
|---|
| VectorUtil.java |
| Developer's decision |
|---|
| Combination |
| Kind of conflict |
|---|
| Array access |
| Method invocation |
| Method signature |
| Return statement |
| Variable |
| Chunk |
|---|
| Conflicting content |
|---|
final float[] A = a.getCoord();
* @return compute twice the area of the oriented triangle (a,b,c), the area
* is positive if the triangle is oriented counterclockwise.
*/
<<<<<<< HEAD:src/jogl/classes/com/jogamp/graph/math/VectorUtil.java
public static float triArea(Vertex a, Vertex b, Vertex c){
final float[] B = b.getCoord();
final float[] C = c.getCoord();
return (B[0] - A[0]) * (C[1] - A[1]) - (B[1] - A[1])*(C[0] - A[0]);
}
/** Computes oriented area of a triangle
* @param A first vertex
* @param B second vertex
* @param C third vertex
* @return compute twice the area of the oriented triangle (a,b,c), the area
* is positive if the triangle is oriented counterclockwise.
*/
public static float triArea(float[] A, float[] B, float[] C){
return (B[0] - A[0]) * (C[1] - A[1]) - (B[1] - A[1])*(C[0] - A[0]);
}
/** Check if a vertex is in triangle using
* barycentric coordinates computation.
=======
public static float triArea(Vert2fImmutable a, Vert2fImmutable b, Vert2fImmutable c) {
return (b.getX() - a.getX()) * (c.getY() - a.getY()) - (b.getY() - a.getY())*(c.getX() - a.getX());
}
/** Check if a vertex is in triangle using
* barycentric coordinates computation.
>>>>>>> c67de337a8aaf52e36104c3f13e273aa19d21f1f:src/jogl/classes/com/jogamp/opengl/math/VectorUtil.java
* @param a first triangle vertex
* @param b second triangle vertex
* @param c third triangle vertex |
| Solution content |
|---|
* @return compute twice the area of the oriented triangle (a,b,c), the area
* is positive if the triangle is oriented counterclockwise.
*/
public static float triArea(Vert2fImmutable a, Vert2fImmutable b, Vert2fImmutable c){
final float[] A = a.getCoord();
final float[] B = b.getCoord();
final float[] C = c.getCoord();
return (B[0] - A[0]) * (C[1] - A[1]) - (B[1] - A[1]) * (C[0] - A[0]);
}
/** Computes oriented area of a triangle
* @param A first vertex
* @param B second vertex
* @param C third vertex
* @return compute twice the area of the oriented triangle (a,b,c), the area
* is positive if the triangle is oriented counterclockwise.
*/
public static float triArea(float[] A, float[] B, float[] C){
return (B[0] - A[0]) * (C[1] - A[1]) - (B[1] - A[1])*(C[0] - A[0]);
}
/** Check if a vertex is in triangle using
* barycentric coordinates computation.
* @param a first triangle vertex
* @param b second triangle vertex
* @param c third triangle vertex |
| File |
|---|
| VectorUtil.java |
| Developer's decision |
|---|
| Combination |
| Kind of conflict |
|---|
| Comment |
| Method declaration |
| Chunk |
|---|
| Conflicting content |
|---|
* @param p the vertex in question
* @return true if p is in triangle (a, b, c), false otherwise.
*/
<<<<<<< HEAD:src/jogl/classes/com/jogamp/graph/math/VectorUtil.java
public static boolean vertexInTriangle(float[] a, float[] b, float[] c,
float[] p,
float[] ac, float[] ab, float[] ap){
// Compute vectors
computeVector(ac, a, c); //v0
computeVector(ab, a, b); //v1
computeVector(ap, a, p); //v2
=======
public static boolean vertexInTriangle(float[] a, float[] b, float[] c, float[] p){
// Compute vectors
final float[] ac = computeVector(a, c); //v0
final float[] ab = computeVector(a, b); //v1
final float[] ap = computeVector(a, p); //v2
>>>>>>> c67de337a8aaf52e36104c3f13e273aa19d21f1f:src/jogl/classes/com/jogamp/opengl/math/VectorUtil.java
// Compute dot products
final float dot00 = dot(ac, ac); |
| Solution content |
|---|
* @param p the vertex in question
* @return true if p is in triangle (a, b, c), false otherwise.
*/
public static boolean vertexInTriangle(float[] a, float[] b, float[] c,
float[] p,
float[] ac, float[] ab, float[] ap){
// Compute vectors
computeVector(ac, a, c); //v0
computeVector(ab, a, b); //v1
computeVector(ap, a, p); //v2
// Compute dot products
final float dot00 = dot(ac, ac); |
| File |
|---|
| VectorUtil.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| Comment |
| Method invocation |
| Method signature |
| Variable |
| Chunk |
|---|
| Conflicting content |
|---|
// Compute dot products
final float dot00 = dot(ac, ac);
final float dot01 = dot(ac, ab);
<<<<<<< HEAD:src/jogl/classes/com/jogamp/graph/math/VectorUtil.java
final float dot11 = dot(ab, ab);
final float dot02 = dot(ac, ap);
=======
final float dot02 = dot(ac, ap);
final float dot11 = dot(ab, ab);
>>>>>>> c67de337a8aaf52e36104c3f13e273aa19d21f1f:src/jogl/classes/com/jogamp/opengl/math/VectorUtil.java
final float dot12 = dot(ab, ap);
// Compute barycentric coordinates |
| Solution content |
|---|
// Compute dot products
final float dot00 = dot(ac, ac);
final float dot01 = dot(ac, ab);
final float dot02 = dot(ac, ap);
final float dot11 = dot(ab, ab);
final float dot12 = dot(ab, ap);
// Compute barycentric coordinates |
| File |
|---|
| VectorUtil.java |
| Developer's decision |
|---|
| Version 2 |
| Kind of conflict |
|---|
| Method invocation |
| Variable |
| Chunk |
|---|
| Conflicting content |
|---|
* @return the intersection coordinates if the segments intersect, otherwise
* returns null
*/
<<<<<<< HEAD:src/jogl/classes/com/jogamp/graph/math/VectorUtil.java
public static float[] seg2SegIntersection(Vertex a, Vertex b, Vertex c, Vertex d) {
=======
public static float[] seg2SegIntersection(Vert2fImmutable a, Vert2fImmutable b, Vert2fImmutable c, Vert2fImmutable d) {
>>>>>>> c67de337a8aaf52e36104c3f13e273aa19d21f1f:src/jogl/classes/com/jogamp/opengl/math/VectorUtil.java
final float determinant = (a.getX()-b.getX())*(c.getY()-d.getY()) - (a.getY()-b.getY())*(c.getX()-d.getX());
if (determinant == 0) |
| Solution content |
|---|
* @return the intersection coordinates if the segments intersect, otherwise
* returns null
*/
public static float[] seg2SegIntersection(Vert2fImmutable a, Vert2fImmutable b, Vert2fImmutable c, Vert2fImmutable d) {
final float determinant = (a.getX()-b.getX())*(c.getY()-d.getY()) - (a.getY()-b.getY())*(c.getX()-d.getX());
if (determinant == 0) |
| File |
|---|
| VectorUtil.java |
| Developer's decision |
|---|
| Version 2 |
| Kind of conflict |
|---|
| Method signature |
| Chunk |
|---|
| Conflicting content |
|---|
return false;
* @param e vertex 2 of first segment
* @return true if the segment intersects at least one segment of the triangle, false otherwise
*/
<<<<<<< HEAD:src/jogl/classes/com/jogamp/graph/math/VectorUtil.java
public static boolean testTri2SegIntersection(Vertex a, Vertex b, Vertex c, Vertex d, Vertex e){
return testSeg2SegIntersection(a, b, d, e) ||
testSeg2SegIntersection(b, c, d, e) ||
testSeg2SegIntersection(a, c, d, e) ;
=======
public static boolean tri2SegIntersection(Vert2fImmutable a, Vert2fImmutable b, Vert2fImmutable c, Vert2fImmutable d, Vert2fImmutable e){
if(seg2SegIntersection(a, b, d, e) != null)
return true;
if(seg2SegIntersection(b, c, d, e) != null)
return true;
if(seg2SegIntersection(a, c, d, e) != null)
return true;
>>>>>>> c67de337a8aaf52e36104c3f13e273aa19d21f1f:src/jogl/classes/com/jogamp/opengl/math/VectorUtil.java
}
} |
| Solution content |
|---|
* @param e vertex 2 of first segment
* @return true if the segment intersects at least one segment of the triangle, false otherwise
*/
public static boolean testTri2SegIntersection(Vert2fImmutable a, Vert2fImmutable b, Vert2fImmutable c, Vert2fImmutable d, Vert2fImmutable e){
return testSeg2SegIntersection(a, b, d, e) ||
testSeg2SegIntersection(b, c, d, e) ||
testSeg2SegIntersection(a, c, d, e) ;
}
} |
| File |
|---|
| VectorUtil.java |
| Developer's decision |
|---|
| Manual |
| Kind of conflict |
|---|
| If statement |
| Method invocation |
| Method signature |
| Return statement |
| Chunk |
|---|
| Conflicting content |
|---|
import com.jogamp.graph.geom.Vertex.Factory;
import com.jogamp.graph.curve.OutlineShape;
<<<<<<< HEAD
// import com.jogamp.graph.math.Quaternion;
public class GlyphShape {
// private Quaternion quat= null;
private Glyph glyph;
private OutlineShape shape;
=======
import com.jogamp.opengl.math.Quaternion;
public class GlyphShape {
private Quaternion quat= null;
private OutlineShape shape = null;
>>>>>>> c67de337a8aaf52e36104c3f13e273aa19d21f1f
/** Create a new Glyph shape
* based on Parametric curve control polyline
*/ |
| Solution content |
|---|
import com.jogamp.graph.geom.Vertex.Factory;
import com.jogamp.graph.curve.OutlineShape;
// import com.jogamp.opengl.math.Quaternion;
public class GlyphShape {
// private Quaternion quat= null;
private Glyph glyph;
private OutlineShape shape;
/** Create a new Glyph shape
* based on Parametric curve control polyline
*/ |
| File |
|---|
| GlyphShape.java |
| Developer's decision |
|---|
| Manual |
| Kind of conflict |
|---|
| Attribute |
| Class signature |
| Comment |
| Import |
| Chunk |
|---|
| Conflicting content |
|---|
}
public final Vertex.Factory extends Vertex> vertexFactory() { return shape.vertexFactory(); }
<<<<<<< HEAD
public final Glyph getGlyph() {
return glyph;
}
public final OutlineShape getShape() {
return shape;
}
public final int getNumVertices() {
=======
public OutlineShape getShape() {
return shape;
}
public int getNumVertices() {
>>>>>>> c67de337a8aaf52e36104c3f13e273aa19d21f1f
return shape.getVertices().size();
}
|
| Solution content |
|---|
}
public final Vertex.Factory extends Vertex> vertexFactory() { return shape.vertexFactory(); }
public final Glyph getGlyph() {
return glyph;
}
public final OutlineShape getShape() {
return shape;
}
public final int getNumVertices() {
return shape.getVertices().size();
}
|
| File |
|---|
| GlyphShape.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| Method declaration |
| Method signature |
| Chunk |
|---|
| Conflicting content |
|---|
public final Quaternion getQuat() {
return quat;
}
<<<<<<< HEAD
* Set the Quaternion that shall defien the rotation
=======
/** Set the Quaternion that shall defien the rotation
>>>>>>> c67de337a8aaf52e36104c3f13e273aa19d21f1f
* of this shape.
* @param quat
public final void setQuat(Quaternion quat) { |
| Solution content |
|---|
public final Quaternion getQuat() {
return quat;
}
/**
* Set the Quaternion that shall define the rotation
* of this shape.
* @param quat
public final void setQuat(Quaternion quat) { |
| File |
|---|
| GlyphShape.java |
| Developer's decision |
|---|
| Manual |
| Kind of conflict |
|---|
| Comment |
| Chunk |
|---|
| Conflicting content |
|---|
public final void setQuat(Quaternion quat) {
this.quat = quat;
}
<<<<<<< HEAD
*/
=======
>>>>>>> c67de337a8aaf52e36104c3f13e273aa19d21f1f
/** Triangluate the glyph shape
* @return ArrayList of triangles which define this shape
*/ |
| Solution content |
|---|
public final void setQuat(Quaternion quat) {
this.quat = quat;
}
*/
/** Triangluate the glyph shape
* @return ArrayList of triangles which define this shape
*/ |
| File |
|---|
| GlyphShape.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| Other |
| Chunk |
|---|
| Conflicting content |
|---|
*/
public static final int STATIC_FONT_SIZE = 10;
<<<<<<< HEAD
private final ArrayList |
| Solution content |
|---|
*/
public static final int STATIC_FONT_SIZE = 10;
private final ArrayList |
| File |
|---|
| GlyphString.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| Attribute |
| Method invocation |
| Chunk |
|---|
| Conflicting content |
|---|
* @param str string text
* @return the created {@link GlyphString} instance
*/
<<<<<<< HEAD
public static GlyphString createString(OutlineShape shape, Factory extends Vertex> vertexFactory, Font font, int fontSize, CharSequence str) {
List |
| Solution content |
|---|
* @param str string text
* @return the created {@link GlyphString} instance
*/
public static GlyphString createString(OutlineShape shape, Factory extends Vertex> vertexFactory, Font font, int fontSize, CharSequence str) {
List |
| File |
|---|
| GlyphString.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| Method invocation |
| Method signature |
| Variable |
| Chunk |
|---|
| Conflicting content |
|---|
if(shapes.get(index) == null){
continue;
}
<<<<<<< HEAD
GlyphShape glyphShape = new GlyphShape(vertexFactory,
font.getGlyph(str.charAt(index)),
shapes.get(index));
=======
GlyphShape glyphShape = new GlyphShape(vertexFactory, shapes.get(index));
>>>>>>> c67de337a8aaf52e36104c3f13e273aa19d21f1f
if(glyphShape.getNumVertices() < 3) {
continue; |
| Solution content |
|---|
if(shapes.get(index) == null){
continue;
}
GlyphShape glyphShape = new GlyphShape(vertexFactory,
font.getGlyph(str.charAt(index)),
shapes.get(index));
if(glyphShape.getNumVertices() < 3) {
continue; |
| File |
|---|
| GlyphString.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| Method invocation |
| Variable |
| Chunk |
|---|
| Conflicting content |
|---|
public GLRegion createRegion(GL2ES2 gl, int renderModes){
region = RegionFactory.create(renderModes);
// region.setFlipped(true);
<<<<<<< HEAD
float y = 0;
float advanceTotal = 0;
AffineTransform t = new AffineTransform();
=======
>>>>>>> c67de337a8aaf52e36104c3f13e273aa19d21f1f
int numVertices = region.getNumVertices();
|
| Solution content |
|---|
public GLRegion createRegion(GL2ES2 gl, int renderModes){
region = RegionFactory.create(renderModes);
// region.setFlipped(true);
float y = 0;
float advanceTotal = 0;
AffineTransform t = new AffineTransform();
int numVertices = region.getNumVertices();
|
| File |
|---|
| GlyphString.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| Method invocation |
| Variable |
| Chunk |
|---|
| Conflicting content |
|---|
ArrayList |
| Solution content |
|---|
ArrayList |
| File |
|---|
| GlyphString.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| Method invocation |
| Variable |
| Chunk |
|---|
| Conflicting content |
|---|
import com.jogamp.graph.curve.OutlineShape; import com.jogamp.graph.font.Font; import com.jogamp.graph.font.FontFactory; <<<<<<< HEAD import com.jogamp.graph.geom.AABBox; ======= import com.jogamp.graph.font.Font.Glyph; >>>>>>> c67de337a8aaf52e36104c3f13e273aa19d21f1f import com.jogamp.graph.geom.Vertex; import com.jogamp.graph.geom.Vertex.Factory; import com.jogamp.opengl.math.geom.AABBox; |
| Solution content |
|---|
import com.jogamp.graph.curve.OutlineShape; import com.jogamp.graph.font.Font; import com.jogamp.graph.font.FontFactory; import com.jogamp.graph.geom.Vertex; import com.jogamp.graph.geom.Vertex.Factory; import com.jogamp.opengl.math.geom.AABBox; |
| File |
|---|
| TypecastFont.java |
| Developer's decision |
|---|
| None |
| Kind of conflict |
|---|
| Import |
| Chunk |
|---|
| Conflicting content |
|---|
}
char2Glyph = new IntObjectHashMap(cmapentries + cmapentries/4);
}
<<<<<<< HEAD
=======
>>>>>>> c67de337a8aaf52e36104c3f13e273aa19d21f1f
@Override
public StringBuilder getName(StringBuilder sb, int nameIndex) {
return font.getName(nameIndex, sb); |
| Solution content |
|---|
}
char2Glyph = new IntObjectHashMap(cmapentries + cmapentries/4);
}
@Override
public StringBuilder getName(StringBuilder sb, int nameIndex) {
return font.getName(nameIndex, sb); |
| File |
|---|
| TypecastFont.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| Blank |
| Chunk |
|---|
| Conflicting content |
|---|
public float getAdvanceWidth(int i, float pixelSize) {
return font.getHmtxTable().getAdvanceWidth(i) * metrics.getScale(pixelSize);
}
<<<<<<< HEAD
=======
>>>>>>> c67de337a8aaf52e36104c3f13e273aa19d21f1f
@Override
public Metrics getMetrics() {
if (metrics == null) { |
| Solution content |
|---|
public float getAdvanceWidth(int i, float pixelSize) {
return font.getHmtxTable().getAdvanceWidth(i) * metrics.getScale(pixelSize);
}
@Override
public Metrics getMetrics() {
if (metrics == null) { |
| File |
|---|
| TypecastFont.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| Blank |
| Chunk |
|---|
| Conflicting content |
|---|
}
@Override
<<<<<<< HEAD
public OutlineShape getOutlineShape(Glyph glyph, Factory extends Vertex> vertexFactory) {
return TypecastRenderer.getOutlineShape(this, glyph, vertexFactory);
}
@Override
public List |
| Solution content |
|---|
}
@Override
public OutlineShape getOutlineShape(Glyph glyph, Factory extends Vertex> vertexFactory) {
return TypecastRenderer.getOutlineShape(this, glyph, vertexFactory);
}
@Override
public List |
| File |
|---|
| TypecastFont.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| Annotation |
| Method declaration |
| Method signature |
| Chunk |
|---|
| Conflicting content |
|---|
final public int getNumGlyphs() {
return font.getNumGlyphs();
}
<<<<<<< HEAD
=======
>>>>>>> c67de337a8aaf52e36104c3f13e273aa19d21f1f
@Override
public boolean isPrintableChar( char c ) {
return FontFactory.isPrintableChar(c); |
| Solution content |
|---|
final public int getNumGlyphs() {
return font.getNumGlyphs();
}
@Override
public boolean isPrintableChar( char c ) {
return FontFactory.isPrintableChar(c); |
| File |
|---|
| TypecastFont.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| Blank |
| Chunk |
|---|
| Conflicting content |
|---|
public boolean isPrintableChar( char c ) {
return FontFactory.isPrintableChar(c);
}
<<<<<<< HEAD
=======
>>>>>>> c67de337a8aaf52e36104c3f13e273aa19d21f1f
@Override
public String toString() {
return getFullFamilyName(null).toString(); |
| Solution content |
|---|
public boolean isPrintableChar( char c ) {
return FontFactory.isPrintableChar(c);
}
@Override
public String toString() {
return getFullFamilyName(null).toString(); |
| File |
|---|
| TypecastFont.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| Blank |
| Chunk |
|---|
| Conflicting content |
|---|
}
return this.pathSized;
}
<<<<<<< HEAD
public int hashCode() {
// 31 * x == (x << 5) - x
int hash = 31 + font.getName(Font.NAME_UNIQUNAME).hashCode();
return ((hash << 5) - hash) + id;
}
=======
>>>>>>> c67de337a8aaf52e36104c3f13e273aa19d21f1f
} |
| Solution content |
|---|
}
return this.pathSized;
}
public int hashCode() {
// 31 * x == (x << 5) - x
int hash = 31 + font.getName(Font.NAME_UNIQUNAME).hashCode();
return ((hash << 5) - hash) + id;
}
} |
| File |
|---|
| TypecastGlyph.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| Method declaration |
| Chunk |
|---|
| Conflicting content |
|---|
advanceTotal = 0;
} else if (character == ' ') {
advanceTotal += font.getAdvanceWidth(Glyph.ID_SPACE, pixelSize);
<<<<<<< HEAD
} else {
final Glyph glyph = font.getGlyph(character);
final Path2D gp = ((GlyphInt)glyph).getPath();
final float scale = metrics.getScale(pixelSize);
t.translate(advanceTotal, y);
t.scale(scale, scale);
p[i].append(gp.iterator(t), false);
advanceTotal += glyph.getAdvance(pixelSize, true);
}
=======
continue;
}
Glyph glyph = font.getGlyph(character);
Path2D gp = ((GlyphInt)glyph).getPath();
float scale = metrics.getScale(pixelSize);
t.translate(advanceTotal, y);
t.scale(scale, scale);
p[i].append(gp.iterator(t), false);
advanceTotal += glyph.getAdvance(pixelSize, true);
>>>>>>> c67de337a8aaf52e36104c3f13e273aa19d21f1f
}
}
|
| Solution content |
|---|
}
advanceTotal = 0;
} else if (character == ' ') {
advanceTotal += font.getAdvanceWidth(Glyph.ID_SPACE, pixelSize);
} else {
final Glyph glyph = font.getGlyph(character);
final Path2D gp = ((GlyphInt)glyph).getPath();
final float scale = metrics.getScale(pixelSize);
t.translate(advanceTotal, y);
t.scale(scale, scale);
p[i].append(gp.iterator(t), false);
advanceTotal += glyph.getAdvance(pixelSize, true);
}
}
|
| File |
|---|
| TypecastRenderer.java |
| Developer's decision |
|---|
| Version 1 |
| Kind of conflict |
|---|
| Continue statement |
| Method invocation |
| Variable |