# but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # # ##### END GPL LICENSE BLOCK ##### # Filename : suggestive.py # Author : Stephane Grabli # Date : 04/08/2005 # Purpose : Draws the suggestive contours. # ***** The suggestive contours must be enabled # in the options dialog ***** from freestyle import ChainSilhouetteIterator, ConstantColorShader, IncreasingThicknessShader, \ Nature, Operators, QuantitativeInvisibilityUP1D, TrueUP1D from PredicatesU1D import pyNatureUP1D from logical_operators import AndUP1D, NotUP1D upred = AndUP1D(pyNatureUP1D(Nature.SUGGESTIVE_CONTOUR), QuantitativeInvisibilityUP1D(0)) Operators.select(upred) Operators.bidirectional_chain(ChainSilhouetteIterator(), NotUP1D(upred)) shaders_list = [ IncreasingThicknessShader(1, 3), ConstantColorShader(0.2, 0.2, 0.2, 1), ] Operators.create(TrueUP1D(), shaders_list)
# GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # # ##### END GPL LICENSE BLOCK ##### # Filename : nature.py # Author : Stephane Grabli # Date : 04/08/2005 # Purpose : Uses the NatureUP1D predicate to select the lines # of a given type (among Nature.SILHOUETTE, Nature.CREASE, Nature.SUGGESTIVE_CONTOURS, # Nature.BORDERS). # The suggestive contours must have been enabled in the # options dialog to appear in the View Map. from freestyle import ChainSilhouetteIterator, IncreasingColorShader, \ IncreasingThicknessShader, Nature, Operators, TrueUP1D from PredicatesU1D import pyNatureUP1D from logical_operators import NotUP1D Operators.select(pyNatureUP1D(Nature.SILHOUETTE)) Operators.bidirectional_chain(ChainSilhouetteIterator(), NotUP1D(pyNatureUP1D(Nature.SILHOUETTE))) shaders_list = [ IncreasingThicknessShader(3, 10), IncreasingColorShader(0.0, 0.0, 0.0, 1, 0.8, 0, 0, 1), ] Operators.create(TrueUP1D(), shaders_list)
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software Foundation, # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # # ##### END GPL LICENSE BLOCK ##### # Filename : nature.py # Author : Stephane Grabli # Date : 04/08/2005 # Purpose : Uses the NatureUP1D predicate to select the lines # of a given type (among Nature.SILHOUETTE, Nature.CREASE, Nature.SUGGESTIVE_CONTOURS, # Nature.BORDERS). # The suggestive contours must have been enabled in the # options dialog to appear in the View Map. from freestyle import ChainSilhouetteIterator, IncreasingColorShader, \ IncreasingThicknessShader, Nature, Operators, TrueUP1D from PredicatesU1D import pyNatureUP1D from logical_operators import NotUP1D Operators.select(pyNatureUP1D(Nature.SILHOUETTE)) Operators.bidirectional_chain(ChainSilhouetteIterator(), NotUP1D(pyNatureUP1D(Nature.SILHOUETTE))) shaders_list = [ IncreasingThicknessShader(3, 10), IncreasingColorShader(0.0, 0.0, 0.0, 1, 0.8, 0, 0, 1), ] Operators.create(TrueUP1D(), shaders_list)