next, followed by the results section, which includes
its discussion. Lastly, the conclusions and some
future work will be described.
2 RELATED WORK
This subject fits into the area of Geometry Modeling
Kernels on the one hand, as well as Procedural
Modeling on the other hand, and both already
possess an average number of interesting solutions
by various researchers and companies.
The 3D ACIS Modeler (Spatial Corporation,
2011) is a commercial modeling component
developed by Spatial Corporation. Among other
features, the creators highlight their advanced
surface and solid modeling capabilities, as well as
their simple, flexible and interactive interface.
Parasolid is a commercially licensed geometric
modeling kernel now proprietary of Siemens PLM
Software (Siemens PLM Software, 2010). It
advertises many surface manipulation tools, Boolean
operators, extrusion, embossing, patterning, lofting,
sweeping, thickening, hollowing and many other
modeling operations.
Open Cascade (OPEN CASCADE S.A.S., 2011)
is a powerful CAD component developed by Open
CASCADE S.A.S., and consists in free open source
C++ libraries. Among other features, their
topological structure is stressed, along with the
various modeling operations, primitive instantiation
and rendering capabilities.
SMLib (Solid Modeling Solutions Inc., 2011) is
another geometry modeling kernel, developed by
Solid Modeling Solution Inc., based in NURBS
curves and surfaces combined with a topological
non-manifold structure. The company emphasizes
the choice over a Boundary representation which
induced the possibility to model any tridimensional
model, and with high efficiency.
IRIT (Elber, 2009) is a solid geometry modeling
environment that allows 3D modeling based on
primitives and Boolean operations to connect them
(CSG – Constructive Solid Geometry). Its original
creator, Gershon Elber, stresses also its simultaneous
potential for freeform curve and surface
manipulation tools.
Although the mentioned list of tools is not, by
any means, extensive, it contains an overview on the
most popular geometry modeling tools, enumerating
some of the its most interesting and powerful
features any modeler should possess. However, as
said, the paradigm is not procedurally-oriented.
On the other hand, concerning the area of
procedural modeling, there is also a considerable
amount of work.
L-Systems (an acronym for Lindenmayer
Systems) are amongst the most popular approach for
procedural generation in computer graphics, having
been initially employed, by Aristid Lindenmayer in
the simulation of plant and organism growth
(Prusinkiewicz & Lindenmayer, 1996). The behavior
of the development sequence of an L-System can be
parameterized and configured, allowing the control
over the modeling processes. Parish and Müller
employed the same methodology to generate
extensive street networks (Parish & Müller, 2001).
Geospatial L-Systems (Coelho, Bessa, Sousa, &
Ferreira, 2007) are an extension of parametric L-
Systems which incorporates spatial awareness. This
approach combines the ability of data amplification
provided by the L-Systems with the geospatial
awareness of geospatial systems.
Wonka et al. introduced the split grammars
(Wonka, Wimmer, Sillion, & Ribarsky, 2003), a
new type of parametric set grammar based on the
concept of shape brought up by Stiny and Gips
(Stiny, 1980; Stiny & Gips, 1972), also with
applications in the field of modeling architectural
buildings. He also presented an attribute matching
system oriented by a control grammar, offering the
flexibility required to model buildings with many
different styles and designs. Based on this work,
Müller et al. developed the CGA Shape (Müller,
Wonka, Haegler, Ulmer, & Gool, 2006), a shape
grammar capable of producing extensive
architectural models with high detail. The CGA
Shape is a sequential grammar (such as the
Chomsky Grammar (Chomsky, 1956)), therefore all
the production rules are applied in sequence, in order
to allow the characterization of the structure. The
implementation of the CGA Shape is integrated in
the CityEngine framework (Procedural Inc., 2009).
Considering that text-based shape definitions were
impractical to use by most artists, Lipp presented in
(Lipp, Wonka, & Wimmer, 2008) a visual editing
system which introduced traditional modeling
techniques, allowing a more intuitive and powerful
control over each grammar aspect.
3 THE PGCAD API
PGCAD is a geometric modeling kernel oriented for
procedural modeling. Its name stands for Procedural
Generation Computer-Aided Design and aims at
providing a more powerful control over the
development of procedural modeling processes, by
GRAPP 2012 - International Conference on Computer Graphics Theory and Applications
130