Karsten Schmidt is sharing code with you

Bitbucket is a code hosting site. Unlimited public and private repositories. Free for small teams.

Don't show this again

postspectacular / flatworld

An extensible 3D to 2D mesh unwrap library for using toxiclibs & Processing to create physical objects from sheet material (e.g. paper, cardboard, polythene). All polygons are rendered out individually and placed on a number of sheets. The layout algorithm is attempting to minimize the space needed. Edges can be rendered in different styles suitable for different assembly methods (e.g. glue tabs or interlocking)

Clone this repository (size: 1.9 KB): HTTPS / SSH
hg clone https://bitbucket.org/postspectacular/flatworld
hg clone ssh://hg@bitbucket.org/postspectacular/flatworld

Searching for commits

Mercurial supports a functional language for selecting a set of revisions.

The language supports a number of predicates which are joined by infix operators. Parenthesis can be used for grouping.

Identifiers such as branch names must be quoted with single or double quotes if they contain characters outside of [._a-zA-Z0-9\x80-\xff] or if they match one of the predefined predicates.

Prefix operators

not x
Changesets not in x. Short form is ! x.

Infix operators

x::y

A DAG range, meaning all changesets that are descendants of x and ancestors of y, including x and y themselves. If the first endpoint is left out, this is equivalent to ancestors(y), if the second is left out it is equivalent to descendants(x).

An alternative syntax is x..y.

x:y
All changesets with revision numbers between x and y, both inclusive. Either endpoint can be left out, they default to 0 and tip.
x and y
The intersection of changesets in x and y. Short form is x & y.
x or y
The union of changesets in x and y. There are two alternative short forms: x | y and x + y.
x - y
Changesets in x but not in y.

Predicates

all()
All changesets, the same as 0:tip.
ancestor(single, single)
Greatest common ancestor of the two changesets.
ancestors(set)
Changesets that are ancestors of a changeset in set.
author(string)
Alias for user(string).
bookmark([name])
The named bookmark or all bookmarks.
branch(set)
All changesets belonging to the branches of changesets in set.
children(set)
Child changesets of changesets in set.
closed()
Changeset is closed.
date(interval)
Changesets within the interval, see hg help dates.
descendants(set)
Changesets which are descendants of changesets in set.
file(pattern)
Changesets affecting files matched by pattern.
follow()
An alias for ::. (ancestors of the working copy's first parent).
grep(regex)
Like keyword(string) but accepts a regex. Use grep(r'...') to ensure special escape characters are handled correctly.
head()
Changeset is a named branch head.
heads(set)
Members of set with no children in set.
id(string)
Revision non-ambiguously specified by the given hex string prefix.
keyword(string)
Search commit message, user name, and names of changed files for string.
limit(set, n)
First n members of set.
max(set)
Changeset with highest revision number in set.
merge()
Changeset is a merge changeset.
min(set)
Changeset with lowest revision number in set.
p1([set])
First parent of changesets in set, or the working directory.
p2([set])
Second parent of changesets in set, or the working directory.
parents([set])
The set of all parents for all changesets in set, or the working directory.
present(set)
An empty set, if any revision in set isn't found; otherwise, all revisions in set.
rev(number)
Revision with the given numeric identifier.
roots(set)
Changesets with no parent changeset in set.
tag(name)
The specified tag by name, or all tagged revisions if no name is given.
user(string)
User name is string.

Commits 1–6 of 6

Author Revision Comments Message Labels Date
Karsten Schmidt ee3ac60d1d28 adding .hgignore
Karsten Schmidt 8eb238b29780 adding PackedLayout algorithm and minor updates to collision detection, added setLayout() and new constructor to Unwrapper
Karsten Schmidt 3dbfdb527c3d refactored sheet layout algorithm into strategy pattern using new UnwrapLayoutStrategy and DefaultLayout as its current implementation
Karsten Schmidt 1d63a7290a5d added HoleMountStrategy and color support for all elements, major refactoring of edge handling & label drawing is now aligned to edge direction
Karsten Schmidt 00ab19827469 fixed edge labelling bug caused by forcing 2D/flattened triangles to be anti-clockwise
Karsten Schmidt f5f5d525c1f0 initial checkin of entire eclipse project incl. all classes, 3rd party jars and test app