Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/freestyle')
-rw-r--r--source/blender/freestyle/CMakeLists.txt2
-rw-r--r--source/blender/freestyle/FRS_freestyle.h1
-rw-r--r--source/blender/freestyle/intern/application/Controller.cpp91
-rw-r--r--source/blender/freestyle/intern/application/Controller.h11
-rw-r--r--source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp15
-rw-r--r--source/blender/freestyle/intern/python/BPy_FrsMaterial.cpp14
-rw-r--r--source/blender/freestyle/intern/python/BPy_Interface0D.cpp4
-rw-r--r--source/blender/freestyle/intern/python/BPy_Operators.cpp35
-rw-r--r--source/blender/freestyle/intern/python/BPy_StrokeAttribute.cpp4
-rw-r--r--source/blender/freestyle/intern/python/BinaryPredicate1D/BPy_FalseBP1D.cpp6
-rw-r--r--source/blender/freestyle/intern/python/BinaryPredicate1D/BPy_Length2DBP1D.cpp6
-rw-r--r--source/blender/freestyle/intern/python/BinaryPredicate1D/BPy_SameShapeIdBP1D.cpp6
-rw-r--r--source/blender/freestyle/intern/python/BinaryPredicate1D/BPy_TrueBP1D.cpp6
-rw-r--r--source/blender/freestyle/intern/python/BinaryPredicate1D/BPy_ViewMapGradientNormBP1D.cpp8
-rw-r--r--source/blender/freestyle/intern/python/Interface0D/CurvePoint/BPy_StrokeVertex.cpp4
-rw-r--r--source/blender/freestyle/intern/python/Iterator/BPy_ChainPredicateIterator.cpp13
-rw-r--r--source/blender/freestyle/intern/python/Iterator/BPy_ChainSilhouetteIterator.cpp6
-rw-r--r--source/blender/freestyle/intern/python/Iterator/BPy_Interface0DIterator.cpp4
-rw-r--r--source/blender/freestyle/intern/python/StrokeShader/BPy_BackboneStretcherShader.cpp4
-rw-r--r--source/blender/freestyle/intern/python/StrokeShader/BPy_BezierCurveShader.cpp4
-rw-r--r--source/blender/freestyle/intern/python/StrokeShader/BPy_BlenderTextureShader.cpp7
-rw-r--r--source/blender/freestyle/intern/python/StrokeShader/BPy_CalligraphicShader.cpp4
-rw-r--r--source/blender/freestyle/intern/python/StrokeShader/BPy_ColorNoiseShader.cpp4
-rw-r--r--source/blender/freestyle/intern/python/StrokeShader/BPy_ColorVariationPatternShader.cpp4
-rw-r--r--source/blender/freestyle/intern/python/StrokeShader/BPy_ConstantColorShader.cpp4
-rw-r--r--source/blender/freestyle/intern/python/StrokeShader/BPy_ConstantThicknessShader.cpp4
-rw-r--r--source/blender/freestyle/intern/python/StrokeShader/BPy_ConstrainedIncreasingThicknessShader.cpp4
-rw-r--r--source/blender/freestyle/intern/python/StrokeShader/BPy_GuidingLinesShader.cpp4
-rw-r--r--source/blender/freestyle/intern/python/StrokeShader/BPy_IncreasingColorShader.cpp4
-rw-r--r--source/blender/freestyle/intern/python/StrokeShader/BPy_IncreasingThicknessShader.cpp4
-rw-r--r--source/blender/freestyle/intern/python/StrokeShader/BPy_PolygonalizationShader.cpp4
-rw-r--r--source/blender/freestyle/intern/python/StrokeShader/BPy_SamplingShader.cpp4
-rw-r--r--source/blender/freestyle/intern/python/StrokeShader/BPy_SmoothingShader.cpp4
-rw-r--r--source/blender/freestyle/intern/python/StrokeShader/BPy_SpatialNoiseShader.cpp4
-rw-r--r--source/blender/freestyle/intern/python/StrokeShader/BPy_StrokeTextureShader.cpp6
-rw-r--r--source/blender/freestyle/intern/python/StrokeShader/BPy_StrokeTextureStepShader.cpp4
-rw-r--r--source/blender/freestyle/intern/python/StrokeShader/BPy_TextureAssignerShader.cpp4
-rw-r--r--source/blender/freestyle/intern/python/StrokeShader/BPy_ThicknessNoiseShader.cpp4
-rw-r--r--source/blender/freestyle/intern/python/StrokeShader/BPy_ThicknessVariationPatternShader.cpp4
-rw-r--r--source/blender/freestyle/intern/python/StrokeShader/BPy_TipRemoverShader.cpp4
-rw-r--r--source/blender/freestyle/intern/python/StrokeShader/BPy_fstreamShader.cpp4
-rw-r--r--source/blender/freestyle/intern/python/StrokeShader/BPy_streamShader.cpp4
-rw-r--r--source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_Id/BPy_ShapeIdF0D.cpp19
-rw-r--r--source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_Material/BPy_MaterialF0D.cpp26
-rw-r--r--source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_Nature_EdgeNature/BPy_CurveNatureF0D.cpp10
-rw-r--r--source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_Vec2f/BPy_Normal2DF0D.cpp10
-rw-r--r--source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_Vec2f/BPy_VertexOrientation2DF0D.cpp12
-rw-r--r--source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_Vec3f/BPy_VertexOrientation3DF0D.cpp12
-rw-r--r--source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_ViewShape/BPy_GetOccludeeF0D.cpp10
-rw-r--r--source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_ViewShape/BPy_GetShapeF0D.cpp12
-rw-r--r--source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_double/BPy_Curvature2DAngleF0D.cpp10
-rw-r--r--source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_double/BPy_DensityF0D.cpp11
-rw-r--r--source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_double/BPy_GetProjectedXF0D.cpp6
-rw-r--r--source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_double/BPy_GetProjectedYF0D.cpp6
-rw-r--r--source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_double/BPy_GetProjectedZF0D.cpp6
-rw-r--r--source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_double/BPy_GetXF0D.cpp6
-rw-r--r--source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_double/BPy_GetYF0D.cpp6
-rw-r--r--source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_double/BPy_GetZF0D.cpp6
-rw-r--r--source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_double/BPy_LocalAverageDepthF0D.cpp11
-rw-r--r--source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_double/BPy_ZDiscontinuityF0D.cpp14
-rw-r--r--source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_float/BPy_GetCurvilinearAbscissaF0D.cpp10
-rw-r--r--source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_float/BPy_GetParameterF0D.cpp8
-rw-r--r--source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_float/BPy_GetViewMapGradientNormF0D.cpp4
-rw-r--r--source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_float/BPy_ReadCompleteViewMapPixelF0D.cpp4
-rw-r--r--source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_float/BPy_ReadMapPixelF0D.cpp4
-rw-r--r--source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_float/BPy_ReadSteerableViewMapPixelF0D.cpp4
-rw-r--r--source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_unsigned_int/BPy_QuantitativeInvisibilityF0D.cpp20
-rw-r--r--source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_vector_ViewShape/BPy_GetOccludersF0D.cpp10
-rw-r--r--source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_Nature_EdgeNature/BPy_CurveNatureF1D.cpp21
-rw-r--r--source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_Vec2f/BPy_Normal2DF1D.cpp6
-rw-r--r--source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_Vec2f/BPy_Orientation2DF1D.cpp6
-rw-r--r--source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_Vec3f/BPy_Orientation3DF1D.cpp6
-rw-r--r--source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_Curvature2DAngleF1D.cpp6
-rw-r--r--source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_DensityF1D.cpp12
-rw-r--r--source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_GetCompleteViewMapDensityF1D.cpp15
-rw-r--r--source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_GetDirectionalViewMapDensityF1D.cpp19
-rw-r--r--source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_GetProjectedXF1D.cpp6
-rw-r--r--source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_GetProjectedYF1D.cpp6
-rw-r--r--source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_GetProjectedZF1D.cpp6
-rw-r--r--source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_GetSteerableViewMapDensityF1D.cpp11
-rw-r--r--source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_GetViewMapGradientNormF1D.cpp11
-rw-r--r--source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_GetXF1D.cpp6
-rw-r--r--source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_GetYF1D.cpp6
-rw-r--r--source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_GetZF1D.cpp6
-rw-r--r--source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_LocalAverageDepthF1D.cpp16
-rw-r--r--source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_ZDiscontinuityF1D.cpp6
-rw-r--r--source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_unsigned_int/BPy_QuantitativeInvisibilityF1D.cpp12
-rw-r--r--source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_vector_ViewShape/BPy_GetOccludeeF1D.cpp6
-rw-r--r--source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_vector_ViewShape/BPy_GetOccludersF1D.cpp6
-rw-r--r--source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_vector_ViewShape/BPy_GetShapeF1D.cpp6
-rw-r--r--source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_void/BPy_ChainingTimeStampF1D.cpp4
-rw-r--r--source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_void/BPy_IncrementChainingTimeStampF1D.cpp4
-rw-r--r--source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_void/BPy_TimeStampF1D.cpp4
-rw-r--r--source/blender/freestyle/intern/python/UnaryPredicate0D/BPy_FalseUP0D.cpp4
-rw-r--r--source/blender/freestyle/intern/python/UnaryPredicate0D/BPy_TrueUP0D.cpp4
-rw-r--r--source/blender/freestyle/intern/python/UnaryPredicate1D/BPy_ContourUP1D.cpp4
-rw-r--r--source/blender/freestyle/intern/python/UnaryPredicate1D/BPy_DensityLowerThanUP1D.cpp6
-rw-r--r--source/blender/freestyle/intern/python/UnaryPredicate1D/BPy_EqualToChainingTimeStampUP1D.cpp4
-rw-r--r--source/blender/freestyle/intern/python/UnaryPredicate1D/BPy_EqualToTimeStampUP1D.cpp4
-rw-r--r--source/blender/freestyle/intern/python/UnaryPredicate1D/BPy_ExternalContourUP1D.cpp4
-rw-r--r--source/blender/freestyle/intern/python/UnaryPredicate1D/BPy_FalseUP1D.cpp4
-rw-r--r--source/blender/freestyle/intern/python/UnaryPredicate1D/BPy_QuantitativeInvisibilityUP1D.cpp9
-rw-r--r--source/blender/freestyle/intern/python/UnaryPredicate1D/BPy_ShapeUP1D.cpp8
-rw-r--r--source/blender/freestyle/intern/python/UnaryPredicate1D/BPy_TrueUP1D.cpp4
-rw-r--r--source/blender/freestyle/intern/python/UnaryPredicate1D/BPy_WithinImageBoundaryUP1D.cpp2
-rw-r--r--source/blender/freestyle/intern/scene_graph/SceneHash.cpp39
-rw-r--r--source/blender/freestyle/intern/scene_graph/SceneHash.h67
-rw-r--r--source/blender/freestyle/intern/stroke/BasicStrokeShaders.cpp5
-rw-r--r--source/blender/freestyle/intern/stroke/Chain.cpp2
-rw-r--r--source/blender/freestyle/intern/stroke/Chain.h4
-rw-r--r--source/blender/freestyle/intern/stroke/Curve.h8
-rw-r--r--source/blender/freestyle/intern/stroke/Operators.cpp12
-rw-r--r--source/blender/freestyle/intern/stroke/Operators.h2
-rw-r--r--source/blender/freestyle/intern/stroke/Stroke.h8
-rw-r--r--source/blender/freestyle/intern/view_map/FEdgeXDetector.cpp24
-rw-r--r--source/blender/freestyle/intern/view_map/FEdgeXDetector.h4
-rw-r--r--source/blender/freestyle/intern/view_map/Silhouette.h42
-rw-r--r--source/blender/freestyle/intern/view_map/ViewMap.cpp24
-rw-r--r--source/blender/freestyle/intern/view_map/ViewMap.h7
-rw-r--r--source/blender/freestyle/intern/winged_edge/WXEdge.h14
120 files changed, 699 insertions, 427 deletions
diff --git a/source/blender/freestyle/CMakeLists.txt b/source/blender/freestyle/CMakeLists.txt
index c94a5ac9f92..bfd1c17df7d 100644
--- a/source/blender/freestyle/CMakeLists.txt
+++ b/source/blender/freestyle/CMakeLists.txt
@@ -412,6 +412,8 @@ set(SRC
intern/scene_graph/OrientedLineRep.h
intern/scene_graph/Rep.cpp
intern/scene_graph/Rep.h
+ intern/scene_graph/SceneHash.cpp
+ intern/scene_graph/SceneHash.h
intern/scene_graph/ScenePrettyPrinter.cpp
intern/scene_graph/ScenePrettyPrinter.h
intern/scene_graph/SceneVisitor.cpp
diff --git a/source/blender/freestyle/FRS_freestyle.h b/source/blender/freestyle/FRS_freestyle.h
index fc9fc35e410..9766372507b 100644
--- a/source/blender/freestyle/FRS_freestyle.h
+++ b/source/blender/freestyle/FRS_freestyle.h
@@ -48,6 +48,7 @@ int FRS_is_freestyle_enabled(struct SceneRenderLayer *srl);
void FRS_init_stroke_rendering(struct Render *re);
struct Render *FRS_do_stroke_rendering(struct Render *re, struct SceneRenderLayer *srl, int render);
void FRS_finish_stroke_rendering(struct Render *re);
+void FRS_free_view_map_cache(void);
void FRS_composite_result(struct Render *re, struct SceneRenderLayer *srl, struct Render *freestyle_render);
void FRS_exit(void);
diff --git a/source/blender/freestyle/intern/application/Controller.cpp b/source/blender/freestyle/intern/application/Controller.cpp
index 176199600ac..7ecb4164caf 100644
--- a/source/blender/freestyle/intern/application/Controller.cpp
+++ b/source/blender/freestyle/intern/application/Controller.cpp
@@ -118,6 +118,7 @@ Controller::Controller()
_Canvas = new AppCanvas;
_inter = new PythonInterpreter();
+ _EnableViewMapCache = false;
_EnableQI = true;
_EnableFaceSmoothness = false;
_ComputeRidges = true;
@@ -126,6 +127,7 @@ Controller::Controller()
_ComputeMaterialBoundaries = true;
_sphereRadius = 1.0;
_creaseAngle = 134.43;
+ prevSceneHash = -1.0;
init_options();
}
@@ -212,6 +214,19 @@ void Controller::setContext(bContext *C)
py_inter->setContext(C);
}
+bool Controller::hitViewMapCache()
+{
+ if (!_EnableViewMapCache) {
+ return false;
+ }
+ real hashCode = sceneHashFunc.getValue();
+ if (prevSceneHash == hashCode) {
+ return (NULL != _ViewMap);
+ }
+ prevSceneHash = hashCode;
+ return false;
+}
+
int Controller::LoadMesh(Render *re, SceneRenderLayer *srl)
{
BlenderFileLoader loader(re, srl);
@@ -242,6 +257,7 @@ int Controller::LoadMesh(Render *re, SceneRenderLayer *srl)
if (G.debug & G_DEBUG_FREESTYLE) {
cout << "Scene loaded" << endl;
printf("Mesh cleaning : %lf\n", duration);
+ printf("View map cache : %s\n", _EnableViewMapCache ? "enabled" : "disabled");
}
_SceneNumFaces += loader.numFacesRead();
@@ -263,6 +279,22 @@ int Controller::LoadMesh(Render *re, SceneRenderLayer *srl)
if (_pRenderMonitor->testBreak())
return 0;
+ if (_EnableViewMapCache) {
+ sceneHashFunc.reset();
+ blenderScene->accept(sceneHashFunc);
+ if (G.debug & G_DEBUG_FREESTYLE) {
+ printf("Scene hash : %.16e\n", sceneHashFunc.getValue());
+ }
+ if (hitViewMapCache()) {
+ ClearRootNode();
+ return 0;
+ }
+ else {
+ delete _ViewMap;
+ _ViewMap = NULL;
+ }
+ }
+
_Chrono.start();
WXEdgeBuilder wx_builder;
@@ -357,7 +389,7 @@ void Controller::DeleteWingedEdge()
_minEdgeSize = DBL_MAX;
}
-void Controller::DeleteViewMap()
+void Controller::DeleteViewMap(bool freeCache)
{
_pView->DetachSilhouette();
if (NULL != _SilhouetteNode) {
@@ -387,14 +419,20 @@ void Controller::DeleteViewMap()
_pView->DetachDebug();
if (NULL != _DebugNode) {
- int ref = _DebugNode->destroy();
+ int ref = _DebugNode->destroy();
if (0 == ref)
_DebugNode->addRef();
}
if (NULL != _ViewMap) {
- delete _ViewMap;
- _ViewMap = NULL;
+ if (freeCache || !_EnableViewMapCache) {
+ delete _ViewMap;
+ _ViewMap = NULL;
+ prevSceneHash = -1.0;
+ }
+ else {
+ _ViewMap->Clean();
+ }
}
}
@@ -403,40 +441,7 @@ void Controller::ComputeViewMap()
if (!_ListOfModels.size())
return;
- if (NULL != _ViewMap) {
- delete _ViewMap;
- _ViewMap = NULL;
- }
-
- _pView->DetachDebug();
- if (NULL != _DebugNode) {
- int ref = _DebugNode->destroy();
- if (0 == ref)
- _DebugNode->addRef();
- }
-
- _pView->DetachSilhouette();
- if (NULL != _SilhouetteNode) {
- int ref = _SilhouetteNode->destroy();
- if (0 == ref)
- delete _SilhouetteNode;
- }
-
-#if 0
- if (NULL != _ProjectedSilhouette) {
- int ref = _ProjectedSilhouette->destroy();
- if (0 == ref)
- delete _ProjectedSilhouette;
- }
-
- if (NULL != _VisibleProjectedSilhouette) {
- int ref = _VisibleProjectedSilhouette->destroy();
- if (0 == ref) {
- delete _VisibleProjectedSilhouette;
- _VisibleProjectedSilhouette = NULL;
- }
- }
-#endif
+ DeleteViewMap(true);
// retrieve the 3D viewpoint and transformations information
//----------------------------------------------------------
@@ -763,6 +768,16 @@ int Controller::getVisibilityAlgo()
return FREESTYLE_ALGO_ADAPTIVE_TRADITIONAL;
}
+void Controller::setViewMapCache(bool iBool)
+{
+ _EnableViewMapCache = iBool;
+}
+
+bool Controller::getViewMapCache() const
+{
+ return _EnableViewMapCache;
+}
+
void Controller::setQuantitativeInvisibility(bool iBool)
{
_EnableQI = iBool;
diff --git a/source/blender/freestyle/intern/application/Controller.h b/source/blender/freestyle/intern/application/Controller.h
index f5e50347d0f..9fe57d92cf4 100644
--- a/source/blender/freestyle/intern/application/Controller.h
+++ b/source/blender/freestyle/intern/application/Controller.h
@@ -32,6 +32,7 @@
//#include "ConfigIO.h"
#include "../geometry/FastGrid.h"
+#include "../scene_graph/SceneHash.h"
#include "../system/Interpreter.h"
#include "../system/ProgressBar.h"
#include "../system/Precision.h"
@@ -96,7 +97,7 @@ public:
void Clear();
void ClearRootNode();
void DeleteWingedEdge();
- void DeleteViewMap();
+ void DeleteViewMap(bool freeCache = false);
void toggleLayer(unsigned index, bool iDisplay);
void setModified(unsigned index, bool iMod);
void resetModified(bool iMod=false);
@@ -118,6 +119,8 @@ public:
void setVisibilityAlgo(int algo);
int getVisibilityAlgo();
+ void setViewMapCache(bool iBool);
+ bool getViewMapCache() const;
void setQuantitativeInvisibility(bool iBool); // if true, we compute quantitativeInvisibility
bool getQuantitativeInvisibility() const;
void setFaceSmoothness(bool iBool);
@@ -144,6 +147,8 @@ public:
void setModulesDir(const string& dir);
string getModulesDir() const;
+ bool hitViewMapCache();
+
void resetInterpreter();
public:
@@ -231,6 +236,7 @@ private:
string _help_index;
string _browser_cmd;
+ bool _EnableViewMapCache;
bool _EnableQI;
bool _EnableFaceSmoothness;
bool _ComputeRidges;
@@ -244,6 +250,9 @@ private:
FEdgeXDetector edgeDetector;
+ SceneHash sceneHashFunc;
+ real prevSceneHash;
+
#ifdef WITH_CXX_GUARDEDALLOC
MEM_CXX_CLASS_ALLOC_FUNCS("Freestyle:Controller")
#endif
diff --git a/source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp b/source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp
index 32f49d48ee7..4dd4598cc91 100644
--- a/source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp
+++ b/source/blender/freestyle/intern/blender_interface/FRS_freestyle.cpp
@@ -474,6 +474,9 @@ static void prepare(Main *bmain, Render *re, SceneRenderLayer *srl)
cout << " Z = " << (z ? "enabled" : "disabled") << endl;
}
+ if (controller->hitViewMapCache())
+ return;
+
// compute view map
re->i.infostr = "Freestyle: View map creation";
re->stats_draw(re->sdh, &re->i);
@@ -589,6 +592,7 @@ Render *FRS_do_stroke_rendering(Render *re, SceneRenderLayer *srl, int render)
RenderMonitor monitor(re);
controller->setRenderMonitor(&monitor);
+ controller->setViewMapCache((srl->freestyleConfig.flags & FREESTYLE_VIEW_MAP_CACHE) ? true : false);
if (G.debug & G_DEBUG_FREESTYLE) {
cout << endl;
@@ -647,6 +651,17 @@ void FRS_finish_stroke_rendering(Render *re)
controller->Clear();
}
+void FRS_free_view_map_cache(void)
+{
+ // free cache
+ controller->DeleteViewMap(true);
+#if 0
+ if (G.debug & G_DEBUG_FREESTYLE) {
+ printf("View map cache freed\n");
+ }
+#endif
+}
+
//=======================================================
// Freestyle Panel Configuration
//=======================================================
diff --git a/source/blender/freestyle/intern/python/BPy_FrsMaterial.cpp b/source/blender/freestyle/intern/python/BPy_FrsMaterial.cpp
index 15cc4c3a0b0..4d0d140474a 100644
--- a/source/blender/freestyle/intern/python/BPy_FrsMaterial.cpp
+++ b/source/blender/freestyle/intern/python/BPy_FrsMaterial.cpp
@@ -80,9 +80,9 @@ PyDoc_STRVAR(FrsMaterial_doc,
" :arg emission: The emissive color.\n"
" :type emission: :class:`mathutils.Vector`, list or tuple of 4 float values\n"
" :arg shininess: The shininess coefficient.\n"
-" :type shininess: :class:float\n"
+" :type shininess: float\n"
" :arg priority: The line color priority.\n"
-" :type priority: :class:int");
+" :type priority: int");
static int FrsMaterial_init(BPy_FrsMaterial *self, PyObject *args, PyObject *kwds)
{
@@ -311,7 +311,7 @@ void FrsMaterial_mathutils_register_callback()
PyDoc_STRVAR(FrsMaterial_line_doc,
"RGBA components of the line color of the material.\n"
"\n"
-":type: mathutils.Vector");
+":type: :class:`mathutils.Vector`");
static PyObject *FrsMaterial_line_get(BPy_FrsMaterial *self, void *UNUSED(closure))
{
@@ -333,7 +333,7 @@ static int FrsMaterial_line_set(BPy_FrsMaterial *self, PyObject *value, void *UN
PyDoc_STRVAR(FrsMaterial_diffuse_doc,
"RGBA components of the diffuse color of the material.\n"
"\n"
-":type: mathutils.Vector");
+":type: :class:`mathutils.Vector`");
static PyObject *FrsMaterial_diffuse_get(BPy_FrsMaterial *self, void *UNUSED(closure))
{
@@ -355,7 +355,7 @@ static int FrsMaterial_diffuse_set(BPy_FrsMaterial *self, PyObject *value, void
PyDoc_STRVAR(FrsMaterial_specular_doc,
"RGBA components of the specular color of the material.\n"
"\n"
-":type: mathutils.Vector");
+":type: :class:`mathutils.Vector`");
static PyObject *FrsMaterial_specular_get(BPy_FrsMaterial *self, void *UNUSED(closure))
{
@@ -377,7 +377,7 @@ static int FrsMaterial_specular_set(BPy_FrsMaterial *self, PyObject *value, void
PyDoc_STRVAR(FrsMaterial_ambient_doc,
"RGBA components of the ambient color of the material.\n"
"\n"
-":type: mathutils.Color");
+":type: :class:`mathutils.Color`");
static PyObject *FrsMaterial_ambient_get(BPy_FrsMaterial *self, void *UNUSED(closure))
{
@@ -399,7 +399,7 @@ static int FrsMaterial_ambient_set(BPy_FrsMaterial *self, PyObject *value, void
PyDoc_STRVAR(FrsMaterial_emission_doc,
"RGBA components of the emissive color of the material.\n"
"\n"
-":type: mathutils.Color");
+":type: :class:`mathutils.Color`");
static PyObject *FrsMaterial_emission_get(BPy_FrsMaterial *self, void *UNUSED(closure))
{
diff --git a/source/blender/freestyle/intern/python/BPy_Interface0D.cpp b/source/blender/freestyle/intern/python/BPy_Interface0D.cpp
index 9355c9cd677..8f23800fb7a 100644
--- a/source/blender/freestyle/intern/python/BPy_Interface0D.cpp
+++ b/source/blender/freestyle/intern/python/BPy_Interface0D.cpp
@@ -165,7 +165,7 @@ static PyObject *Interface0D_name_get(BPy_Interface0D *self, void *UNUSED(closur
PyDoc_STRVAR(Interface0D_point_3d_doc,
"The 3D point of this 0D element.\n"
"\n"
-":type: mathutils.Vector");
+":type: :class:`mathutils.Vector`");
static PyObject *Interface0D_point_3d_get(BPy_Interface0D *self, void *UNUSED(closure))
{
@@ -217,7 +217,7 @@ static PyObject *Interface0D_projected_z_get(BPy_Interface0D *self, void *UNUSED
PyDoc_STRVAR(Interface0D_point_2d_doc,
"The 2D point of this 0D element.\n"
"\n"
-":type: mathutils.Vector");
+":type: :class:`mathutils.Vector`");
static PyObject *Interface0D_point_2d_get(BPy_Interface0D *self, void *UNUSED(closure))
{
diff --git a/source/blender/freestyle/intern/python/BPy_Operators.cpp b/source/blender/freestyle/intern/python/BPy_Operators.cpp
index 123fbab7b30..d3cb44f5903 100644
--- a/source/blender/freestyle/intern/python/BPy_Operators.cpp
+++ b/source/blender/freestyle/intern/python/BPy_Operators.cpp
@@ -74,7 +74,7 @@ PyDoc_STRVAR(Operators_select_doc,
" condition.\n"
"\n"
" :arg pred: The predicate expressing this condition.\n"
-" :type pred: UnaryPredicate1D");
+" :type pred: :class:`UnaryPredicate1D`");
static PyObject *Operators_select(BPy_Operators *self, PyObject *args, PyObject *kwds)
{
@@ -372,7 +372,7 @@ PyDoc_STRVAR(Operators_recursive_split_doc,
" condition. This predicate is evaluated for each curve before it\n"
" actually gets split. If pred_1d(chain) is true, the curve won't be\n"
" split anymore.\n"
-" :type pred: :class:`UnaryPredicate1D`\n"
+" :type pred_1d: :class:`UnaryPredicate1D`\n"
" :arg sampling: The resolution used to sample the chain for the\n"
" predicates evaluation. (The chain is not actually resampled, a\n"
" virtual point only progresses along the curve using this\n"
@@ -404,7 +404,7 @@ PyDoc_STRVAR(Operators_recursive_split_doc,
" condition. This predicate is evaluated for each curve before it\n"
" actually gets split. If pred_1d(chain) is true, the curve won't be\n"
" split anymore.\n"
-" :type pred: :class:`UnaryPredicate1D`\n"
+" :type pred_1d: :class:`UnaryPredicate1D`\n"
" :arg sampling: The resolution used to sample the chain for the\n"
" predicates evaluation. (The chain is not actually resampled; a\n"
" virtual point only progresses along the curve using this\n"
@@ -484,7 +484,7 @@ PyDoc_STRVAR(Operators_sort_doc,
" comparison predicate given as argument.\n"
"\n"
" :arg pred: The binary predicate used for the comparison.\n"
-" :type pred: BinaryPredicate1D");
+" :type pred: :class:`BinaryPredicate1D`");
static PyObject *Operators_sort(BPy_Operators *self, PyObject *args, PyObject *kwds)
{
@@ -515,7 +515,7 @@ PyDoc_STRVAR(Operators_create_doc,
" transform as a stroke.\n"
" :type pred: :class:`UnaryPredicate1D`\n"
" :arg shaders: The list of shaders used to shade the strokes.\n"
-" :type shaders: List of StrokeShader objects");
+" :type shaders: list of :class:`StrokeShader` objects");
static PyObject *Operators_create(BPy_Operators *self, PyObject *args, PyObject *kwds)
{
@@ -548,6 +548,30 @@ static PyObject *Operators_create(BPy_Operators *self, PyObject *args, PyObject
Py_RETURN_NONE;
}
+PyDoc_STRVAR(Operators_reset_doc,
+".. staticmethod:: reset(delete_strokes=True)\n"
+"\n"
+" Resets the line stylization process to the initial state. The results of\n"
+" stroke creation are accumulated if **delete_strokes** is set to False.\n"
+"\n"
+" :arg delete_strokes: Delete the strokes that are currently stored.\n"
+" :type delete_strokes: bool\n");
+
+static PyObject *Operators_reset(BPy_Operators *self, PyObject *args, PyObject *kwds)
+{
+ static const char *kwlist[] = {"delete_strokes", NULL};
+ PyObject *obj1 = 0;
+ if (PyArg_ParseTupleAndKeywords(args, kwds, "|O!", (char **)kwlist, &PyBool_Type, &obj1)) {
+ // true is the default
+ Operators::reset(obj1 ? bool_from_PyBool(obj1) : true);
+ }
+ else {
+ PyErr_SetString(PyExc_RuntimeError, "Operators.reset() failed");
+ return NULL;
+ }
+ Py_RETURN_NONE;
+}
+
PyDoc_STRVAR(Operators_get_viewedge_from_index_doc,
".. staticmethod:: get_viewedge_from_index(i)\n"
"\n"
@@ -671,6 +695,7 @@ static PyMethodDef BPy_Operators_methods[] = {
Operators_recursive_split_doc},
{"sort", (PyCFunction) Operators_sort, METH_VARARGS | METH_KEYWORDS | METH_STATIC, Operators_sort_doc},
{"create", (PyCFunction) Operators_create, METH_VARARGS | METH_KEYWORDS | METH_STATIC, Operators_create_doc},
+ {"reset", (PyCFunction) Operators_reset, METH_VARARGS | METH_KEYWORDS | METH_STATIC, Operators_reset_doc},
{"get_viewedge_from_index", (PyCFunction) Operators_get_viewedge_from_index,
METH_VARARGS | METH_KEYWORDS | METH_STATIC, Operators_get_viewedge_from_index_doc},
{"get_chain_from_index", (PyCFunction) Operators_get_chain_from_index, METH_VARARGS | METH_KEYWORDS | METH_STATIC,
diff --git a/source/blender/freestyle/intern/python/BPy_StrokeAttribute.cpp b/source/blender/freestyle/intern/python/BPy_StrokeAttribute.cpp
index 22ffdedb3d9..43313ef5213 100644
--- a/source/blender/freestyle/intern/python/BPy_StrokeAttribute.cpp
+++ b/source/blender/freestyle/intern/python/BPy_StrokeAttribute.cpp
@@ -515,7 +515,7 @@ static int StrokeAttribute_alpha_set(BPy_StrokeAttribute *self, PyObject *value,
PyDoc_STRVAR(StrokeAttribute_color_doc,
"RGB components of the stroke color.\n"
"\n"
-":type: mathutils.Color");
+":type: :class:`mathutils.Color`");
static PyObject *StrokeAttribute_color_get(BPy_StrokeAttribute *self, void *UNUSED(closure))
{
@@ -539,7 +539,7 @@ PyDoc_STRVAR(StrokeAttribute_thickness_doc,
"The right (left) component is the thickness on the right (left) of the vertex\n"
"when following the stroke.\n"
"\n"
-":type: mathutils.Vector");
+":type: :class:`mathutils.Vector`");
static PyObject *StrokeAttribute_thickness_get(BPy_StrokeAttribute *self, void *UNUSED(closure))
{
diff --git a/source/blender/freestyle/intern/python/BinaryPredicate1D/BPy_FalseBP1D.cpp b/source/blender/freestyle/intern/python/BinaryPredicate1D/BPy_FalseBP1D.cpp
index 67cf28eb7cb..8fa87166c7d 100644
--- a/source/blender/freestyle/intern/python/BinaryPredicate1D/BPy_FalseBP1D.cpp
+++ b/source/blender/freestyle/intern/python/BinaryPredicate1D/BPy_FalseBP1D.cpp
@@ -33,16 +33,16 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char FalseBP1D___doc__[] =
-"Class hierarchy: :class:`BinaryPredicate1D` > :class:`FalseBP1D`\n"
+"Class hierarchy: :class:`freestyle.types.BinaryPredicate1D` > :class:`FalseBP1D`\n"
"\n"
".. method:: __call__(inter1, inter2)\n"
"\n"
" Always returns false.\n"
"\n"
" :arg inter1: The first Interface1D object.\n"
-" :type inter1: :class:`Interface1D`\n"
+" :type inter1: :class:`freestyle.types.Interface1D`\n"
" :arg inter2: The second Interface1D object.\n"
-" :type inter2: :class:`Interface1D`\n"
+" :type inter2: :class:`freestyle.types.Interface1D`\n"
" :return: False.\n"
" :rtype: bool\n";
diff --git a/source/blender/freestyle/intern/python/BinaryPredicate1D/BPy_Length2DBP1D.cpp b/source/blender/freestyle/intern/python/BinaryPredicate1D/BPy_Length2DBP1D.cpp
index 155cc29502b..8a0a4ded58d 100644
--- a/source/blender/freestyle/intern/python/BinaryPredicate1D/BPy_Length2DBP1D.cpp
+++ b/source/blender/freestyle/intern/python/BinaryPredicate1D/BPy_Length2DBP1D.cpp
@@ -33,7 +33,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char Length2DBP1D___doc__[] =
-"Class hierarchy: :class:`BinaryPredicate1D` > :class:`Length2DBP1D`\n"
+"Class hierarchy: :class:`freestyle.types.BinaryPredicate1D` > :class:`Length2DBP1D`\n"
"\n"
".. method:: __call__(inter1, inter2)\n"
"\n"
@@ -41,9 +41,9 @@ static char Length2DBP1D___doc__[] =
" of inter2.\n"
"\n"
" :arg inter1: The first Interface1D object.\n"
-" :type inter1: :class:`Interface1D`\n"
+" :type inter1: :class:`freestyle.types.Interface1D`\n"
" :arg inter2: The second Interface1D object.\n"
-" :type inter2: :class:`Interface1D`\n"
+" :type inter2: :class:`freestyle.types.Interface1D`\n"
" :return: True or false.\n"
" :rtype: bool\n";
diff --git a/source/blender/freestyle/intern/python/BinaryPredicate1D/BPy_SameShapeIdBP1D.cpp b/source/blender/freestyle/intern/python/BinaryPredicate1D/BPy_SameShapeIdBP1D.cpp
index 77147745389..b4a256e6f66 100644
--- a/source/blender/freestyle/intern/python/BinaryPredicate1D/BPy_SameShapeIdBP1D.cpp
+++ b/source/blender/freestyle/intern/python/BinaryPredicate1D/BPy_SameShapeIdBP1D.cpp
@@ -33,16 +33,16 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char SameShapeIdBP1D___doc__[] =
-"Class hierarchy: :class:`BinaryPredicate1D` > :class:`SameShapeIdBP1D`\n"
+"Class hierarchy: :class:`freestyle.types.BinaryPredicate1D` > :class:`SameShapeIdBP1D`\n"
"\n"
".. method:: __call__(inter1, inter2)\n"
"\n"
" Returns true if inter1 and inter2 belong to the same shape.\n"
"\n"
" :arg inter1: The first Interface1D object.\n"
-" :type inter1: :class:`Interface1D`\n"
+" :type inter1: :class:`freestyle.types.Interface1D`\n"
" :arg inter2: The second Interface1D object.\n"
-" :type inter2: :class:`Interface1D`\n"
+" :type inter2: :class:`freestyle.types.Interface1D`\n"
" :return: True or false.\n"
" :rtype: bool\n";
diff --git a/source/blender/freestyle/intern/python/BinaryPredicate1D/BPy_TrueBP1D.cpp b/source/blender/freestyle/intern/python/BinaryPredicate1D/BPy_TrueBP1D.cpp
index f7d702da28d..6306905b4aa 100644
--- a/source/blender/freestyle/intern/python/BinaryPredicate1D/BPy_TrueBP1D.cpp
+++ b/source/blender/freestyle/intern/python/BinaryPredicate1D/BPy_TrueBP1D.cpp
@@ -33,16 +33,16 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char TrueBP1D___doc__[] =
-"Class hierarchy: :class:`BinaryPredicate1D` > :class:`TrueBP1D`\n"
+"Class hierarchy: :class:`freestyle.types.BinaryPredicate1D` > :class:`TrueBP1D`\n"
"\n"
".. method:: __call__(inter1, inter2)\n"
"\n"
" Always returns true.\n"
"\n"
" :arg inter1: The first Interface1D object.\n"
-" :type inter1: :class:`Interface1D`\n"
+" :type inter1: :class:`freestyle.types.Interface1D`\n"
" :arg inter2: The second Interface1D object.\n"
-" :type inter2: :class:`Interface1D`\n"
+" :type inter2: :class:`freestyle.types.Interface1D`\n"
" :return: True.\n"
" :rtype: bool\n";
diff --git a/source/blender/freestyle/intern/python/BinaryPredicate1D/BPy_ViewMapGradientNormBP1D.cpp b/source/blender/freestyle/intern/python/BinaryPredicate1D/BPy_ViewMapGradientNormBP1D.cpp
index f029e434988..2072faa43ef 100644
--- a/source/blender/freestyle/intern/python/BinaryPredicate1D/BPy_ViewMapGradientNormBP1D.cpp
+++ b/source/blender/freestyle/intern/python/BinaryPredicate1D/BPy_ViewMapGradientNormBP1D.cpp
@@ -38,7 +38,7 @@ extern "C" {
//ViewMapGradientNormBP1D(int level, IntegrationType iType=MEAN, float sampling=2.0)
static char ViewMapGradientNormBP1D___doc__[] =
-"Class hierarchy: :class:`BinaryPredicate1D` > :class:`ViewMapGradientNormBP1D`\n"
+"Class hierarchy: :class:`freestyle.types.BinaryPredicate1D` > :class:`ViewMapGradientNormBP1D`\n"
"\n"
".. method:: __init__(level, integration_type=IntegrationType.MEAN, sampling=2.0)\n"
"\n"
@@ -49,7 +49,7 @@ static char ViewMapGradientNormBP1D___doc__[] =
" :type level: int\n"
" :arg integration_type: The integration method used to compute a single value\n"
" from a set of values.\n"
-" :type integration_type: :class:`IntegrationType`\n"
+" :type integration_type: :class:`freestyle.types.IntegrationType`\n"
" :arg sampling: The resolution used to sample the chain:\n"
" GetViewMapGradientNormF0D is evaluated at each sample point and\n"
" the result is obtained by combining the resulting values into a\n"
@@ -62,9 +62,9 @@ static char ViewMapGradientNormBP1D___doc__[] =
" higher for inter1 than for inter2.\n"
"\n"
" :arg inter1: The first Interface1D object.\n"
-" :type inter1: :class:`Interface1D`\n"
+" :type inter1: :class:`freestyle.types.Interface1D`\n"
" :arg inter2: The second Interface1D object.\n"
-" :type inter2: :class:`Interface1D`\n"
+" :type inter2: :class:`freestyle.types.Interface1D`\n"
" :return: True or false.\n"
" :rtype: bool\n";
diff --git a/source/blender/freestyle/intern/python/Interface0D/CurvePoint/BPy_StrokeVertex.cpp b/source/blender/freestyle/intern/python/Interface0D/CurvePoint/BPy_StrokeVertex.cpp
index 65d80283fca..ae4fe0764b6 100644
--- a/source/blender/freestyle/intern/python/Interface0D/CurvePoint/BPy_StrokeVertex.cpp
+++ b/source/blender/freestyle/intern/python/Interface0D/CurvePoint/BPy_StrokeVertex.cpp
@@ -226,7 +226,7 @@ void StrokeVertex_mathutils_register_callback()
PyDoc_STRVAR(StrokeVertex_attribute_doc,
"StrokeAttribute for this StrokeVertex.\n"
"\n"
-":type: StrokeAttribute");
+":type: :class:`StrokeAttribute`");
static PyObject *StrokeVertex_attribute_get(BPy_StrokeVertex *self, void *UNUSED(closure))
{
@@ -267,7 +267,7 @@ static int StrokeVertex_curvilinear_abscissa_set(BPy_StrokeVertex *self, PyObjec
PyDoc_STRVAR(StrokeVertex_point_doc,
"2D point coordinates.\n"
"\n"
-":type: mathutils.Vector");
+":type: :class:`mathutils.Vector`");
static PyObject *StrokeVertex_point_get(BPy_StrokeVertex *self, void *UNUSED(closure))
{
diff --git a/source/blender/freestyle/intern/python/Iterator/BPy_ChainPredicateIterator.cpp b/source/blender/freestyle/intern/python/Iterator/BPy_ChainPredicateIterator.cpp
index 99ac72db028..6e253b7bf5d 100644
--- a/source/blender/freestyle/intern/python/Iterator/BPy_ChainPredicateIterator.cpp
+++ b/source/blender/freestyle/intern/python/Iterator/BPy_ChainPredicateIterator.cpp
@@ -38,7 +38,10 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
PyDoc_STRVAR(ChainPredicateIterator_doc,
-"Class hierarchy: :class:`Iterator` > :class:`ViewEdgeIterator` > :class:`ChainingIterator` > "
+
+"Class hierarchy: :class:`freestyle.types.Iterator` >\n"
+":class:`freestyle.types.ViewEdgeIterator` >\n"
+":class:`freestyle.types.ChainingIterator` >\n"
":class:`ChainPredicateIterator`\n"
"\n"
"A \"generic\" user-controlled ViewEdge iterator. This iterator is in\n"
@@ -63,7 +66,7 @@ PyDoc_STRVAR(ChainPredicateIterator_doc,
" already been chained must be ignored ot not.\n"
" :type restrict_to_unvisited: bool\n"
" :arg begin: The ViewEdge from where to start the iteration.\n"
-" :type begin: :class:`ViewEdge` or None\n"
+" :type begin: :class:`freestyle.types.ViewEdge` or None\n"
" :arg orientation: If true, we'll look for the next ViewEdge among\n"
" the ViewEdges that surround the ending ViewVertex of begin. If\n"
" false, we'll search over the ViewEdges surrounding the ending\n"
@@ -77,10 +80,10 @@ PyDoc_STRVAR(ChainPredicateIterator_doc,
" predicate, a starting ViewEdge and its orientation.\n"
"\n"
" :arg upred: The unary predicate that the next ViewEdge must satisfy.\n"
-" :type upred: :class:`UnaryPredicate1D`\n"
+" :type upred: :class:`freestyle.types.UnaryPredicate1D`\n"
" :arg bpred: The binary predicate that the next ViewEdge must\n"
" satisfy together with the actual pointed ViewEdge.\n"
-" :type bpred: :class:`BinaryPredicate1D`\n"
+" :type bpred: :class:`freestyle.types.BinaryPredicate1D`\n"
" :arg restrict_to_selection: Indicates whether to force the chaining\n"
" to stay within the set of selected ViewEdges or not.\n"
" :type restrict_to_selection: bool\n"
@@ -88,7 +91,7 @@ PyDoc_STRVAR(ChainPredicateIterator_doc,
" already been chained must be ignored ot not.\n"
" :type restrict_to_unvisited: bool\n"
" :arg begin: The ViewEdge from where to start the iteration.\n"
-" :type begin: :class:`ViewEdge` or None\n"
+" :type begin: :class:`freestyle.types.ViewEdge` or None\n"
" :arg orientation: If true, we'll look for the next ViewEdge among\n"
" the ViewEdges that surround the ending ViewVertex of begin. If\n"
" false, we'll search over the ViewEdges surrounding the ending\n"
diff --git a/source/blender/freestyle/intern/python/Iterator/BPy_ChainSilhouetteIterator.cpp b/source/blender/freestyle/intern/python/Iterator/BPy_ChainSilhouetteIterator.cpp
index 1a082ac93bb..08cfffec860 100644
--- a/source/blender/freestyle/intern/python/Iterator/BPy_ChainSilhouetteIterator.cpp
+++ b/source/blender/freestyle/intern/python/Iterator/BPy_ChainSilhouetteIterator.cpp
@@ -39,7 +39,9 @@ extern "C" {
// ChainSilhouetteIterator (const ChainSilhouetteIterator &brother)
PyDoc_STRVAR(ChainSilhouetteIterator_doc,
-"Class hierarchy: :class:`Iterator` > :class:`ViewEdgeIterator` > :class:`ChainingIterator` > "
+"Class hierarchy: :class:`freestyle.types.Iterator` >\n"
+":class:`freestyle.types.ViewEdgeIterator` >\n"
+":class:`freestyle.types.ChainingIterator` >\n"
":class:`ChainSilhouetteIterator`\n"
"\n"
"A ViewEdge Iterator used to follow ViewEdges the most naturally. For\n"
@@ -58,7 +60,7 @@ PyDoc_STRVAR(ChainSilhouetteIterator_doc,
" to stay within the set of selected ViewEdges or not.\n"
" :type restrict_to_selection: bool\n"
" :arg begin: The ViewEdge from where to start the iteration.\n"
-" :type begin: :class:`ViewEdge` or None\n"
+" :type begin: :class:`freestyle.types.ViewEdge` or None\n"
" :arg orientation: If true, we'll look for the next ViewEdge among\n"
" the ViewEdges that surround the ending ViewVertex of begin. If\n"
" false, we'll search over the ViewEdges surrounding the ending\n"
diff --git a/source/blender/freestyle/intern/python/Iterator/BPy_Interface0DIterator.cpp b/source/blender/freestyle/intern/python/Iterator/BPy_Interface0DIterator.cpp
index fca4c979bbb..c972db1e680 100644
--- a/source/blender/freestyle/intern/python/Iterator/BPy_Interface0DIterator.cpp
+++ b/source/blender/freestyle/intern/python/Iterator/BPy_Interface0DIterator.cpp
@@ -138,8 +138,8 @@ static PyObject *Interface0DIterator_iternext(BPy_Interface0DIterator *self)
PyDoc_STRVAR(Interface0DIterator_object_doc,
"The 0D object currently pointed to by this iterator. Note that the object\n"
"may be an instance of an Interface0D subclass. For example if the iterator\n"
-"has been created from :method:`Stroke.vertices_begin`, the .object property\n"
-"refers to a :class:`StrokeVertex` object.\n"
+"has been created from the `vertices_begin()` method of the :class:`Stroke`\n"
+"class, the .object property refers to a :class:`StrokeVertex` object.\n"
"\n"
":type: :class:`Interface0D` or one of its subclasses.");
diff --git a/source/blender/freestyle/intern/python/StrokeShader/BPy_BackboneStretcherShader.cpp b/source/blender/freestyle/intern/python/StrokeShader/BPy_BackboneStretcherShader.cpp
index 045377e747e..26b83791585 100644
--- a/source/blender/freestyle/intern/python/StrokeShader/BPy_BackboneStretcherShader.cpp
+++ b/source/blender/freestyle/intern/python/StrokeShader/BPy_BackboneStretcherShader.cpp
@@ -35,7 +35,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char BackboneStretcherShader___doc__[] =
-"Class hierarchy: :class:`StrokeShader` > :class:`BackboneStretcherShader`\n"
+"Class hierarchy: :class:`freestyle.types.StrokeShader` > :class:`BackboneStretcherShader`\n"
"\n"
"[Geometry shader]\n"
"\n"
@@ -52,7 +52,7 @@ static char BackboneStretcherShader___doc__[] =
" respective directions: v(1)v(0) and v(n-1)v(n).\n"
"\n"
" :arg stroke: A Stroke object.\n"
-" :type stroke: :class:`Stroke`\n";
+" :type stroke: :class:`freestyle.types.Stroke`\n";
static int BackboneStretcherShader___init__(BPy_BackboneStretcherShader *self, PyObject *args, PyObject *kwds)
{
diff --git a/source/blender/freestyle/intern/python/StrokeShader/BPy_BezierCurveShader.cpp b/source/blender/freestyle/intern/python/StrokeShader/BPy_BezierCurveShader.cpp
index 002d6798df9..df076e0453a 100644
--- a/source/blender/freestyle/intern/python/StrokeShader/BPy_BezierCurveShader.cpp
+++ b/source/blender/freestyle/intern/python/StrokeShader/BPy_BezierCurveShader.cpp
@@ -35,7 +35,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char BezierCurveShader___doc__[] =
-"Class hierarchy: :class:`StrokeShader` > :class:`BezierCurveShader`\n"
+"Class hierarchy: :class:`freestyle.types.StrokeShader` > :class:`BezierCurveShader`\n"
"\n"
"[Geometry shader]\n"
"\n"
@@ -54,7 +54,7 @@ static char BezierCurveShader___doc__[] =
" Bezier Curve approximation of the original backbone geometry.\n"
"\n"
" :arg stroke: A Stroke object.\n"
-" :type stroke: :class:`Stroke`\n";
+" :type stroke: :class:`freestyle.types.Stroke`\n";
static int BezierCurveShader___init__(BPy_BezierCurveShader *self, PyObject *args, PyObject *kwds)
{
diff --git a/source/blender/freestyle/intern/python/StrokeShader/BPy_BlenderTextureShader.cpp b/source/blender/freestyle/intern/python/StrokeShader/BPy_BlenderTextureShader.cpp
index 379fb7e1b12..0e603e00f97 100644
--- a/source/blender/freestyle/intern/python/StrokeShader/BPy_BlenderTextureShader.cpp
+++ b/source/blender/freestyle/intern/python/StrokeShader/BPy_BlenderTextureShader.cpp
@@ -37,7 +37,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char BlenderTextureShader___doc__[] =
-"Class hierarchy: :class:`StrokeShader` > :class:`BlenderTextureShader`\n"
+"Class hierarchy: :class:`freestyle.types.StrokeShader` > :class:`BlenderTextureShader`\n"
"\n"
"[Texture shader]\n"
"\n"
@@ -47,7 +47,8 @@ static char BlenderTextureShader___doc__[] =
"\n"
" :arg texture: A line style texture slot or a shader node tree to define\n"
" a set of textures.\n"
-" :type texture: :class:`LineStyleTextureSlot` or :class:`ShaderNodeTree`\n"
+" :type texture: :class:`bpy.types.LineStyleTextureSlot` or\n"
+" :class:`bpy.types.ShaderNodeTree`\n"
"\n"
".. method:: shade(stroke)\n"
"\n"
@@ -55,7 +56,7 @@ static char BlenderTextureShader___doc__[] =
" simulate marks.\n"
"\n"
" :arg stroke: A Stroke object.\n"
-" :type stroke: :class:`Stroke`\n";
+" :type stroke: :class:`freestyle.types.Stroke`\n";
static int BlenderTextureShader___init__(BPy_BlenderTextureShader *self, PyObject *args, PyObject *kwds)
{
diff --git a/source/blender/freestyle/intern/python/StrokeShader/BPy_CalligraphicShader.cpp b/source/blender/freestyle/intern/python/StrokeShader/BPy_CalligraphicShader.cpp
index 6b0c1424d61..fb85ee5a792 100644
--- a/source/blender/freestyle/intern/python/StrokeShader/BPy_CalligraphicShader.cpp
+++ b/source/blender/freestyle/intern/python/StrokeShader/BPy_CalligraphicShader.cpp
@@ -36,7 +36,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char CalligraphicShader___doc__[] =
-"Class hierarchy: :class:`StrokeShader` > :class:`CalligraphicShader`\n"
+"Class hierarchy: :class:`freestyle.types.StrokeShader` > :class:`CalligraphicShader`\n"
"\n"
"[Thickness Shader]\n"
"\n"
@@ -65,7 +65,7 @@ static char CalligraphicShader___doc__[] =
" perpendicular to this one, and an interpolation inbetween.\n"
"\n"
" :arg stroke: A Stroke object.\n"
-" :type stroke: :class:`Stroke`\n";
+" :type stroke: :class:`freestyle.types.Stroke`\n";
static int CalligraphicShader___init__(BPy_CalligraphicShader *self, PyObject *args, PyObject *kwds)
{
diff --git a/source/blender/freestyle/intern/python/StrokeShader/BPy_ColorNoiseShader.cpp b/source/blender/freestyle/intern/python/StrokeShader/BPy_ColorNoiseShader.cpp
index f3b9167de09..c4ed45ec820 100644
--- a/source/blender/freestyle/intern/python/StrokeShader/BPy_ColorNoiseShader.cpp
+++ b/source/blender/freestyle/intern/python/StrokeShader/BPy_ColorNoiseShader.cpp
@@ -35,7 +35,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char ColorNoiseShader___doc__[] =
-"Class hierarchy: :class:`StrokeShader` > :class:`ColorNoiseShader`\n"
+"Class hierarchy: :class:`freestyle.types.StrokeShader` > :class:`ColorNoiseShader`\n"
"\n"
"[Color shader]\n"
"\n"
@@ -53,7 +53,7 @@ static char ColorNoiseShader___doc__[] =
" Shader to add noise to the stroke colors.\n"
"\n"
" :arg stroke: A Stroke object.\n"
-" :type stroke: :class:`Stroke`\n";
+" :type stroke: :class:`freestyle.types.Stroke`\n";
static int ColorNoiseShader___init__(BPy_ColorNoiseShader *self, PyObject *args, PyObject *kwds)
{
diff --git a/source/blender/freestyle/intern/python/StrokeShader/BPy_ColorVariationPatternShader.cpp b/source/blender/freestyle/intern/python/StrokeShader/BPy_ColorVariationPatternShader.cpp
index 183edd1f6a0..173e00b0ed8 100644
--- a/source/blender/freestyle/intern/python/StrokeShader/BPy_ColorVariationPatternShader.cpp
+++ b/source/blender/freestyle/intern/python/StrokeShader/BPy_ColorVariationPatternShader.cpp
@@ -36,7 +36,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char ColorVariationPatternShader___doc__[] =
-"Class hierarchy: :class:`StrokeShader` > :class:`ColorVariationPatternShader`\n"
+"Class hierarchy: :class:`freestyle.types.StrokeShader` > :class:`ColorVariationPatternShader`\n"
"\n"
"[Color shader]\n"
"\n"
@@ -57,7 +57,7 @@ static char ColorVariationPatternShader___doc__[] =
" result of the multiplication of the pattern and the original color.\n"
"\n"
" :arg stroke: A Stroke object.\n"
-" :type stroke: :class:`Stroke`\n";
+" :type stroke: :class:`freestyle.types.Stroke`\n";
static int ColorVariationPatternShader___init__(BPy_ColorVariationPatternShader *self, PyObject *args, PyObject *kwds)
{
diff --git a/source/blender/freestyle/intern/python/StrokeShader/BPy_ConstantColorShader.cpp b/source/blender/freestyle/intern/python/StrokeShader/BPy_ConstantColorShader.cpp
index b5607f7a7b4..6607d5798f4 100644
--- a/source/blender/freestyle/intern/python/StrokeShader/BPy_ConstantColorShader.cpp
+++ b/source/blender/freestyle/intern/python/StrokeShader/BPy_ConstantColorShader.cpp
@@ -35,7 +35,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char ConstantColorShader___doc__[] =
-"Class hierarchy: :class:`StrokeShader` > :class:`ConstantColorShader`\n"
+"Class hierarchy: :class:`freestyle.types.StrokeShader` > :class:`ConstantColorShader`\n"
"\n"
"[Color shader]\n"
"\n"
@@ -57,7 +57,7 @@ static char ConstantColorShader___doc__[] =
" Assigns a constant color to every vertex of the Stroke.\n"
"\n"
" :arg stroke: A Stroke object.\n"
-" :type stroke: :class:`Stroke`\n";
+" :type stroke: :class:`freestyle.types.Stroke`\n";
static int ConstantColorShader___init__(BPy_ConstantColorShader *self, PyObject *args, PyObject *kwds)
{
diff --git a/source/blender/freestyle/intern/python/StrokeShader/BPy_ConstantThicknessShader.cpp b/source/blender/freestyle/intern/python/StrokeShader/BPy_ConstantThicknessShader.cpp
index 6bc348dd7c5..c8cc41303d8 100644
--- a/source/blender/freestyle/intern/python/StrokeShader/BPy_ConstantThicknessShader.cpp
+++ b/source/blender/freestyle/intern/python/StrokeShader/BPy_ConstantThicknessShader.cpp
@@ -35,7 +35,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char ConstantThicknessShader___doc__[] =
-"Class hierarchy: :class:`StrokeShader` > :class:`ConstantThicknessShader`\n"
+"Class hierarchy: :class:`freestyle.types.StrokeShader` > :class:`ConstantThicknessShader`\n"
"\n"
"[Thickness shader]\n"
"\n"
@@ -51,7 +51,7 @@ static char ConstantThicknessShader___doc__[] =
" Assigns an absolute constant thickness to every vertex of the Stroke.\n"
"\n"
" :arg stroke: A Stroke object.\n"
-" :type stroke: :class:`Stroke`\n";
+" :type stroke: :class:`freestyle.types.Stroke`\n";
static int ConstantThicknessShader___init__(BPy_ConstantThicknessShader *self, PyObject *args, PyObject *kwds)
{
diff --git a/source/blender/freestyle/intern/python/StrokeShader/BPy_ConstrainedIncreasingThicknessShader.cpp b/source/blender/freestyle/intern/python/StrokeShader/BPy_ConstrainedIncreasingThicknessShader.cpp
index 119ba84abd3..6e1886398b6 100644
--- a/source/blender/freestyle/intern/python/StrokeShader/BPy_ConstrainedIncreasingThicknessShader.cpp
+++ b/source/blender/freestyle/intern/python/StrokeShader/BPy_ConstrainedIncreasingThicknessShader.cpp
@@ -35,7 +35,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char ConstrainedIncreasingThicknessShader___doc__[] =
-"Class hierarchy: :class:`StrokeShader` > :class:`ConstrainedIncreasingThicknessShader`\n"
+"Class hierarchy: :class:`freestyle.types.StrokeShader` > :class:`ConstrainedIncreasingThicknessShader`\n"
"\n"
"[Thickness shader]\n"
"\n"
@@ -57,7 +57,7 @@ static char ConstrainedIncreasingThicknessShader___doc__[] =
" fat short lines.\n"
"\n"
" :arg stroke: A Stroke object.\n"
-" :type stroke: :class:`Stroke`\n";
+" :type stroke: :class:`freestyle.types.Stroke`\n";
static int ConstrainedIncreasingThicknessShader___init__(BPy_ConstrainedIncreasingThicknessShader *self,
PyObject *args, PyObject *kwds)
diff --git a/source/blender/freestyle/intern/python/StrokeShader/BPy_GuidingLinesShader.cpp b/source/blender/freestyle/intern/python/StrokeShader/BPy_GuidingLinesShader.cpp
index e2a9a99a392..0c9b26fa434 100644
--- a/source/blender/freestyle/intern/python/StrokeShader/BPy_GuidingLinesShader.cpp
+++ b/source/blender/freestyle/intern/python/StrokeShader/BPy_GuidingLinesShader.cpp
@@ -35,7 +35,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char GuidingLinesShader___doc__[] =
-"Class hierarchy: :class:`StrokeShader` > :class:`GuidingLinesShader`\n"
+"Class hierarchy: :class:`freestyle.types.StrokeShader` > :class:`GuidingLinesShader`\n"
"\n"
"[Geometry shader]\n"
"\n"
@@ -59,7 +59,7 @@ static char GuidingLinesShader___doc__[] =
" approximation is.\n"
"\n"
" :arg stroke: A Stroke object.\n"
-" :type stroke: :class:`Stroke`\n";
+" :type stroke: :class:`freestyle.types.Stroke`\n";
static int GuidingLinesShader___init__(BPy_GuidingLinesShader *self, PyObject *args, PyObject *kwds)
{
diff --git a/source/blender/freestyle/intern/python/StrokeShader/BPy_IncreasingColorShader.cpp b/source/blender/freestyle/intern/python/StrokeShader/BPy_IncreasingColorShader.cpp
index cec0aeba58c..1ed98d62dd9 100644
--- a/source/blender/freestyle/intern/python/StrokeShader/BPy_IncreasingColorShader.cpp
+++ b/source/blender/freestyle/intern/python/StrokeShader/BPy_IncreasingColorShader.cpp
@@ -35,7 +35,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char IncreasingColorShader___doc__[] =
-"Class hierarchy: :class:`StrokeShader` > :class:`IncreasingColorShader`\n"
+"Class hierarchy: :class:`freestyle.types.StrokeShader` > :class:`IncreasingColorShader`\n"
"\n"
"[Color shader]\n"
"\n"
@@ -67,7 +67,7 @@ static char IncreasingColorShader___doc__[] =
" between the first and the last vertex.\n"
"\n"
" :arg stroke: A Stroke object.\n"
-" :type stroke: :class:`Stroke`\n";
+" :type stroke: :class:`freestyle.types.Stroke`\n";
static int IncreasingColorShader___init__(BPy_IncreasingColorShader *self, PyObject *args, PyObject *kwds)
{
diff --git a/source/blender/freestyle/intern/python/StrokeShader/BPy_IncreasingThicknessShader.cpp b/source/blender/freestyle/intern/python/StrokeShader/BPy_IncreasingThicknessShader.cpp
index ef84b9d6fd3..c9c38a9b70a 100644
--- a/source/blender/freestyle/intern/python/StrokeShader/BPy_IncreasingThicknessShader.cpp
+++ b/source/blender/freestyle/intern/python/StrokeShader/BPy_IncreasingThicknessShader.cpp
@@ -35,7 +35,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char IncreasingThicknessShader___doc__[] =
-"Class hierarchy: :class:`StrokeShader` > :class:`IncreasingThicknessShader`\n"
+"Class hierarchy: :class:`freestyle.types.StrokeShader` > :class:`IncreasingThicknessShader`\n"
"\n"
"[Thickness shader]\n"
"\n"
@@ -57,7 +57,7 @@ static char IncreasingThicknessShader___doc__[] =
" linearly interpolated from A to B.\n"
"\n"
" :arg stroke: A Stroke object.\n"
-" :type stroke: :class:`Stroke`\n";
+" :type stroke: :class:`freestyle.types.Stroke`\n";
static int IncreasingThicknessShader___init__(BPy_IncreasingThicknessShader *self, PyObject *args, PyObject *kwds)
{
diff --git a/source/blender/freestyle/intern/python/StrokeShader/BPy_PolygonalizationShader.cpp b/source/blender/freestyle/intern/python/StrokeShader/BPy_PolygonalizationShader.cpp
index f405162a918..f5df1ed929f 100644
--- a/source/blender/freestyle/intern/python/StrokeShader/BPy_PolygonalizationShader.cpp
+++ b/source/blender/freestyle/intern/python/StrokeShader/BPy_PolygonalizationShader.cpp
@@ -35,7 +35,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char PolygonalizationShader___doc__[] =
-"Class hierarchy: :class:`StrokeShader` > :class:`PolygonalizationShader`\n"
+"Class hierarchy: :class:`freestyle.types.StrokeShader` > :class:`PolygonalizationShader`\n"
"\n"
"[Geometry shader]\n"
"\n"
@@ -58,7 +58,7 @@ static char PolygonalizationShader___doc__[] =
" error is reached.\n"
"\n"
" :arg stroke: A Stroke object.\n"
-" :type stroke: :class:`Stroke`\n";
+" :type stroke: :class:`freestyle.types.Stroke`\n";
static int PolygonalizationShader___init__(BPy_PolygonalizationShader *self, PyObject *args, PyObject *kwds)
{
diff --git a/source/blender/freestyle/intern/python/StrokeShader/BPy_SamplingShader.cpp b/source/blender/freestyle/intern/python/StrokeShader/BPy_SamplingShader.cpp
index 94e95362ce7..2fa7b00a3b7 100644
--- a/source/blender/freestyle/intern/python/StrokeShader/BPy_SamplingShader.cpp
+++ b/source/blender/freestyle/intern/python/StrokeShader/BPy_SamplingShader.cpp
@@ -35,7 +35,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char SamplingShader___doc__[] =
-"Class hierarchy: :class:`StrokeShader` > :class:`SamplingShader`\n"
+"Class hierarchy: :class:`freestyle.types.StrokeShader` > :class:`SamplingShader`\n"
"\n"
"[Geometry shader]\n"
"\n"
@@ -51,7 +51,7 @@ static char SamplingShader___doc__[] =
" Resamples the stroke.\n"
"\n"
" :arg stroke: A Stroke object.\n"
-" :type stroke: :class:`Stroke`\n";
+" :type stroke: :class:`freestyle.types.Stroke`\n";
static int SamplingShader___init__(BPy_SamplingShader *self, PyObject *args, PyObject *kwds)
{
diff --git a/source/blender/freestyle/intern/python/StrokeShader/BPy_SmoothingShader.cpp b/source/blender/freestyle/intern/python/StrokeShader/BPy_SmoothingShader.cpp
index ca69561d8e0..750dc6b9eb1 100644
--- a/source/blender/freestyle/intern/python/StrokeShader/BPy_SmoothingShader.cpp
+++ b/source/blender/freestyle/intern/python/StrokeShader/BPy_SmoothingShader.cpp
@@ -35,7 +35,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char SmoothingShader___doc__[] =
-"Class hierarchy: :class:`StrokeShader` > :class:`SmoothingShader`\n"
+"Class hierarchy: :class:`freestyle.types.StrokeShader` > :class:`SmoothingShader`\n"
"\n"
"[Geometry shader]\n"
"\n"
@@ -71,7 +71,7 @@ static char SmoothingShader___doc__[] =
" prevent the diffusion across corners.\n"
"\n"
" :arg stroke: A Stroke object.\n"
-" :type stroke: :class:`Stroke`\n";
+" :type stroke: :class:`freestyle.types.Stroke`\n";
static int SmoothingShader___init__(BPy_SmoothingShader *self, PyObject *args, PyObject *kwds)
{
diff --git a/source/blender/freestyle/intern/python/StrokeShader/BPy_SpatialNoiseShader.cpp b/source/blender/freestyle/intern/python/StrokeShader/BPy_SpatialNoiseShader.cpp
index ae96400de8f..b28c3bd0f96 100644
--- a/source/blender/freestyle/intern/python/StrokeShader/BPy_SpatialNoiseShader.cpp
+++ b/source/blender/freestyle/intern/python/StrokeShader/BPy_SpatialNoiseShader.cpp
@@ -36,7 +36,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char SpatialNoiseShader___doc__[] =
-"Class hierarchy: :class:`StrokeShader` > :class:`SpatialNoiseShader`\n"
+"Class hierarchy: :class:`freestyle.types.StrokeShader` > :class:`SpatialNoiseShader`\n"
"\n"
"[Geometry shader]\n"
"\n"
@@ -61,7 +61,7 @@ static char SpatialNoiseShader___doc__[] =
" more noisy.\n"
"\n"
" :arg stroke: A Stroke object.\n"
-" :type stroke: :class:`Stroke`\n";
+" :type stroke: :class:`freestyle.types.Stroke`\n";
static int SpatialNoiseShader___init__(BPy_SpatialNoiseShader *self, PyObject *args, PyObject *kwds)
{
diff --git a/source/blender/freestyle/intern/python/StrokeShader/BPy_StrokeTextureShader.cpp b/source/blender/freestyle/intern/python/StrokeShader/BPy_StrokeTextureShader.cpp
index 5522dd46f0a..db2807addc4 100644
--- a/source/blender/freestyle/intern/python/StrokeShader/BPy_StrokeTextureShader.cpp
+++ b/source/blender/freestyle/intern/python/StrokeShader/BPy_StrokeTextureShader.cpp
@@ -37,7 +37,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char StrokeTextureShader___doc__[] =
-"Class hierarchy: :class:`StrokeShader` > :class:`StrokeTextureShader`\n"
+"Class hierarchy: :class:`freestyle.types.StrokeShader` > :class:`StrokeTextureShader`\n"
"\n"
"[Texture shader]\n"
"\n"
@@ -49,7 +49,7 @@ static char StrokeTextureShader___doc__[] =
" :type texture_file: str\n"
" :arg medium_type: The medium type and therefore, the blending mode\n"
" that must be used for the rendering of this stroke.\n"
-" :type medium_type: :class:`MediumType`\n"
+" :type medium_type: :class:`freestyle.types.MediumType`\n"
" :arg tips: Tells whether the texture includes tips or not. If it\n"
" is the case, the texture image must respect the following format.\n"
" :type tips: bool\n"
@@ -74,7 +74,7 @@ static char StrokeTextureShader___doc__[] =
" simulate its marks system.\n"
"\n"
" :arg stroke: A Stroke object.\n"
-" :type stroke: :class:`Stroke`\n";
+" :type stroke: :class:`freestyle.types.Stroke`\n";
static int StrokeTextureShader___init__(BPy_StrokeTextureShader *self, PyObject *args, PyObject *kwds)
{
diff --git a/source/blender/freestyle/intern/python/StrokeShader/BPy_StrokeTextureStepShader.cpp b/source/blender/freestyle/intern/python/StrokeShader/BPy_StrokeTextureStepShader.cpp
index 5a7657f2dad..33962f8e41a 100644
--- a/source/blender/freestyle/intern/python/StrokeShader/BPy_StrokeTextureStepShader.cpp
+++ b/source/blender/freestyle/intern/python/StrokeShader/BPy_StrokeTextureStepShader.cpp
@@ -35,7 +35,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char StrokeTextureStepShader___doc__[] =
-"Class hierarchy: :class:`StrokeShader` > :class:`StrokeTextureStepShader`\n"
+"Class hierarchy: :class:`freestyle.types.StrokeShader` > :class:`StrokeTextureStepShader`\n"
"\n"
"[Texture shader]\n"
"\n"
@@ -51,7 +51,7 @@ static char StrokeTextureStepShader___doc__[] =
" Assigns a spacing factor to the texture coordinates of the Stroke.\n"
"\n"
" :arg stroke: A Stroke object.\n"
-" :type stroke: :class:`Stroke`\n";
+" :type stroke: :class:`freestyle.types.Stroke`\n";
static int StrokeTextureStepShader___init__(BPy_StrokeTextureStepShader *self, PyObject *args, PyObject *kwds)
{
diff --git a/source/blender/freestyle/intern/python/StrokeShader/BPy_TextureAssignerShader.cpp b/source/blender/freestyle/intern/python/StrokeShader/BPy_TextureAssignerShader.cpp
index 11bac684cf0..78a07cb6c38 100644
--- a/source/blender/freestyle/intern/python/StrokeShader/BPy_TextureAssignerShader.cpp
+++ b/source/blender/freestyle/intern/python/StrokeShader/BPy_TextureAssignerShader.cpp
@@ -35,7 +35,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char TextureAssignerShader___doc__[] =
-"Class hierarchy: :class:`StrokeShader` > :class:`TextureAssignerShader`\n"
+"Class hierarchy: :class:`freestyle.types.StrokeShader` > :class:`TextureAssignerShader`\n"
"\n"
"[Texture shader]\n"
"\n"
@@ -67,7 +67,7 @@ static char TextureAssignerShader___doc__[] =
" * Default: `/brushes/smoothAlpha.bmp`, `Stroke.OPAQUE_MEDIUM`\n"
"\n"
" :arg stroke: A Stroke object.\n"
-" :type stroke: :class:`Stroke`\n";
+" :type stroke: :class:`freestyle.types.Stroke`\n";
static int TextureAssignerShader___init__(BPy_TextureAssignerShader *self, PyObject *args, PyObject *kwds)
{
diff --git a/source/blender/freestyle/intern/python/StrokeShader/BPy_ThicknessNoiseShader.cpp b/source/blender/freestyle/intern/python/StrokeShader/BPy_ThicknessNoiseShader.cpp
index 655a5c8fe98..acd4f4172fb 100644
--- a/source/blender/freestyle/intern/python/StrokeShader/BPy_ThicknessNoiseShader.cpp
+++ b/source/blender/freestyle/intern/python/StrokeShader/BPy_ThicknessNoiseShader.cpp
@@ -35,7 +35,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char ThicknessNoiseShader___doc__[] =
-"Class hierarchy: :class:`StrokeShader` > :class:`ThicknessNoiseShader`\n"
+"Class hierarchy: :class:`freestyle.types.StrokeShader` > :class:`ThicknessNoiseShader`\n"
"\n"
"[Thickness shader]\n"
"\n"
@@ -53,7 +53,7 @@ static char ThicknessNoiseShader___doc__[] =
" Adds some noise to the stroke thickness.\n"
"\n"
" :arg stroke: A Stroke object.\n"
-" :type stroke: :class:`Stroke`\n";
+" :type stroke: :class:`freestyle.types.Stroke`\n";
static int ThicknessNoiseShader___init__(BPy_ThicknessNoiseShader *self, PyObject *args, PyObject *kwds)
{
diff --git a/source/blender/freestyle/intern/python/StrokeShader/BPy_ThicknessVariationPatternShader.cpp b/source/blender/freestyle/intern/python/StrokeShader/BPy_ThicknessVariationPatternShader.cpp
index 1f892455b29..3196065cd34 100644
--- a/source/blender/freestyle/intern/python/StrokeShader/BPy_ThicknessVariationPatternShader.cpp
+++ b/source/blender/freestyle/intern/python/StrokeShader/BPy_ThicknessVariationPatternShader.cpp
@@ -36,7 +36,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char ThicknessVariationPatternShader___doc__[] =
-"Class hierarchy: :class:`StrokeShader` > :class:`ThicknessVariationPatternShader`\n"
+"Class hierarchy: :class:`freestyle.types.StrokeShader` > :class:`ThicknessVariationPatternShader`\n"
"\n"
"[Thickness shader]\n"
"\n"
@@ -61,7 +61,7 @@ static char ThicknessVariationPatternShader___doc__[] =
" original thickness.\n"
"\n"
" :arg stroke: A Stroke object.\n"
-" :type stroke: :class:`Stroke`\n";
+" :type stroke: :class:`freestyle.types.Stroke`\n";
static int ThicknessVariationPatternShader___init__(BPy_ThicknessVariationPatternShader *self,
PyObject *args, PyObject *kwds)
diff --git a/source/blender/freestyle/intern/python/StrokeShader/BPy_TipRemoverShader.cpp b/source/blender/freestyle/intern/python/StrokeShader/BPy_TipRemoverShader.cpp
index 8b04ee0886f..543cd17c01e 100644
--- a/source/blender/freestyle/intern/python/StrokeShader/BPy_TipRemoverShader.cpp
+++ b/source/blender/freestyle/intern/python/StrokeShader/BPy_TipRemoverShader.cpp
@@ -35,7 +35,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char TipRemoverShader___doc__[] =
-"Class hierarchy: :class:`StrokeShader` > :class:`TipRemoverShader`\n"
+"Class hierarchy: :class:`freestyle.types.StrokeShader` > :class:`TipRemoverShader`\n"
"\n"
"[Geometry shader]\n"
"\n"
@@ -52,7 +52,7 @@ static char TipRemoverShader___doc__[] =
" Removes the stroke's extremities.\n"
"\n"
" :arg stroke: A Stroke object.\n"
-" :type stroke: :class:`Stroke`\n";
+" :type stroke: :class:`freestyle.types.Stroke`\n";
static int TipRemoverShader___init__(BPy_TipRemoverShader *self, PyObject *args, PyObject *kwds)
{
diff --git a/source/blender/freestyle/intern/python/StrokeShader/BPy_fstreamShader.cpp b/source/blender/freestyle/intern/python/StrokeShader/BPy_fstreamShader.cpp
index 0c060ef6ed9..b838cae9817 100644
--- a/source/blender/freestyle/intern/python/StrokeShader/BPy_fstreamShader.cpp
+++ b/source/blender/freestyle/intern/python/StrokeShader/BPy_fstreamShader.cpp
@@ -35,7 +35,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char fstreamShader___doc__[] =
-"Class hierarchy: :class:`StrokeShader` > :class:`fstreamShader`\n"
+"Class hierarchy: :class:`freestyle.types.StrokeShader` > :class:`fstreamShader`\n"
"\n"
"[Output shader]\n"
"\n"
@@ -51,7 +51,7 @@ static char fstreamShader___doc__[] =
" Streams the Stroke in a file.\n"
"\n"
" :arg stroke: A Stroke object.\n"
-" :type stroke: :class:`Stroke`\n";
+" :type stroke: :class:`freestyle.types.Stroke`\n";
static int fstreamShader___init__(BPy_fstreamShader *self, PyObject *args, PyObject *kwds)
{
diff --git a/source/blender/freestyle/intern/python/StrokeShader/BPy_streamShader.cpp b/source/blender/freestyle/intern/python/StrokeShader/BPy_streamShader.cpp
index daa10e1b38f..97a6ca0d39e 100644
--- a/source/blender/freestyle/intern/python/StrokeShader/BPy_streamShader.cpp
+++ b/source/blender/freestyle/intern/python/StrokeShader/BPy_streamShader.cpp
@@ -35,7 +35,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char streamShader___doc__[] =
-"Class hierarchy: :class:`StrokeShader` > :class:`streamShader`\n"
+"Class hierarchy: :class:`freestyle.types.StrokeShader` > :class:`streamShader`\n"
"\n"
"[Output shader]\n"
"\n"
@@ -48,7 +48,7 @@ static char streamShader___doc__[] =
" Streams the Stroke into stdout.\n"
"\n"
" :arg stroke: A Stroke object.\n"
-" :type stroke: :class:`Stroke`\n";
+" :type stroke: :class:`freestyle.types.Stroke`\n";
static int streamShader___init__(BPy_streamShader *self, PyObject *args, PyObject *kwds)
{
diff --git a/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_Id/BPy_ShapeIdF0D.cpp b/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_Id/BPy_ShapeIdF0D.cpp
index e2e49116106..841338ef81c 100644
--- a/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_Id/BPy_ShapeIdF0D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_Id/BPy_ShapeIdF0D.cpp
@@ -35,7 +35,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char ShapeIdF0D___doc__[] =
-"Class hierarchy: :class:`UnaryFunction0D` > :class:`UnaryFunction0DId` > :class:`ShapeIdF0D`\n"
+"Class hierarchy: :class:`freestyle.types.UnaryFunction0D` > :class:`freestyle.types.UnaryFunction0DId` > :class:`ShapeIdF0D`\n"
"\n"
".. method:: __init__()\n"
"\n"
@@ -43,19 +43,20 @@ static char ShapeIdF0D___doc__[] =
"\n"
".. method:: __call__(it)\n"
"\n"
-" Returns the :class:`Id` of the Shape the :class:`Interface0D`\n"
-" pointed by the Interface0DIterator belongs to. This evaluation can\n"
-" be ambiguous (in the case of a :class:`TVertex` for example). This\n"
+" Returns the :class:`freestyle.types.Id` of the Shape the\n"
+" :class:`freestyle.types.Interface0D` pointed by the\n"
+" Interface0DIterator belongs to. This evaluation can be ambiguous (in\n"
+" the case of a :class:`freestyle.types.TVertex` for example). This\n"
" functor tries to remove this ambiguity using the context offered by\n"
-" the 1D element to which the Interface0DIterator belongs to.\n"
-" However, there still can be problematic cases, and the user willing\n"
-" to deal with this cases in a specific way should implement its own\n"
+" the 1D element to which the Interface0DIterator belongs to. However,\n"
+" there still can be problematic cases, and the user willing to deal\n"
+" with this cases in a specific way should implement its own\n"
" getShapeIdF0D functor.\n"
"\n"
" :arg it: An Interface0DIterator object.\n"
-" :type it: :class:`Interface0DIterator`\n"
+" :type it: :class:`freestyle.types.Interface0DIterator`\n"
" :return: The Id of the Shape the pointed Interface0D belongs to.\n"
-" :rtype: :class:`Id`\n";
+" :rtype: :class:`freestyle.types.Id`\n";
static int ShapeIdF0D___init__(BPy_ShapeIdF0D *self, PyObject *args, PyObject *kwds)
{
diff --git a/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_Material/BPy_MaterialF0D.cpp b/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_Material/BPy_MaterialF0D.cpp
index b54ed48edc3..cbb905dcf2e 100644
--- a/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_Material/BPy_MaterialF0D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_Material/BPy_MaterialF0D.cpp
@@ -35,7 +35,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char MaterialF0D___doc__[] =
-"Class hierarchy: :class:`UnaryFunction0D` > :class:`UnaryFunction0DMaterial` > :class:`MaterialF0D`\n"
+"Class hierarchy: :class:`freestyle.types.UnaryFunction0D` > :class:`freestyle.types.UnaryFunction0DMaterial` > :class:`MaterialF0D`\n"
"\n"
".. method:: __init__()\n"
"\n"
@@ -44,22 +44,22 @@ static char MaterialF0D___doc__[] =
".. method:: __call__(it)\n"
"\n"
" Returns the material of the object evaluated at the\n"
-" :class:`Interface0D` pointed by the Interface0DIterator. This\n"
-" evaluation can be ambiguous (in the case of a :class:`TVertex` for\n"
-" example. This functor tries to remove this ambiguity using the\n"
-" context offered by the 1D element to which the Interface0DIterator\n"
-" belongs to and by arbitrary choosing the material of the face that\n"
-" lies on its left when following the 1D element if there are two\n"
-" different materials on each side of the point. However, there\n"
-" still can be problematic cases, and the user willing to deal with\n"
-" this cases in a specific way should implement its own getMaterial\n"
-" functor.\n"
+" :class:`freestyle.types.Interface0D` pointed by the\n"
+" Interface0DIterator. This evaluation can be ambiguous (in the case of\n"
+" a :class:`freestyle.types.TVertex` for example. This functor tries to\n"
+" remove this ambiguity using the context offered by the 1D element to\n"
+" which the Interface0DIterator belongs to and by arbitrary choosing the\n"
+" material of the face that lies on its left when following the 1D\n"
+" element if there are two different materials on each side of the\n"
+" point. However, there still can be problematic cases, and the user\n"
+" willing to deal with this cases in a specific way should implement its\n"
+" own getMaterial functor.\n"
"\n"
" :arg it: An Interface0DIterator object.\n"
-" :type it: :class:`Interface0DIterator`\n"
+" :type it: :class:`freestyle.types.Interface0DIterator`\n"
" :return: The material of the object evaluated at the pointed\n"
" Interface0D.\n"
-" :rtype: :class:`Material`\n";
+" :rtype: :class:`freestyle.types.Material`\n";
static int MaterialF0D___init__(BPy_MaterialF0D *self, PyObject *args, PyObject *kwds)
{
diff --git a/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_Nature_EdgeNature/BPy_CurveNatureF0D.cpp b/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_Nature_EdgeNature/BPy_CurveNatureF0D.cpp
index 63c32655da3..41ce2f5d197 100644
--- a/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_Nature_EdgeNature/BPy_CurveNatureF0D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_Nature_EdgeNature/BPy_CurveNatureF0D.cpp
@@ -35,7 +35,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char CurveNatureF0D___doc__[] =
-"Class hierarchy: :class:`UnaryFunction0D` > :class:`UnaryFunction0DEdgeNature` > :class:`CurveNatureF0D`\n"
+"Class hierarchy: :class:`freestyle.types.UnaryFunction0D` > :class:`freestyle.types.UnaryFunction0DEdgeNature` > :class:`CurveNatureF0D`\n"
"\n"
".. method:: __init__()\n"
"\n"
@@ -43,14 +43,14 @@ static char CurveNatureF0D___doc__[] =
"\n"
".. method:: __call__(it)\n"
"\n"
-" Returns the :class:`Nature` of the 1D element the Interface0D pointed\n"
-" by the Interface0DIterator belongs to.\n"
+" Returns the :class:`freestyle.types.Nature` of the 1D element the\n"
+" Interface0D pointed by the Interface0DIterator belongs to.\n"
"\n"
" :arg it: An Interface0DIterator object.\n"
-" :type it: :class:`Interface0DIterator`\n"
+" :type it: :class:`freestyle.types.Interface0DIterator`\n"
" :return: The nature of the 1D element to which the pointed Interface0D\n"
" belongs.\n"
-" :rtype: :class:`Nature`\n";
+" :rtype: :class:`freestyle.types.Nature`\n";
static int CurveNatureF0D___init__(BPy_CurveNatureF0D *self, PyObject *args, PyObject *kwds)
{
diff --git a/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_Vec2f/BPy_Normal2DF0D.cpp b/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_Vec2f/BPy_Normal2DF0D.cpp
index 10152f594c9..bfe060bc046 100644
--- a/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_Vec2f/BPy_Normal2DF0D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_Vec2f/BPy_Normal2DF0D.cpp
@@ -35,7 +35,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char Normal2DF0D___doc__[] =
-"Class hierarchy: :class:`UnaryFunction0D` > :class:`UnaryFunction0DVec2f` > :class:`Normal2DF0D`\n"
+"Class hierarchy: :class:`freestyle.types.UnaryFunction0D` > :class:`freestyle.types.UnaryFunction0DVec2f` > :class:`Normal2DF0D`\n"
"\n"
".. method:: __init__()\n"
"\n"
@@ -44,12 +44,12 @@ static char Normal2DF0D___doc__[] =
".. method:: __call__(it)\n"
"\n"
" Returns a two-dimensional vector giving the normalized 2D normal to\n"
-" the 1D element to which the :class:`Interface0D` pointed by the\n"
-" Interface0DIterator belongs. The normal is evaluated at the pointed\n"
-" Interface0D.\n"
+" the 1D element to which the :class:`freestyle.types.Interface0D`\n"
+" pointed by the Interface0DIterator belongs. The normal is evaluated\n"
+" at the pointed Interface0D.\n"
"\n"
" :arg it: An Interface0DIterator object.\n"
-" :type it: :class:`Interface0DIterator`\n"
+" :type it: :class:`freestyle.types.Interface0DIterator`\n"
" :return: The 2D normal of the 1D element evaluated at the pointed\n"
" Interface0D.\n"
" :rtype: :class:`mathutils.Vector`\n";
diff --git a/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_Vec2f/BPy_VertexOrientation2DF0D.cpp b/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_Vec2f/BPy_VertexOrientation2DF0D.cpp
index a97b53451c7..70d122bd97a 100644
--- a/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_Vec2f/BPy_VertexOrientation2DF0D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_Vec2f/BPy_VertexOrientation2DF0D.cpp
@@ -35,7 +35,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char VertexOrientation2DF0D___doc__[] =
-"Class hierarchy: :class:`UnaryFunction0D` > :class:`UnaryFunction0DVec2f` > :class:`VertexOrientation2DF0D`\n"
+"Class hierarchy: :class:`freestyle.types.UnaryFunction0D` > :class:`freestyle.types.UnaryFunction0DVec2f` > :class:`VertexOrientation2DF0D`\n"
"\n"
".. method:: __init__()\n"
"\n"
@@ -43,13 +43,13 @@ static char VertexOrientation2DF0D___doc__[] =
"\n"
".. method:: __call__(it)\n"
"\n"
-" Returns a two-dimensional vector giving the 2D oriented tangent to\n"
-" the 1D element to which the :class:`Interface0D` pointed by the\n"
-" Interface0DIterator belongs. The 2D oriented tangent is evaluated\n"
-" at the pointed Interface0D.\n"
+" Returns a two-dimensional vector giving the 2D oriented tangent to the\n"
+" 1D element to which the :class:`freestyle.types.Interface0D` pointed\n"
+" by the Interface0DIterator belongs. The 2D oriented tangent is\n"
+" evaluated at the pointed Interface0D.\n"
"\n"
" :arg it: An Interface0DIterator object.\n"
-" :type it: :class:`Interface0DIterator`\n"
+" :type it: :class:`freestyle.types.Interface0DIterator`\n"
" :return: The 2D oriented tangent to the 1D element evaluated at the\n"
" pointed Interface0D.\n"
" :rtype: :class:`mathutils.Vector`\n";
diff --git a/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_Vec3f/BPy_VertexOrientation3DF0D.cpp b/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_Vec3f/BPy_VertexOrientation3DF0D.cpp
index ffa8996f9b2..6b010af4228 100644
--- a/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_Vec3f/BPy_VertexOrientation3DF0D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_Vec3f/BPy_VertexOrientation3DF0D.cpp
@@ -35,7 +35,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char VertexOrientation3DF0D___doc__[] =
-"Class hierarchy: :class:`UnaryFunction0D` > :class:`UnaryFunction0DVec3f` > :class:`VertexOrientation3DF0D`\n"
+"Class hierarchy: :class:`freestyle.types.UnaryFunction0D` > :class:`freestyle.types.UnaryFunction0DVec3f` > :class:`VertexOrientation3DF0D`\n"
"\n"
".. method:: __init__()\n"
"\n"
@@ -43,13 +43,13 @@ static char VertexOrientation3DF0D___doc__[] =
"\n"
".. method:: __call__(it)\n"
"\n"
-" Returns a three-dimensional vector giving the 3D oriented tangent\n"
-" to the 1D element to which the :class:`Interface0D` pointed by the\n"
-" Interface0DIterator belongs. The 3D oriented tangent is evaluated\n"
-" at the pointed Interface0D.\n"
+" Returns a three-dimensional vector giving the 3D oriented tangent to\n"
+" the 1D element to which the :class:`freestyle.types.Interface0D`\n"
+" pointed by the Interface0DIterator belongs. The 3D oriented tangent\n"
+" is evaluated at the pointed Interface0D.\n"
"\n"
" :arg it: An Interface0DIterator object.\n"
-" :type it: :class:`Interface0DIterator`\n"
+" :type it: :class:`freestyle.types.Interface0DIterator`\n"
" :return: The 3D oriented tangent to the 1D element evaluated at the\n"
" pointed Interface0D.\n"
" :rtype: :class:`mathutils.Vector`\n";
diff --git a/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_ViewShape/BPy_GetOccludeeF0D.cpp b/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_ViewShape/BPy_GetOccludeeF0D.cpp
index 3523b08982a..ba16fec1539 100644
--- a/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_ViewShape/BPy_GetOccludeeF0D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_ViewShape/BPy_GetOccludeeF0D.cpp
@@ -35,7 +35,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char GetOccludeeF0D___doc__[] =
-"Class hierarchy: :class:`UnaryFunction0D` > :class:`UnaryFunction0DViewShape` > :class:`GetOccludeeF0D`\n"
+"Class hierarchy: :class:`freestyle.types.UnaryFunction0D` > :class:`freestyle.types.UnaryFunction0DViewShape` > :class:`GetOccludeeF0D`\n"
"\n"
".. method:: __init__()\n"
"\n"
@@ -43,13 +43,13 @@ static char GetOccludeeF0D___doc__[] =
"\n"
".. method:: __call__(it)\n"
"\n"
-" Returns the :class:`ViewShape` that the Interface0D pointed by the\n"
-" Interface0DIterator occludes.\n"
+" Returns the :class:`freestyle.types.ViewShape` that the Interface0D\n"
+" pointed by the Interface0DIterator occludes.\n"
"\n"
" :arg it: An Interface0DIterator object.\n"
-" :type it: :class:`Interface0DIterator`\n"
+" :type it: :class:`freestyle.types.Interface0DIterator`\n"
" :return: The ViewShape occluded by the pointed Interface0D.\n"
-" :rtype: :class:`ViewShape`\n";
+" :rtype: :class:`freestyle.types.ViewShape`\n";
static int GetOccludeeF0D___init__(BPy_GetOccludeeF0D *self, PyObject *args, PyObject *kwds)
{
diff --git a/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_ViewShape/BPy_GetShapeF0D.cpp b/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_ViewShape/BPy_GetShapeF0D.cpp
index 234dc648ff5..5e4111de924 100644
--- a/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_ViewShape/BPy_GetShapeF0D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_ViewShape/BPy_GetShapeF0D.cpp
@@ -35,21 +35,21 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char GetShapeF0D___doc__[] =
-"Class hierarchy: :class:`UnaryFunction0D` > :class:`UnaryFunction0DViewShape` > :class:`GetShapeF0D`\n"
+"Class hierarchy: :class:`freestyle.types.UnaryFunction0D` > :class:`freestyle.types.UnaryFunction0DViewShape` > :class:`GetShapeF0D`\n"
"\n"
".. method:: __init__()\n"
"\n"
-" Builds a GetShapeF0D.cpp object.\n"
+" Builds a GetShapeF0D object.\n"
"\n"
".. method:: __call__(it)\n"
"\n"
-" Returns the :class:`ViewShape` containing the Interface0D pointed\n"
-" by the Interface0DIterator.\n"
+" Returns the :class:`freestyle.types.ViewShape` containing the\n"
+" Interface0D pointed by the Interface0DIterator.\n"
"\n"
" :arg it: An Interface0DIterator object.\n"
-" :type it: :class:`Interface0DIterator`\n"
+" :type it: :class:`freestyle.types.Interface0DIterator`\n"
" :return: The ViewShape containing the pointed Interface0D.\n"
-" :rtype: :class:`ViewShape`\n";
+" :rtype: :class:`freestyle.types.ViewShape`\n";
static int GetShapeF0D___init__(BPy_GetShapeF0D *self, PyObject *args, PyObject *kwds)
{
diff --git a/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_double/BPy_Curvature2DAngleF0D.cpp b/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_double/BPy_Curvature2DAngleF0D.cpp
index 3d343762b8e..55f7bab3bb3 100644
--- a/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_double/BPy_Curvature2DAngleF0D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_double/BPy_Curvature2DAngleF0D.cpp
@@ -35,7 +35,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char Curvature2DAngleF0D___doc__[] =
-"Class hierarchy: :class:`UnaryFunction0D` > :class:`UnaryFunction0DDouble` > :class:`Curvature2DAngleF0D`\n"
+"Class hierarchy: :class:`freestyle.types.UnaryFunction0D` > :class:`freestyle.types.UnaryFunction0DDouble` > :class:`Curvature2DAngleF0D`\n"
"\n"
".. method:: __init__()\n"
"\n"
@@ -43,13 +43,13 @@ static char Curvature2DAngleF0D___doc__[] =
"\n"
".. method:: __call__(it)\n"
"\n"
-" Returns a real value giving the 2D curvature (as an angle) of the\n"
-" 1D element to which the :class:`Interface0D` pointed by the\n"
-" Interface0DIterator belongs. The 2D curvature is evaluated at the\n"
+" Returns a real value giving the 2D curvature (as an angle) of the 1D\n"
+" element to which the :class:`freestyle.types.Interface0D` pointed by\n"
+" the Interface0DIterator belongs. The 2D curvature is evaluated at the\n"
" Interface0D.\n"
"\n"
" :arg it: An Interface0DIterator object.\n"
-" :type it: :class:`Interface0DIterator`\n"
+" :type it: :class:`freestyle.types.Interface0DIterator`\n"
" :return: The 2D curvature of the 1D element evaluated at the\n"
" pointed Interface0D.\n"
" :rtype: float\n";
diff --git a/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_double/BPy_DensityF0D.cpp b/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_double/BPy_DensityF0D.cpp
index 84a3fd79608..2aac3f4f1f0 100644
--- a/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_double/BPy_DensityF0D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_double/BPy_DensityF0D.cpp
@@ -35,7 +35,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char DensityF0D___doc__[] =
-"Class hierarchy: :class:`UnaryFunction0D` > :class:`UnaryFunction0DDouble` > :class:`DensityF0D`\n"
+"Class hierarchy: :class:`freestyle.types.UnaryFunction0D` > :class:`freestyle.types.UnaryFunction0DDouble` > :class:`DensityF0D`\n"
"\n"
".. method:: __init__(sigma=2.0)\n"
"\n"
@@ -49,12 +49,13 @@ static char DensityF0D___doc__[] =
".. method:: __call__(it)\n"
"\n"
" Returns the density of the (result) image evaluated at the\n"
-" :class:`Interface0D` pointed by the Interface0DIterator. This\n"
-" density is evaluated using a pixels square window around the\n"
-" evaluation point and integrating these values using a gaussian.\n"
+" :class:`freestyle.types.Interface0D` pointed by the\n"
+" Interface0DIterator. This density is evaluated using a pixels square\n"
+" window around the evaluation point and integrating these values using\n"
+" a gaussian.\n"
"\n"
" :arg it: An Interface0DIterator object.\n"
-" :type it: :class:`Interface0DIterator`\n"
+" :type it: :class:`freestyle.types.Interface0DIterator`\n"
" :return: The density of the image evaluated at the pointed\n"
" Interface0D.\n"
" :rtype: float\n";
diff --git a/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_double/BPy_GetProjectedXF0D.cpp b/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_double/BPy_GetProjectedXF0D.cpp
index d901b245247..123772b3fc7 100644
--- a/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_double/BPy_GetProjectedXF0D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_double/BPy_GetProjectedXF0D.cpp
@@ -35,7 +35,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char GetProjectedXF0D___doc__[] =
-"Class hierarchy: :class:`UnaryFunction0D` > :class:`UnaryFunction0DDouble` > :class:`GetProjectedXF0D`\n"
+"Class hierarchy: :class:`freestyle.types.UnaryFunction0D` > :class:`freestyle.types.UnaryFunction0DDouble` > :class:`GetProjectedXF0D`\n"
"\n"
".. method:: __init__()\n"
"\n"
@@ -43,11 +43,11 @@ static char GetProjectedXF0D___doc__[] =
"\n"
".. method:: __call__(it)\n"
"\n"
-" Returns the X 3D projected coordinate of the :class:`Interface0D`\n"
+" Returns the X 3D projected coordinate of the :class:`freestyle.types.Interface0D`\n"
" pointed by the Interface0DIterator.\n"
"\n"
" :arg it: An Interface0DIterator object.\n"
-" :type it: :class:`Interface0DIterator`\n"
+" :type it: :class:`freestyle.types.Interface0DIterator`\n"
" :return: The X 3D projected coordinate of the pointed Interface0D.\n"
" :rtype: float\n";
diff --git a/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_double/BPy_GetProjectedYF0D.cpp b/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_double/BPy_GetProjectedYF0D.cpp
index 2d82182f011..f4e3d6ba76f 100644
--- a/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_double/BPy_GetProjectedYF0D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_double/BPy_GetProjectedYF0D.cpp
@@ -35,7 +35,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char GetProjectedYF0D___doc__[] =
-"Class hierarchy: :class:`UnaryFunction0D` > :class:`UnaryFunction0DDouble` > :class:`GetProjectedYF0D`\n"
+"Class hierarchy: :class:`freestyle.types.UnaryFunction0D` > :class:`freestyle.types.UnaryFunction0DDouble` > :class:`GetProjectedYF0D`\n"
"\n"
".. method:: __init__()\n"
"\n"
@@ -43,11 +43,11 @@ static char GetProjectedYF0D___doc__[] =
"\n"
".. method:: __call__(it)\n"
"\n"
-" Returns the Y 3D projected coordinate of the :class:`Interface0D`\n"
+" Returns the Y 3D projected coordinate of the :class:`freestyle.types.Interface0D`\n"
" pointed by the Interface0DIterator.\n"
"\n"
" :arg it: An Interface0DIterator object.\n"
-" :type it: :class:`Interface0DIterator`\n"
+" :type it: :class:`freestyle.types.Interface0DIterator`\n"
" :return: The Y 3D projected coordinate of the pointed Interface0D.\n"
" :rtype: float\n";
diff --git a/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_double/BPy_GetProjectedZF0D.cpp b/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_double/BPy_GetProjectedZF0D.cpp
index 9766985954b..116bb75fc55 100644
--- a/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_double/BPy_GetProjectedZF0D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_double/BPy_GetProjectedZF0D.cpp
@@ -35,7 +35,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char GetProjectedZF0D___doc__[] =
-"Class hierarchy: :class:`UnaryFunction0D` > :class:`UnaryFunction0DDouble` > :class:`GetProjectedZF0D`\n"
+"Class hierarchy: :class:`freestyle.types.UnaryFunction0D` > :class:`freestyle.types.UnaryFunction0DDouble` > :class:`GetProjectedZF0D`\n"
"\n"
".. method:: __init__()\n"
"\n"
@@ -43,11 +43,11 @@ static char GetProjectedZF0D___doc__[] =
"\n"
".. method:: __call__(it)\n"
"\n"
-" Returns the Z 3D projected coordinate of the :class:`Interface0D`\n"
+" Returns the Z 3D projected coordinate of the :class:`freestyle.types.Interface0D`\n"
" pointed by the Interface0DIterator.\n"
"\n"
" :arg it: An Interface0DIterator object.\n"
-" :type it: :class:`Interface0DIterator`\n"
+" :type it: :class:`freestyle.types.Interface0DIterator`\n"
" :return: The Z 3D projected coordinate of the pointed Interface0D.\n"
" :rtype: float\n";
diff --git a/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_double/BPy_GetXF0D.cpp b/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_double/BPy_GetXF0D.cpp
index 9ee87c63bdd..614e92cf7c2 100644
--- a/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_double/BPy_GetXF0D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_double/BPy_GetXF0D.cpp
@@ -35,7 +35,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char GetXF0D___doc__[] =
-"Class hierarchy: :class:`UnaryFunction0D` > :class:`UnaryFunction0DDouble` > :class:`GetXF0D`\n"
+"Class hierarchy: :class:`freestyle.types.UnaryFunction0D` > :class:`freestyle.types.UnaryFunction0DDouble` > :class:`GetXF0D`\n"
"\n"
".. method:: __init__()\n"
"\n"
@@ -43,11 +43,11 @@ static char GetXF0D___doc__[] =
"\n"
".. method:: __call__(it)\n"
"\n"
-" Returns the X 3D coordinate of the :class:`Interface0D` pointed by\n"
+" Returns the X 3D coordinate of the :class:`freestyle.types.Interface0D` pointed by\n"
" the Interface0DIterator.\n"
"\n"
" :arg it: An Interface0DIterator object.\n"
-" :type it: :class:`Interface0DIterator`\n"
+" :type it: :class:`freestyle.types.Interface0DIterator`\n"
" :return: The X 3D coordinate of the pointed Interface0D.\n"
" :rtype: float\n";
diff --git a/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_double/BPy_GetYF0D.cpp b/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_double/BPy_GetYF0D.cpp
index 90f8f74e989..1a953b9ebca 100644
--- a/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_double/BPy_GetYF0D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_double/BPy_GetYF0D.cpp
@@ -35,7 +35,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char GetYF0D___doc__[] =
-"Class hierarchy: :class:`UnaryFunction0D` > :class:`UnaryFunction0DDouble` > :class:`GetYF0D`\n"
+"Class hierarchy: :class:`freestyle.types.UnaryFunction0D` > :class:`freestyle.types.UnaryFunction0DDouble` > :class:`GetYF0D`\n"
"\n"
".. method:: __init__()\n"
"\n"
@@ -43,11 +43,11 @@ static char GetYF0D___doc__[] =
"\n"
".. method:: __call__(it)\n"
"\n"
-" Returns the Y 3D coordinate of the :class:`Interface0D` pointed by\n"
+" Returns the Y 3D coordinate of the :class:`freestyle.types.Interface0D` pointed by\n"
" the Interface0DIterator.\n"
"\n"
" :arg it: An Interface0DIterator object.\n"
-" :type it: :class:`Interface0DIterator`\n"
+" :type it: :class:`freestyle.types.Interface0DIterator`\n"
" :return: The Y 3D coordinate of the pointed Interface0D.\n"
" :rtype: float\n";
diff --git a/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_double/BPy_GetZF0D.cpp b/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_double/BPy_GetZF0D.cpp
index 8876f2200c2..c985e0f5c99 100644
--- a/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_double/BPy_GetZF0D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_double/BPy_GetZF0D.cpp
@@ -35,7 +35,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char GetZF0D___doc__[] =
-"Class hierarchy: :class:`UnaryFunction0D` > :class:`UnaryFunction0DDouble` > :class:`GetZF0D`\n"
+"Class hierarchy: :class:`freestyle.types.UnaryFunction0D` > :class:`freestyle.types.UnaryFunction0DDouble` > :class:`GetZF0D`\n"
"\n"
".. method:: __init__()\n"
"\n"
@@ -43,11 +43,11 @@ static char GetZF0D___doc__[] =
"\n"
".. method:: __call__(it)\n"
"\n"
-" Returns the Z 3D coordinate of the :class:`Interface0D` pointed by\n"
+" Returns the Z 3D coordinate of the :class:`freestyle.types.Interface0D` pointed by\n"
" the Interface0DIterator.\n"
"\n"
" :arg it: An Interface0DIterator object.\n"
-" :type it: :class:`Interface0DIterator`\n"
+" :type it: :class:`freestyle.types.Interface0DIterator`\n"
" :return: The Z 3D coordinate of the pointed Interface0D.\n"
" :rtype: float\n";
diff --git a/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_double/BPy_LocalAverageDepthF0D.cpp b/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_double/BPy_LocalAverageDepthF0D.cpp
index af5edb4eac7..3c7f3b412fe 100644
--- a/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_double/BPy_LocalAverageDepthF0D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_double/BPy_LocalAverageDepthF0D.cpp
@@ -35,7 +35,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char LocalAverageDepthF0D___doc__[] =
-"Class hierarchy: :class:`UnaryFunction0D` > :class:`UnaryFunction0DDouble` > :class:`LocalAverageDepthF0D`\n"
+"Class hierarchy: :class:`freestyle.types.UnaryFunction0D` > :class:`freestyle.types.UnaryFunction0DDouble` > :class:`LocalAverageDepthF0D`\n"
"\n"
".. method:: __init__(mask_size=5.0)\n"
"\n"
@@ -46,12 +46,13 @@ static char LocalAverageDepthF0D___doc__[] =
"\n"
".. method:: __call__(it)\n"
"\n"
-" Returns the average depth around the :class:`Interface0D` pointed\n"
-" by the Interface0DIterator. The result is obtained by querying the\n"
-" depth buffer on a window around that point.\n"
+" Returns the average depth around the\n"
+" :class:`freestyle.types.Interface0D` pointed by the\n"
+" Interface0DIterator. The result is obtained by querying the depth\n"
+" buffer on a window around that point.\n"
"\n"
" :arg it: An Interface0DIterator object.\n"
-" :type it: :class:`Interface0DIterator`\n"
+" :type it: :class:`freestyle.types.Interface0DIterator`\n"
" :return: The average depth around the pointed Interface0D.\n"
" :rtype: float\n";
diff --git a/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_double/BPy_ZDiscontinuityF0D.cpp b/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_double/BPy_ZDiscontinuityF0D.cpp
index b64f6c06e93..f0c58352f4a 100644
--- a/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_double/BPy_ZDiscontinuityF0D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_double/BPy_ZDiscontinuityF0D.cpp
@@ -35,7 +35,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char ZDiscontinuityF0D___doc__[] =
-"Class hierarchy: :class:`UnaryFunction0D` > :class:`UnaryFunction0DDouble` > :class:`ZDiscontinuityF0D`\n"
+"Class hierarchy: :class:`freestyle.types.UnaryFunction0D` > :class:`freestyle.types.UnaryFunction0DDouble` > :class:`ZDiscontinuityF0D`\n"
"\n"
".. method:: __init__()\n"
"\n"
@@ -44,14 +44,14 @@ static char ZDiscontinuityF0D___doc__[] =
".. method:: __call__(it)\n"
"\n"
" Returns a real value giving the distance between the\n"
-" :class:`Interface0D` pointed by the Interface0DIterator and the\n"
-" shape that lies behind (occludee). This distance is evaluated in\n"
-" the camera space and normalized between 0 and 1. Therefore, if no\n"
-" object is occluded by the shape to which the Interface0D belongs to,\n"
-" 1 is returned.\n"
+" :class:`freestyle.types.Interface0D` pointed by the\n"
+" Interface0DIterator and the shape that lies behind (occludee). This\n"
+" distance is evaluated in the camera space and normalized between 0 and\n"
+" 1. Therefore, if no object is occluded by the shape to which the\n"
+" Interface0D belongs to, 1 is returned.\n"
"\n"
" :arg it: An Interface0DIterator object.\n"
-" :type it: :class:`Interface0DIterator`\n"
+" :type it: :class:`freestyle.types.Interface0DIterator`\n"
" :return: The normalized distance between the pointed Interface0D\n"
" and the occludee.\n"
" :rtype: float\n";
diff --git a/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_float/BPy_GetCurvilinearAbscissaF0D.cpp b/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_float/BPy_GetCurvilinearAbscissaF0D.cpp
index 96db3ca7375..a2358e6ebae 100644
--- a/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_float/BPy_GetCurvilinearAbscissaF0D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_float/BPy_GetCurvilinearAbscissaF0D.cpp
@@ -35,7 +35,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char GetCurvilinearAbscissaF0D___doc__[] =
-"Class hierarchy: :class:`UnaryFunction0D` > :class:`UnaryFunction0DFloat` > :class:`GetCurvilinearAbscissaF0D`\n"
+"Class hierarchy: :class:`freestyle.types.UnaryFunction0D` > :class:`freestyle.types.UnaryFunction0DFloat` > :class:`GetCurvilinearAbscissaF0D`\n"
"\n"
".. method:: __init__()\n"
"\n"
@@ -43,12 +43,12 @@ static char GetCurvilinearAbscissaF0D___doc__[] =
"\n"
".. method:: __call__(it)\n"
"\n"
-" Returns the curvilinear abscissa of the :class:`Interface0D`\n"
-" pointed by the Interface0DIterator in the context of its 1D\n"
-" element.\n"
+" Returns the curvilinear abscissa of the\n"
+" :class:`freestyle.types.Interface0D` pointed by the\n"
+" Interface0DIterator in the context of its 1D element.\n"
"\n"
" :arg it: An Interface0DIterator object.\n"
-" :type it: :class:`Interface0DIterator`\n"
+" :type it: :class:`freestyle.types.Interface0DIterator`\n"
" :return: The curvilinear abscissa of the pointed Interface0D.\n"
" :rtype: float\n";
diff --git a/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_float/BPy_GetParameterF0D.cpp b/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_float/BPy_GetParameterF0D.cpp
index 045a5041b9c..43061747398 100644
--- a/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_float/BPy_GetParameterF0D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_float/BPy_GetParameterF0D.cpp
@@ -35,7 +35,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char GetParameterF0D___doc__[] =
-"Class hierarchy: :class:`UnaryFunction0D` > :class:`UnaryFunction0DFloat` > :class:`GetParameterF0D`\n"
+"Class hierarchy: :class:`freestyle.types.UnaryFunction0D` > :class:`freestyle.types.UnaryFunction0DFloat` > :class:`GetParameterF0D`\n"
"\n"
".. method:: __init__()\n"
"\n"
@@ -43,11 +43,11 @@ static char GetParameterF0D___doc__[] =
"\n"
".. method:: __call__(it)\n"
"\n"
-" Returns the parameter of the :class:`Interface0D` pointed by the\n"
-" Interface0DIterator in the context of its 1D element.\n"
+" Returns the parameter of the :class:`freestyle.types.Interface0D`\n"
+" pointed by the Interface0DIterator in the context of its 1D element.\n"
"\n"
" :arg it: An Interface0DIterator object.\n"
-" :type it: :class:`Interface0DIterator`\n"
+" :type it: :class:`freestyle.types.Interface0DIterator`\n"
" :return: The parameter of an Interface0D.\n"
" :rtype: float\n";
diff --git a/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_float/BPy_GetViewMapGradientNormF0D.cpp b/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_float/BPy_GetViewMapGradientNormF0D.cpp
index 43aebe8c4ec..cecec01dcb5 100644
--- a/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_float/BPy_GetViewMapGradientNormF0D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_float/BPy_GetViewMapGradientNormF0D.cpp
@@ -35,7 +35,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char GetViewMapGradientNormF0D___doc__[] =
-"Class hierarchy: :class:`UnaryFunction0D` > :class:`UnaryFunction0DFloat` > :class:`GetViewMapGradientNormF0D`\n"
+"Class hierarchy: :class:`freestyle.types.UnaryFunction0D` > :class:`freestyle.types.UnaryFunction0DFloat` > :class:`GetViewMapGradientNormF0D`\n"
"\n"
".. method:: __init__(level)\n"
"\n"
@@ -51,7 +51,7 @@ static char GetViewMapGradientNormF0D___doc__[] =
" image.\n"
"\n"
" :arg it: An Interface0DIterator object.\n"
-" :type it: :class:`Interface0DIterator`\n"
+" :type it: :class:`freestyle.types.Interface0DIterator`\n"
" :return: The norm of the gradient of the global viewmap density\n"
" image.\n"
" :rtype: float\n";
diff --git a/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_float/BPy_ReadCompleteViewMapPixelF0D.cpp b/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_float/BPy_ReadCompleteViewMapPixelF0D.cpp
index c1f316a45d3..313826f9307 100644
--- a/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_float/BPy_ReadCompleteViewMapPixelF0D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_float/BPy_ReadCompleteViewMapPixelF0D.cpp
@@ -35,7 +35,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char ReadCompleteViewMapPixelF0D___doc__[] =
-"Class hierarchy: :class:`UnaryFunction0D` > :class:`UnaryFunction0DFloat` > :class:`ReadCompleteViewMapPixelF0D`\n"
+"Class hierarchy: :class:`freestyle.types.UnaryFunction0D` > :class:`freestyle.types.UnaryFunction0DFloat` > :class:`ReadCompleteViewMapPixelF0D`\n"
"\n"
".. method:: __init__(level)\n"
"\n"
@@ -50,7 +50,7 @@ static char ReadCompleteViewMapPixelF0D___doc__[] =
" Reads a pixel in one of the level of the complete viewmap.\n"
"\n"
" :arg it: An Interface0DIterator object.\n"
-" :type it: :class:`Interface0DIterator`\n"
+" :type it: :class:`freestyle.types.Interface0DIterator`\n"
" :return: A pixel in one of the level of the complete viewmap.\n"
" :rtype: float\n";
diff --git a/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_float/BPy_ReadMapPixelF0D.cpp b/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_float/BPy_ReadMapPixelF0D.cpp
index a5c8c0c3b04..8bfccf4c80a 100644
--- a/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_float/BPy_ReadMapPixelF0D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_float/BPy_ReadMapPixelF0D.cpp
@@ -35,7 +35,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char ReadMapPixelF0D___doc__[] =
-"Class hierarchy: :class:`UnaryFunction0D` > :class:`UnaryFunction0DFloat` > :class:`ReadMapPixelF0D`\n"
+"Class hierarchy: :class:`freestyle.types.UnaryFunction0D` > :class:`freestyle.types.UnaryFunction0DFloat` > :class:`ReadMapPixelF0D`\n"
"\n"
".. method:: __init__(map_name, level)\n"
"\n"
@@ -52,7 +52,7 @@ static char ReadMapPixelF0D___doc__[] =
" Reads a pixel in a map.\n"
"\n"
" :arg it: An Interface0DIterator object.\n"
-" :type it: :class:`Interface0DIterator`\n"
+" :type it: :class:`freestyle.types.Interface0DIterator`\n"
" :return: A pixel in a map.\n"
" :rtype: float\n";
diff --git a/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_float/BPy_ReadSteerableViewMapPixelF0D.cpp b/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_float/BPy_ReadSteerableViewMapPixelF0D.cpp
index e46d9f316eb..b36ddf84e71 100644
--- a/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_float/BPy_ReadSteerableViewMapPixelF0D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_float/BPy_ReadSteerableViewMapPixelF0D.cpp
@@ -35,7 +35,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char ReadSteerableViewMapPixelF0D___doc__[] =
-"Class hierarchy: :class:`UnaryFunction0D` > :class:`UnaryFunction0DFloat` > :class:`ReadSteerableViewMapPixelF0D`\n"
+"Class hierarchy: :class:`freestyle.types.UnaryFunction0D` > :class:`freestyle.types.UnaryFunction0DFloat` > :class:`ReadSteerableViewMapPixelF0D`\n"
"\n"
".. method:: __init__(orientation, level)\n"
"\n"
@@ -53,7 +53,7 @@ static char ReadSteerableViewMapPixelF0D___doc__[] =
" Reads a pixel in one of the level of one of the steerable viewmaps.\n"
"\n"
" :arg it: An Interface0DIterator object.\n"
-" :type it: :class:`Interface0DIterator`\n"
+" :type it: :class:`freestyle.types.Interface0DIterator`\n"
" :return: A pixel in one of the level of one of the steerable viewmaps.\n"
" :rtype: float\n";
diff --git a/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_unsigned_int/BPy_QuantitativeInvisibilityF0D.cpp b/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_unsigned_int/BPy_QuantitativeInvisibilityF0D.cpp
index bcd17213c55..8ec982815c8 100644
--- a/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_unsigned_int/BPy_QuantitativeInvisibilityF0D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_unsigned_int/BPy_QuantitativeInvisibilityF0D.cpp
@@ -35,7 +35,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char QuantitativeInvisibilityF0D___doc__[] =
-"Class hierarchy: :class:`UnaryFunction0D` > :class:`UnaryFunction0DUnsigned` > :class:`QuantitativeInvisibilityF0D`\n"
+"Class hierarchy: :class:`freestyle.types.UnaryFunction0D` > :class:`freestyle.types.UnaryFunction0DUnsigned` > :class:`QuantitativeInvisibilityF0D`\n"
"\n"
".. method:: __init__()\n"
"\n"
@@ -43,17 +43,17 @@ static char QuantitativeInvisibilityF0D___doc__[] =
"\n"
".. method:: __call__(it)\n"
"\n"
-" Returns the quantitative invisibility of the :class:`Interface0D`\n"
-" pointed by the Interface0DIterator. This evaluation can be\n"
-" ambiguous (in the case of a :class:`TVertex` for example). This\n"
-" functor tries to remove this ambiguity using the context offered by\n"
-" the 1D element to which the Interface0D belongs to. However, there\n"
-" still can be problematic cases, and the user willing to deal with\n"
-" this cases in a specific way should implement its own getQIF0D\n"
-" functor.\n"
+" Returns the quantitative invisibility of the\n"
+" :class:`freestyle.types.Interface0D` pointed by the\n"
+" Interface0DIterator. This evaluation can be ambiguous (in the case of\n"
+" a :class:`freestyle.types.TVertex` for example). This functor tries\n"
+" to remove this ambiguity using the context offered by the 1D element\n"
+" to which the Interface0D belongs to. However, there still can be\n"
+" problematic cases, and the user willing to deal with this cases in a\n"
+" specific way should implement its own getQIF0D functor.\n"
"\n"
" :arg it: An Interface0DIterator object.\n"
-" :type it: :class:`Interface0DIterator`\n"
+" :type it: :class:`freestyle.types.Interface0DIterator`\n"
" :return: The quantitative invisibility of the pointed Interface0D.\n"
" :rtype: int\n";
diff --git a/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_vector_ViewShape/BPy_GetOccludersF0D.cpp b/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_vector_ViewShape/BPy_GetOccludersF0D.cpp
index e6dce989822..5504bff74ae 100644
--- a/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_vector_ViewShape/BPy_GetOccludersF0D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryFunction0D/UnaryFunction0D_vector_ViewShape/BPy_GetOccludersF0D.cpp
@@ -35,7 +35,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char GetOccludersF0D___doc__[] =
-"Class hierarchy: :class:`UnaryFunction0D` > :class:`UnaryFunction0DVectorViewShape` > :class:`GetOccludersF0D`\n"
+"Class hierarchy: :class:`freestyle.types.UnaryFunction0D` > :class:`freestyle.types.UnaryFunction0DVectorViewShape` > :class:`GetOccludersF0D`\n"
"\n"
".. method:: __init__()\n"
"\n"
@@ -43,14 +43,14 @@ static char GetOccludersF0D___doc__[] =
"\n"
".. method:: __call__(it)\n"
"\n"
-" Returns a list of :class:`ViewShape` objects occluding the\n"
-" :class:`Interface0D` pointed by the Interface0DIterator.\n"
+" Returns a list of :class:`freestyle.types.ViewShape` objects occluding the\n"
+" :class:`freestyle.types.Interface0D` pointed by the Interface0DIterator.\n"
"\n"
" :arg it: An Interface0DIterator object.\n"
-" :type it: :class:`Interface0DIterator`\n"
+" :type it: :class:`freestyle.types.Interface0DIterator`\n"
" :return: A list of ViewShape objects occluding the pointed\n"
" Interface0D.\n"
-" :rtype: list of :class:`ViewShape` objects\n";
+" :rtype: list of :class:`freestyle.types.ViewShape` objects\n";
static int GetOccludersF0D___init__(BPy_GetOccludersF0D *self, PyObject *args, PyObject *kwds)
{
diff --git a/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_Nature_EdgeNature/BPy_CurveNatureF1D.cpp b/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_Nature_EdgeNature/BPy_CurveNatureF1D.cpp
index 70c454c2c71..55092416cc2 100644
--- a/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_Nature_EdgeNature/BPy_CurveNatureF1D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_Nature_EdgeNature/BPy_CurveNatureF1D.cpp
@@ -37,7 +37,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char CurveNatureF1D___doc__[] =
-"Class hierarchy: :class:`UnaryFunction1D` > :class:`UnaryFunction1DEdgeNature` > :class:`CurveNatureF1D`\n"
+"Class hierarchy: :class:`freestyle.types.UnaryFunction1D` > :class:`freestyle.types.UnaryFunction1DEdgeNature` > :class:`CurveNatureF1D`\n"
"\n"
".. method:: __init__(integration_type=IntegrationType.MEAN)\n"
"\n"
@@ -45,21 +45,22 @@ static char CurveNatureF1D___doc__[] =
"\n"
" :arg integration_type: The integration method used to compute a single value\n"
" from a set of values.\n"
-" :type integration_type: :class:`IntegrationType`\n"
+" :type integration_type: :class:`freestyle.types.IntegrationType`\n"
"\n"
".. method:: __call__(inter)\n"
"\n"
-" Returns the nature of the Interface1D (silhouette, ridge, crease,\n"
-" and so on). Except if the Interface1D is a :class:`ViewEdge`, this\n"
-" result might be ambiguous. Indeed, the Interface1D might result\n"
-" from the gathering of several 1D elements, each one being of a\n"
-" different nature. An integration method, such as the MEAN, might\n"
-" give, in this case, irrelevant results.\n"
+" Returns the nature of the Interface1D (silhouette, ridge, crease, and\n"
+" so on). Except if the Interface1D is a\n"
+" :class:`freestyle.types.ViewEdge`, this result might be ambiguous.\n"
+" Indeed, the Interface1D might result from the gathering of several 1D\n"
+" elements, each one being of a different nature. An integration\n"
+" method, such as the MEAN, might give, in this case, irrelevant\n"
+" results.\n"
"\n"
" :arg inter: An Interface1D object.\n"
-" :type inter: :class:`Interface1D`\n"
+" :type inter: :class:`freestyle.types.Interface1D`\n"
" :return: The nature of the Interface1D.\n"
-" :rtype: :class:`Nature`\n";
+" :rtype: :class:`freestyle.types.Nature`\n";
static int CurveNatureF1D___init__(BPy_CurveNatureF1D *self, PyObject *args, PyObject *kwds)
{
diff --git a/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_Vec2f/BPy_Normal2DF1D.cpp b/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_Vec2f/BPy_Normal2DF1D.cpp
index 6be8b81f43f..76330c77927 100644
--- a/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_Vec2f/BPy_Normal2DF1D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_Vec2f/BPy_Normal2DF1D.cpp
@@ -37,7 +37,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char Normal2DF1D___doc__[] =
-"Class hierarchy: :class:`UnaryFunction1D` > :class:`UnaryFunction1DVec2f` > :class:`Normal2DF1D`\n"
+"Class hierarchy: :class:`freestyle.types.UnaryFunction1D` > :class:`freestyle.types.UnaryFunction1DVec2f` > :class:`Normal2DF1D`\n"
"\n"
".. method:: __init__(integration_type=IntegrationType.MEAN)\n"
"\n"
@@ -45,14 +45,14 @@ static char Normal2DF1D___doc__[] =
"\n"
" :arg integration_type: The integration method used to compute a single value\n"
" from a set of values.\n"
-" :type integration_type: :class:`IntegrationType`\n"
+" :type integration_type: :class:`freestyle.types.IntegrationType`\n"
"\n"
".. method:: __call__(inter)\n"
"\n"
" Returns the 2D normal for the Interface1D.\n"
"\n"
" :arg inter: An Interface1D object.\n"
-" :type inter: :class:`Interface1D`\n"
+" :type inter: :class:`freestyle.types.Interface1D`\n"
" :return: The 2D normal for the Interface1D.\n"
" :rtype: :class:`mathutils.Vector`\n";
diff --git a/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_Vec2f/BPy_Orientation2DF1D.cpp b/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_Vec2f/BPy_Orientation2DF1D.cpp
index 01a6f8bd602..07aa9071c57 100644
--- a/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_Vec2f/BPy_Orientation2DF1D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_Vec2f/BPy_Orientation2DF1D.cpp
@@ -37,7 +37,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char Orientation2DF1D___doc__[] =
-"Class hierarchy: :class:`UnaryFunction1D` > :class:`UnaryFunction1DVec2f` > :class:`Orientation2DF1D`\n"
+"Class hierarchy: :class:`freestyle.types.UnaryFunction1D` > :class:`freestyle.types.UnaryFunction1DVec2f` > :class:`Orientation2DF1D`\n"
"\n"
".. method:: __init__(integration_type=IntegrationType.MEAN)\n"
"\n"
@@ -45,14 +45,14 @@ static char Orientation2DF1D___doc__[] =
"\n"
" :arg integration_type: The integration method used to compute a single value\n"
" from a set of values.\n"
-" :type integration_type: :class:`IntegrationType`\n"
+" :type integration_type: :class:`freestyle.types.IntegrationType`\n"
"\n"
".. method:: __call__(inter)\n"
"\n"
" Returns the 2D orientation of the Interface1D.\n"
"\n"
" :arg inter: An Interface1D object.\n"
-" :type inter: :class:`Interface1D`\n"
+" :type inter: :class:`freestyle.types.Interface1D`\n"
" :return: The 2D orientation of the Interface1D.\n"
" :rtype: :class:`mathutils.Vector`\n";
diff --git a/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_Vec3f/BPy_Orientation3DF1D.cpp b/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_Vec3f/BPy_Orientation3DF1D.cpp
index 4d76fb709d8..56dd67b1d2f 100644
--- a/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_Vec3f/BPy_Orientation3DF1D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_Vec3f/BPy_Orientation3DF1D.cpp
@@ -37,7 +37,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char Orientation3DF1D___doc__[] =
-"Class hierarchy: :class:`UnaryFunction1D` > :class:`UnaryFunction1DVec3f` > :class:`Orientation3DF1D`\n"
+"Class hierarchy: :class:`freestyle.types.UnaryFunction1D` > :class:`freestyle.types.UnaryFunction1DVec3f` > :class:`Orientation3DF1D`\n"
"\n"
".. method:: __init__(integration_type=IntegrationType.MEAN)\n"
"\n"
@@ -45,14 +45,14 @@ static char Orientation3DF1D___doc__[] =
"\n"
" :arg integration_type: The integration method used to compute a single value\n"
" from a set of values.\n"
-" :type integration_type: :class:`IntegrationType`\n"
+" :type integration_type: :class:`freestyle.types.IntegrationType`\n"
"\n"
".. method:: __call__(inter)\n"
"\n"
" Returns the 3D orientation of the Interface1D.\n"
"\n"
" :arg inter: An Interface1D object.\n"
-" :type inter: :class:`Interface1D`\n"
+" :type inter: :class:`freestyle.types.Interface1D`\n"
" :return: The 3D orientation of the Interface1D.\n"
" :rtype: :class:`mathutils.Vector`\n";
diff --git a/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_Curvature2DAngleF1D.cpp b/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_Curvature2DAngleF1D.cpp
index 4278f088863..e5779ce36e1 100644
--- a/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_Curvature2DAngleF1D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_Curvature2DAngleF1D.cpp
@@ -37,7 +37,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char Curvature2DAngleF1D___doc__[] =
-"Class hierarchy: :class:`UnaryFunction1D` > :class:`UnaryFunction1DDouble` > :class:`Curvature2DAngleF1D`\n"
+"Class hierarchy: :class:`freestyle.types.UnaryFunction1D` > :class:`freestyle.types.UnaryFunction1DDouble` > :class:`Curvature2DAngleF1D`\n"
"\n"
".. method:: __init__(integration_type=IntegrationType.MEAN)\n"
"\n"
@@ -45,14 +45,14 @@ static char Curvature2DAngleF1D___doc__[] =
"\n"
" :arg integration_type: The integration method used to compute a single value\n"
" from a set of values.\n"
-" :type integration_type: :class:`IntegrationType`\n"
+" :type integration_type: :class:`freestyle.types.IntegrationType`\n"
"\n"
".. method:: __call__(inter)\n"
"\n"
" Returns the 2D curvature as an angle for an Interface1D.\n"
"\n"
" :arg inter: An Interface1D object.\n"
-" :type inter: :class:`Interface1D`\n"
+" :type inter: :class:`freestyle.types.Interface1D`\n"
" :return: The 2D curvature as an angle.\n"
" :rtype: float\n";
diff --git a/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_DensityF1D.cpp b/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_DensityF1D.cpp
index 5beb724e9af..ffee3ec81f2 100644
--- a/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_DensityF1D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_DensityF1D.cpp
@@ -37,7 +37,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char DensityF1D___doc__[] =
-"Class hierarchy: :class:`UnaryFunction1D` > :class:`UnaryFunction1DDouble` > :class:`DensityF1D`\n"
+"Class hierarchy: :class:`freestyle.types.UnaryFunction1D` > :class:`freestyle.types.UnaryFunction1DDouble` > :class:`DensityF1D`\n"
"\n"
".. method:: __init__(sigma=2.0, integration_type=IntegrationType.MEAN, sampling=2.0)\n"
"\n"
@@ -48,7 +48,7 @@ static char DensityF1D___doc__[] =
" :type sigma: float\n"
" :arg integration_type: The integration method used to compute a single value\n"
" from a set of values.\n"
-" :type integration_type: :class:`IntegrationType`\n"
+" :type integration_type: :class:`freestyle.types.IntegrationType`\n"
" :arg sampling: The resolution used to sample the chain: the\n"
" corresponding 0D function is evaluated at each sample point and\n"
" the result is obtained by combining the resulting values into a\n"
@@ -59,12 +59,12 @@ static char DensityF1D___doc__[] =
"\n"
" Returns the density evaluated for an Interface1D. The density is\n"
" evaluated for a set of points along the Interface1D (using the\n"
-" :class:`DensityF0D` functor) with a user-defined sampling and then\n"
-" integrated into a single value using a user-defined integration\n"
-" method.\n"
+" :class:`freestyle.functions.DensityF0D` functor) with a user-defined\n"
+" sampling and then integrated into a single value using a user-defined\n"
+" integration method.\n"
"\n"
" :arg inter: An Interface1D object.\n"
-" :type inter: :class:`Interface1D`\n"
+" :type inter: :class:`freestyle.types.Interface1D`\n"
" :return: The density evaluated for an Interface1D.\n"
" :rtype: float\n";
diff --git a/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_GetCompleteViewMapDensityF1D.cpp b/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_GetCompleteViewMapDensityF1D.cpp
index 1a0588383fc..9164032488e 100644
--- a/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_GetCompleteViewMapDensityF1D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_GetCompleteViewMapDensityF1D.cpp
@@ -37,7 +37,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char GetCompleteViewMapDensityF1D___doc__[] =
-"Class hierarchy: :class:`UnaryFunction1D` > :class:`UnaryFunction1DDouble` > :class:`GetCompleteViewMapDensityF1D`\n"
+"Class hierarchy: :class:`freestyle.types.UnaryFunction1D` > :class:`freestyle.types.UnaryFunction1DDouble` > :class:`GetCompleteViewMapDensityF1D`\n"
"\n"
".. method:: __init__(level, integration_type=IntegrationType.MEAN, sampling=2.0)\n"
"\n"
@@ -48,7 +48,7 @@ static char GetCompleteViewMapDensityF1D___doc__[] =
" :type level: int\n"
" :arg integration_type: The integration method used to compute a single value\n"
" from a set of values.\n"
-" :type integration_type: :class:`IntegrationType`\n"
+" :type integration_type: :class:`freestyle.types.IntegrationType`\n"
" :arg sampling: The resolution used to sample the chain: the\n"
" corresponding 0D function is evaluated at each sample point and\n"
" the result is obtained by combining the resulting values into a\n"
@@ -58,13 +58,14 @@ static char GetCompleteViewMapDensityF1D___doc__[] =
".. method:: __call__(inter)\n"
"\n"
" Returns the density evaluated for an Interface1D in the complete\n"
-" viewmap image. The density is evaluated for a set of points along\n"
-" the Interface1D (using the :class:`ReadCompleteViewMapPixelF0D`\n"
-" functor) and then integrated into a single value using a\n"
-" user-defined integration method.\n"
+" viewmap image. The density is evaluated for a set of points along the\n"
+" Interface1D (using the\n"
+" :class:`freestyle.functions.ReadCompleteViewMapPixelF0D` functor) and\n"
+" then integrated into a single value using a user-defined integration\n"
+" method.\n"
"\n"
" :arg inter: An Interface1D object.\n"
-" :type inter: :class:`Interface1D`\n"
+" :type inter: :class:`freestyle.types.Interface1D`\n"
" :return: The density evaluated for the Interface1D in the complete\n"
" viewmap image.\n"
" :rtype: float\n";
diff --git a/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_GetDirectionalViewMapDensityF1D.cpp b/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_GetDirectionalViewMapDensityF1D.cpp
index 41841a83374..517b07f5c7f 100644
--- a/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_GetDirectionalViewMapDensityF1D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_GetDirectionalViewMapDensityF1D.cpp
@@ -37,7 +37,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char GetDirectionalViewMapDensityF1D___doc__[] =
-"Class hierarchy: :class:`UnaryFunction1D` > :class:`UnaryFunction1DDouble` "
+"Class hierarchy: :class:`freestyle.types.UnaryFunction1D` > :class:`freestyle.types.UnaryFunction1DDouble` "
"> :class:`GetDirectionalViewMapDensityF1D`\n"
"\n"
".. method:: __init__(orientation, level, integration_type=IntegrationType.MEAN, sampling=2.0)\n"
@@ -52,7 +52,7 @@ static char GetDirectionalViewMapDensityF1D___doc__[] =
" :type level: int\n"
" :arg integration_type: The integration method used to compute a single value\n"
" from a set of values.\n"
-" :type integration_type: :class:`IntegrationType`\n"
+" :type integration_type: :class:`freestyle.types.IntegrationType`\n"
" :arg sampling: The resolution used to sample the chain: the\n"
" corresponding 0D function is evaluated at each sample point and\n"
" the result is obtained by combining the resulting values into a\n"
@@ -61,15 +61,16 @@ static char GetDirectionalViewMapDensityF1D___doc__[] =
"\n"
".. method:: __call__(inter)\n"
"\n"
-" Returns the density evaluated for an Interface1D in of the\n"
-" steerable viewmaps image. The direction telling which Directional\n"
-" map to choose is explicitely specified by the user. The density is\n"
-" evaluated for a set of points along the Interface1D (using the\n"
-" :class:`ReadSteerableViewMapPixelF0D` functor) and then integrated\n"
-" into a single value using a user-defined integration method.\n"
+" Returns the density evaluated for an Interface1D in of the steerable\n"
+" viewmaps image. The direction telling which Directional map to choose\n"
+" is explicitely specified by the user. The density is evaluated for a\n"
+" set of points along the Interface1D (using the\n"
+" :class:`freestyle.functions.ReadSteerableViewMapPixelF0D` functor) and\n"
+" then integrated into a single value using a user-defined integration\n"
+" method.\n"
"\n"
" :arg inter: An Interface1D object.\n"
-" :type inter: :class:`Interface1D`\n"
+" :type inter: :class:`freestyle.types.Interface1D`\n"
" :return: the density evaluated for an Interface1D in of the\n"
" steerable viewmaps image.\n"
" :rtype: float\n";
diff --git a/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_GetProjectedXF1D.cpp b/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_GetProjectedXF1D.cpp
index 9baec0fe70a..290b43e5ea6 100644
--- a/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_GetProjectedXF1D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_GetProjectedXF1D.cpp
@@ -37,7 +37,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char GetProjectedXF1D___doc__[] =
-"Class hierarchy: :class:`UnaryFunction1D` > :class:`UnaryFunction1DDouble` > :class:`GetProjectedXF1D`\n"
+"Class hierarchy: :class:`freestyle.types.UnaryFunction1D` > :class:`freestyle.types.UnaryFunction1DDouble` > :class:`GetProjectedXF1D`\n"
"\n"
".. method:: __init__(integration_type=IntegrationType.MEAN)\n"
"\n"
@@ -45,14 +45,14 @@ static char GetProjectedXF1D___doc__[] =
"\n"
" :arg integration_type: The integration method used to compute a single value\n"
" from a set of values. \n"
-" :type integration_type: :class:`IntegrationType`\n"
+" :type integration_type: :class:`freestyle.types.IntegrationType`\n"
"\n"
".. method:: __call__(inter)\n"
"\n"
" Returns the projected X 3D coordinate of an Interface1D.\n"
"\n"
" :arg inter: An Interface1D object.\n"
-" :type inter: :class:`Interface1D`\n"
+" :type inter: :class:`freestyle.types.Interface1D`\n"
" :return: The projected X 3D coordinate of an Interface1D.\n"
" :rtype: float\n";
diff --git a/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_GetProjectedYF1D.cpp b/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_GetProjectedYF1D.cpp
index 004f014cc0d..7d9f7461908 100644
--- a/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_GetProjectedYF1D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_GetProjectedYF1D.cpp
@@ -37,7 +37,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char GetProjectedYF1D___doc__[] =
-"Class hierarchy: :class:`UnaryFunction1D` > :class:`UnaryFunction1DDouble` > :class:`GetProjectedYF1D`\n"
+"Class hierarchy: :class:`freestyle.types.UnaryFunction1D` > :class:`freestyle.types.UnaryFunction1DDouble` > :class:`GetProjectedYF1D`\n"
"\n"
".. method:: __init__(integration_type=IntegrationType.MEAN)\n"
"\n"
@@ -45,14 +45,14 @@ static char GetProjectedYF1D___doc__[] =
"\n"
" :arg integration_type: The integration method used to compute a single value\n"
" from a set of values. \n"
-" :type integration_type: :class:`IntegrationType`\n"
+" :type integration_type: :class:`freestyle.types.IntegrationType`\n"
"\n"
".. method:: __call__(inter)\n"
"\n"
" Returns the projected Y 3D coordinate of an Interface1D.\n"
"\n"
" :arg inter: An Interface1D object.\n"
-" :type inter: :class:`Interface1D`\n"
+" :type inter: :class:`freestyle.types.Interface1D`\n"
" :return: The projected Y 3D coordinate of an Interface1D.\n"
" :rtype: float\n";
diff --git a/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_GetProjectedZF1D.cpp b/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_GetProjectedZF1D.cpp
index daafe1a3b6f..b8e8cf5e57e 100644
--- a/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_GetProjectedZF1D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_GetProjectedZF1D.cpp
@@ -37,7 +37,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char GetProjectedZF1D___doc__[] =
-"Class hierarchy: :class:`UnaryFunction1D` > :class:`UnaryFunction1DDouble` > :class:`GetProjectedZF1D`\n"
+"Class hierarchy: :class:`freestyle.types.UnaryFunction1D` > :class:`freestyle.types.UnaryFunction1DDouble` > :class:`GetProjectedZF1D`\n"
"\n"
".. method:: __init__(integration_type=IntegrationType.MEAN)\n"
"\n"
@@ -45,14 +45,14 @@ static char GetProjectedZF1D___doc__[] =
"\n"
" :arg integration_type: The integration method used to compute a single value\n"
" from a set of values. \n"
-" :type integration_type: :class:`IntegrationType`\n"
+" :type integration_type: :class:`freestyle.types.IntegrationType`\n"
"\n"
".. method:: __call__(inter)\n"
"\n"
" Returns the projected Z 3D coordinate of an Interface1D.\n"
"\n"
" :arg inter: An Interface1D object.\n"
-" :type inter: :class:`Interface1D`\n"
+" :type inter: :class:`freestyle.types.Interface1D`\n"
" :return: The projected Z 3D coordinate of an Interface1D.\n"
" :rtype: float\n";
diff --git a/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_GetSteerableViewMapDensityF1D.cpp b/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_GetSteerableViewMapDensityF1D.cpp
index 199e437639f..c67485e7d36 100644
--- a/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_GetSteerableViewMapDensityF1D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_GetSteerableViewMapDensityF1D.cpp
@@ -37,7 +37,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char GetSteerableViewMapDensityF1D___doc__[] =
-"Class hierarchy: :class:`UnaryFunction1D` > :class:`UnaryFunction1DDouble` > :class:`GetSteerableViewMapDensityF1D`\n"
+"Class hierarchy: :class:`freestyle.types.UnaryFunction1D` > :class:`freestyle.types.UnaryFunction1DDouble` > :class:`GetSteerableViewMapDensityF1D`\n"
"\n"
".. method:: __init__(level, integration_type=IntegrationType.MEAN, sampling=2.0)\n"
"\n"
@@ -48,7 +48,7 @@ static char GetSteerableViewMapDensityF1D___doc__[] =
" :type level: int\n"
" :arg integration_type: The integration method used to compute a single value\n"
" from a set of values.\n"
-" :type integration_type: :class:`IntegrationType`\n"
+" :type integration_type: :class:`freestyle.types.IntegrationType`\n"
" :arg sampling: The resolution used to sample the chain: the\n"
" corresponding 0D function is evaluated at each sample point and\n"
" the result is obtained by combining the resulting values into a\n"
@@ -58,11 +58,12 @@ static char GetSteerableViewMapDensityF1D___doc__[] =
".. method:: __call__(inter)\n"
"\n"
" Returns the density of the ViewMap for a given Interface1D. The\n"
-" density of each :class:`FEdge` is evaluated in the proper steerable\n"
-" :class:`ViewMap` depending on its orientation.\n"
+" density of each :class:`freestyle.types.FEdge` is evaluated in the\n"
+" proper steerable :class:`freestyle.types.ViewMap` depending on its\n"
+" orientation.\n"
"\n"
" :arg inter: An Interface1D object.\n"
-" :type inter: :class:`Interface1D`\n"
+" :type inter: :class:`freestyle.types.Interface1D`\n"
" :return: The density of the ViewMap for a given Interface1D.\n"
" :rtype: float\n";
diff --git a/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_GetViewMapGradientNormF1D.cpp b/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_GetViewMapGradientNormF1D.cpp
index 5c9bd76a4b3..ebcb273082e 100644
--- a/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_GetViewMapGradientNormF1D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_GetViewMapGradientNormF1D.cpp
@@ -37,7 +37,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char GetViewMapGradientNormF1D___doc__[] =
-"Class hierarchy: :class:`UnaryFunction1D` > :class:`UnaryFunction1DDouble` > :class:`GetViewMapGradientNormF1D`\n"
+"Class hierarchy: :class:`freestyle.types.UnaryFunction1D` > :class:`freestyle.types.UnaryFunction1DDouble` > :class:`GetViewMapGradientNormF1D`\n"
"\n"
".. method:: __init__(level, integration_type=IntegrationType.MEAN, sampling=2.0)\n"
"\n"
@@ -48,7 +48,7 @@ static char GetViewMapGradientNormF1D___doc__[] =
" :type level: int\n"
" :arg integration_type: The integration method used to compute a single value\n"
" from a set of values.\n"
-" :type integration_type: :class:`IntegrationType`\n"
+" :type integration_type: :class:`freestyle.types.IntegrationType`\n"
" :arg sampling: The resolution used to sample the chain: the\n"
" corresponding 0D function is evaluated at each sample point and\n"
" the result is obtained by combining the resulting values into a\n"
@@ -58,11 +58,12 @@ static char GetViewMapGradientNormF1D___doc__[] =
".. method:: __call__(inter)\n"
"\n"
" Returns the density of the ViewMap for a given Interface1D. The\n"
-" density of each :class:`FEdge` is evaluated in the proper steerable\n"
-" :class:`ViewMap` depending on its orientation.\n"
+" density of each :class:`freestyle.types.FEdge` is evaluated in the\n"
+" proper steerable :class:`freestyle.types.ViewMap` depending on its\n"
+" orientation.\n"
"\n"
" :arg inter: An Interface1D object.\n"
-" :type inter: :class:`Interface1D`\n"
+" :type inter: :class:`freestyle.types.Interface1D`\n"
" :return: The density of the ViewMap for a given Interface1D.\n"
" :rtype: float\n";
diff --git a/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_GetXF1D.cpp b/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_GetXF1D.cpp
index fa749a05c69..b55a4a79fe9 100644
--- a/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_GetXF1D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_GetXF1D.cpp
@@ -37,7 +37,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char GetXF1D___doc__[] =
-"Class hierarchy: :class:`UnaryFunction1D` > :class:`UnaryFunction1DDouble` > :class:`GetXF1D`\n"
+"Class hierarchy: :class:`freestyle.types.UnaryFunction1D` > :class:`freestyle.types.UnaryFunction1DDouble` > :class:`GetXF1D`\n"
"\n"
".. method:: __init__(integration_type=IntegrationType.MEAN)\n"
"\n"
@@ -45,14 +45,14 @@ static char GetXF1D___doc__[] =
"\n"
" :arg integration_type: The integration method used to compute a single value\n"
" from a set of values.\n"
-" :type integration_type: :class:`IntegrationType`\n"
+" :type integration_type: :class:`freestyle.types.IntegrationType`\n"
"\n"
".. method:: __call__(inter)\n"
"\n"
" Returns the X 3D coordinate of an Interface1D.\n"
"\n"
" :arg inter: An Interface1D object.\n"
-" :type inter: :class:`Interface1D`\n"
+" :type inter: :class:`freestyle.types.Interface1D`\n"
" :return: The X 3D coordinate of the Interface1D.\n"
" :rtype: float\n";
diff --git a/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_GetYF1D.cpp b/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_GetYF1D.cpp
index 96022997763..d760ef948f0 100644
--- a/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_GetYF1D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_GetYF1D.cpp
@@ -37,7 +37,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char GetYF1D___doc__[] =
-"Class hierarchy: :class:`UnaryFunction1D` > :class:`UnaryFunction1DDouble` > :class:`GetYF1D`\n"
+"Class hierarchy: :class:`freestyle.types.UnaryFunction1D` > :class:`freestyle.types.UnaryFunction1DDouble` > :class:`GetYF1D`\n"
"\n"
".. method:: __init__(integration_type=IntegrationType.MEAN)\n"
"\n"
@@ -45,14 +45,14 @@ static char GetYF1D___doc__[] =
"\n"
" :arg integration_type: The integration method used to compute a single value\n"
" from a set of values.\n"
-" :type integration_type: :class:`IntegrationType`\n"
+" :type integration_type: :class:`freestyle.types.IntegrationType`\n"
"\n"
".. method:: __call__(inter)\n"
"\n"
" Returns the Y 3D coordinate of an Interface1D.\n"
"\n"
" :arg inter: An Interface1D object.\n"
-" :type inter: :class:`Interface1D`\n"
+" :type inter: :class:`freestyle.types.Interface1D`\n"
" :return: The Y 3D coordinate of the Interface1D.\n"
" :rtype: float\n";
diff --git a/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_GetZF1D.cpp b/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_GetZF1D.cpp
index 46695affe49..72a8b22630d 100644
--- a/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_GetZF1D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_GetZF1D.cpp
@@ -37,7 +37,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char GetZF1D___doc__[] =
-"Class hierarchy: :class:`UnaryFunction1D` > :class:`UnaryFunction1DDouble` > :class:`GetZF1D`\n"
+"Class hierarchy: :class:`freestyle.types.UnaryFunction1D` > :class:`freestyle.types.UnaryFunction1DDouble` > :class:`GetZF1D`\n"
"\n"
".. method:: __init__(integration_type=IntegrationType.MEAN)\n"
"\n"
@@ -45,14 +45,14 @@ static char GetZF1D___doc__[] =
"\n"
" :arg integration_type: The integration method used to compute a single value\n"
" from a set of values.\n"
-" :type integration_type: :class:`IntegrationType`\n"
+" :type integration_type: :class:`freestyle.types.IntegrationType`\n"
"\n"
".. method:: __call__(inter)\n"
"\n"
" Returns the Z 3D coordinate of an Interface1D.\n"
"\n"
" :arg inter: An Interface1D object.\n"
-" :type inter: :class:`Interface1D`\n"
+" :type inter: :class:`freestyle.types.Interface1D`\n"
" :return: The Z 3D coordinate of the Interface1D.\n"
" :rtype: float\n";
diff --git a/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_LocalAverageDepthF1D.cpp b/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_LocalAverageDepthF1D.cpp
index 3638908c5bd..424f08c07c0 100644
--- a/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_LocalAverageDepthF1D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_LocalAverageDepthF1D.cpp
@@ -37,7 +37,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char LocalAverageDepthF1D___doc__[] =
-"Class hierarchy: :class:`UnaryFunction1D` > :class:`UnaryFunction1DDouble` > :class:`LocalAverageDepthF1D`\n"
+"Class hierarchy: :class:`freestyle.types.UnaryFunction1D` > :class:`freestyle.types.UnaryFunction1DDouble` > :class:`LocalAverageDepthF1D`\n"
"\n"
".. method:: __init__(sigma, integration_type=IntegrationType.MEAN)\n"
"\n"
@@ -48,18 +48,18 @@ static char LocalAverageDepthF1D___doc__[] =
" :type sigma: float\n"
" :arg integration_type: The integration method used to compute a single value\n"
" from a set of values.\n"
-" :type integration_type: :class:`IntegrationType`\n"
+" :type integration_type: :class:`freestyle.types.IntegrationType`\n"
"\n"
".. method:: __call__(inter)\n"
"\n"
-" Returns the average depth evaluated for an Interface1D. The\n"
-" average depth is evaluated for a set of points along the\n"
-" Interface1D (using the :class:`LocalAverageDepthF0D` functor) with\n"
-" a user-defined sampling and then integrated into a single value\n"
-" using a user-defined integration method.\n"
+" Returns the average depth evaluated for an Interface1D. The average\n"
+" depth is evaluated for a set of points along the Interface1D (using\n"
+" the :class:`freestyle.functions.LocalAverageDepthF0D` functor) with a\n"
+" user-defined sampling and then integrated into a single value using a\n"
+" user-defined integration method.\n"
"\n"
" :arg inter: An Interface1D object.\n"
-" :type inter: :class:`Interface1D`\n"
+" :type inter: :class:`freestyle.types.Interface1D`\n"
" :return: The average depth evaluated for the Interface1D.\n"
" :rtype: float\n";
diff --git a/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_ZDiscontinuityF1D.cpp b/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_ZDiscontinuityF1D.cpp
index 65fde596e23..488675142b6 100644
--- a/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_ZDiscontinuityF1D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_double/BPy_ZDiscontinuityF1D.cpp
@@ -37,7 +37,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char ZDiscontinuityF1D___doc__[] =
-"Class hierarchy: :class:`UnaryFunction1D` > :class:`UnaryFunction1DDouble` > :class:`ZDiscontinuityF1D`\n"
+"Class hierarchy: :class:`freestyle.types.UnaryFunction1D` > :class:`freestyle.types.UnaryFunction1DDouble` > :class:`ZDiscontinuityF1D`\n"
"\n"
".. method:: __init__(integration_type=IntegrationType.MEAN)\n"
"\n"
@@ -45,7 +45,7 @@ static char ZDiscontinuityF1D___doc__[] =
"\n"
" :arg integration_type: The integration method used to compute a single value\n"
" from a set of values.\n"
-" :type integration_type: :class:`IntegrationType`\n"
+" :type integration_type: :class:`freestyle.types.IntegrationType`\n"
"\n"
".. method:: __call__(inter)\n"
"\n"
@@ -56,7 +56,7 @@ static char ZDiscontinuityF1D___doc__[] =
" Interface1D belongs to, 1 is returned.\n"
"\n"
" :arg inter: An Interface1D object.\n"
-" :type inter: :class:`Interface1D`\n"
+" :type inter: :class:`freestyle.types.Interface1D`\n"
" :return: The normalized distance between the Interface1D and the occludee.\n"
" :rtype: float\n";
diff --git a/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_unsigned_int/BPy_QuantitativeInvisibilityF1D.cpp b/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_unsigned_int/BPy_QuantitativeInvisibilityF1D.cpp
index c70493e9140..a21efd655ab 100644
--- a/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_unsigned_int/BPy_QuantitativeInvisibilityF1D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_unsigned_int/BPy_QuantitativeInvisibilityF1D.cpp
@@ -37,7 +37,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char QuantitativeInvisibilityF1D___doc__[] =
-"Class hierarchy: :class:`UnaryFunction1D` > :class:`UnaryFunction1DUnsigned` > :class:`QuantitativeInvisibilityF1D`\n"
+"Class hierarchy: :class:`freestyle.types.UnaryFunction1D` > :class:`freestyle.types.UnaryFunction1DUnsigned` > :class:`QuantitativeInvisibilityF1D`\n"
"\n"
".. method:: __init__(integration_type=IntegrationType.MEAN)\n"
"\n"
@@ -45,18 +45,18 @@ static char QuantitativeInvisibilityF1D___doc__[] =
"\n"
" :arg integration_type: The integration method used to compute a single value\n"
" from a set of values.\n"
-" :type integration_type: :class:`IntegrationType`\n"
+" :type integration_type: :class:`freestyle.types.IntegrationType`\n"
"\n"
".. method:: __call__(inter)\n"
"\n"
-" Returns the Quantitative Invisibility of an Interface1D element.\n"
-" If the Interface1D is a :class:`ViewEdge`, then there is no\n"
-" ambiguity concerning the result. But, if the Interface1D results\n"
+" Returns the Quantitative Invisibility of an Interface1D element. If\n"
+" the Interface1D is a :class:`freestyle.types.ViewEdge`, then there is\n"
+" no ambiguity concerning the result. But, if the Interface1D results\n"
" of a chaining (chain, stroke), then it might be made of several 1D\n"
" elements of different Quantitative Invisibilities.\n"
"\n"
" :arg inter: An Interface1D object.\n"
-" :type inter: :class:`Interface1D`\n"
+" :type inter: :class:`freestyle.types.Interface1D`\n"
" :return: The Quantitative Invisibility of the Interface1D.\n"
" :rtype: int\n";
diff --git a/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_vector_ViewShape/BPy_GetOccludeeF1D.cpp b/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_vector_ViewShape/BPy_GetOccludeeF1D.cpp
index d0c16f8dae2..e4e7560822d 100644
--- a/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_vector_ViewShape/BPy_GetOccludeeF1D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_vector_ViewShape/BPy_GetOccludeeF1D.cpp
@@ -37,7 +37,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char GetOccludeeF1D___doc__[] =
-"Class hierarchy: :class:`UnaryFunction1D` > :class:`UnaryFunction1DVectorViewShape` > :class:`GetOccludeeF1D`\n"
+"Class hierarchy: :class:`freestyle.types.UnaryFunction1D` > :class:`freestyle.types.UnaryFunction1DVectorViewShape` > :class:`GetOccludeeF1D`\n"
"\n"
".. method:: __init__()\n"
"\n"
@@ -48,9 +48,9 @@ static char GetOccludeeF1D___doc__[] =
" Returns a list of occluded shapes covered by this Interface1D.\n"
"\n"
" :arg inter: An Interface1D object.\n"
-" :type inter: :class:`Interface1D`\n"
+" :type inter: :class:`freestyle.types.Interface1D`\n"
" :return: A list of occluded shapes covered by the Interface1D.\n"
-" :rtype: list of :class:`ViewShape` objects\n";
+" :rtype: list of :class:`freestyle.types.ViewShape` objects\n";
static int GetOccludeeF1D___init__(BPy_GetOccludeeF1D *self, PyObject *args, PyObject *kwds)
{
diff --git a/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_vector_ViewShape/BPy_GetOccludersF1D.cpp b/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_vector_ViewShape/BPy_GetOccludersF1D.cpp
index 62612c7cc19..ced04a5077a 100644
--- a/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_vector_ViewShape/BPy_GetOccludersF1D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_vector_ViewShape/BPy_GetOccludersF1D.cpp
@@ -37,7 +37,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char GetOccludersF1D___doc__[] =
-"Class hierarchy: :class:`UnaryFunction1D` > :class:`UnaryFunction1DVectorViewShape` > :class:`GetOccludersF1D`\n"
+"Class hierarchy: :class:`freestyle.types.UnaryFunction1D` > :class:`freestyle.types.UnaryFunction1DVectorViewShape` > :class:`GetOccludersF1D`\n"
"\n"
".. method:: __init__()\n"
"\n"
@@ -48,9 +48,9 @@ static char GetOccludersF1D___doc__[] =
" Returns a list of occluding shapes that cover this Interface1D.\n"
"\n"
" :arg inter: An Interface1D object.\n"
-" :type inter: :class:`Interface1D`\n"
+" :type inter: :class:`freestyle.types.Interface1D`\n"
" :return: A list of occluding shapes that cover the Interface1D.\n"
-" :rtype: list of :class:`ViewShape` objects\n";
+" :rtype: list of :class:`freestyle.types.ViewShape` objects\n";
static int GetOccludersF1D___init__(BPy_GetOccludersF1D *self, PyObject *args, PyObject *kwds)
{
diff --git a/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_vector_ViewShape/BPy_GetShapeF1D.cpp b/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_vector_ViewShape/BPy_GetShapeF1D.cpp
index 1dab3962ec2..f26f8105a9e 100644
--- a/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_vector_ViewShape/BPy_GetShapeF1D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_vector_ViewShape/BPy_GetShapeF1D.cpp
@@ -37,7 +37,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char GetShapeF1D___doc__[] =
-"Class hierarchy: :class:`UnaryFunction1D` > :class:`UnaryFunction1DVectorViewShape` > :class:`GetShapeF1D`\n"
+"Class hierarchy: :class:`freestyle.types.UnaryFunction1D` > :class:`freestyle.types.UnaryFunction1DVectorViewShape` > :class:`GetShapeF1D`\n"
"\n"
".. method:: __init__()\n"
"\n"
@@ -48,9 +48,9 @@ static char GetShapeF1D___doc__[] =
" Returns a list of shapes covered by this Interface1D.\n"
"\n"
" :arg inter: An Interface1D object.\n"
-" :type inter: :class:`Interface1D`\n"
+" :type inter: :class:`freestyle.types.Interface1D`\n"
" :return: A list of shapes covered by the Interface1D.\n"
-" :rtype: list of :class:`ViewShape` objects\n";
+" :rtype: list of :class:`freestyle.types.ViewShape` objects\n";
static int GetShapeF1D___init__(BPy_GetShapeF1D *self, PyObject *args, PyObject *kwds)
{
diff --git a/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_void/BPy_ChainingTimeStampF1D.cpp b/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_void/BPy_ChainingTimeStampF1D.cpp
index e585829ff0a..128deeccd11 100644
--- a/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_void/BPy_ChainingTimeStampF1D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_void/BPy_ChainingTimeStampF1D.cpp
@@ -37,7 +37,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char ChainingTimeStampF1D___doc__[] =
-"Class hierarchy: :class:`UnaryFunction1D` > :class:`UnaryFunction1DVoid` > :class:`ChainingTimeStampF1D`\n"
+"Class hierarchy: :class:`freestyle.types.UnaryFunction1D` > :class:`freestyle.types.UnaryFunction1DVoid` > :class:`ChainingTimeStampF1D`\n"
"\n"
".. method:: __init__()\n"
"\n"
@@ -48,7 +48,7 @@ static char ChainingTimeStampF1D___doc__[] =
" Sets the chaining time stamp of the Interface1D.\n"
"\n"
" :arg inter: An Interface1D object.\n"
-" :type inter: :class:`Interface1D`\n";
+" :type inter: :class:`freestyle.types.Interface1D`\n";
static int ChainingTimeStampF1D___init__(BPy_ChainingTimeStampF1D *self, PyObject *args, PyObject *kwds)
{
diff --git a/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_void/BPy_IncrementChainingTimeStampF1D.cpp b/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_void/BPy_IncrementChainingTimeStampF1D.cpp
index 96d594ff56e..64a92a8e357 100644
--- a/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_void/BPy_IncrementChainingTimeStampF1D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_void/BPy_IncrementChainingTimeStampF1D.cpp
@@ -37,7 +37,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char IncrementChainingTimeStampF1D___doc__[] =
-"Class hierarchy: :class:`UnaryFunction1D` > :class:`UnaryFunction1DVoid` > :class:`IncrementChainingTimeStampF1D`\n"
+"Class hierarchy: :class:`freestyle.types.UnaryFunction1D` > :class:`freestyle.types.UnaryFunction1DVoid` > :class:`IncrementChainingTimeStampF1D`\n"
"\n"
".. method:: __init__()\n"
"\n"
@@ -48,7 +48,7 @@ static char IncrementChainingTimeStampF1D___doc__[] =
" Increments the chaining time stamp of the Interface1D.\n"
"\n"
" :arg inter: An Interface1D object.\n"
-" :type inter: :class:`Interface1D`\n";
+" :type inter: :class:`freestyle.types.Interface1D`\n";
static int IncrementChainingTimeStampF1D___init__(BPy_IncrementChainingTimeStampF1D *self,
PyObject *args, PyObject *kwds)
diff --git a/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_void/BPy_TimeStampF1D.cpp b/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_void/BPy_TimeStampF1D.cpp
index 715bbaafdba..2cd359eea61 100644
--- a/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_void/BPy_TimeStampF1D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryFunction1D/UnaryFunction1D_void/BPy_TimeStampF1D.cpp
@@ -37,7 +37,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char TimeStampF1D___doc__[] =
-"Class hierarchy: :class:`UnaryFunction1D` > :class:`UnaryFunction1DVoid` > :class:`TimeStampF1D`\n"
+"Class hierarchy: :class:`freestyle.types.UnaryFunction1D` > :class:`freestyle.types.UnaryFunction1DVoid` > :class:`TimeStampF1D`\n"
"\n"
".. method:: __init__()\n"
"\n"
@@ -48,7 +48,7 @@ static char TimeStampF1D___doc__[] =
" Returns the time stamp of the Interface1D.\n"
"\n"
" :arg inter: An Interface1D object.\n"
-" :type inter: :class:`Interface1D`\n";
+" :type inter: :class:`freestyle.types.Interface1D`\n";
static int TimeStampF1D___init__(BPy_TimeStampF1D *self, PyObject *args, PyObject *kwds)
{
diff --git a/source/blender/freestyle/intern/python/UnaryPredicate0D/BPy_FalseUP0D.cpp b/source/blender/freestyle/intern/python/UnaryPredicate0D/BPy_FalseUP0D.cpp
index 896348d143c..36511e01358 100644
--- a/source/blender/freestyle/intern/python/UnaryPredicate0D/BPy_FalseUP0D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryPredicate0D/BPy_FalseUP0D.cpp
@@ -33,14 +33,14 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char FalseUP0D___doc__[] =
-"Class hierarchy: :class:`UnaryPredicate0D` > :class:`FalseUP0D`\n"
+"Class hierarchy: :class:`freestyle.types.UnaryPredicate0D` > :class:`FalseUP0D`\n"
"\n"
".. method:: __call__(it)\n"
"\n"
" Always returns false.\n"
"\n"
" :arg it: An Interface0DIterator object.\n"
-" :type it: :class:`Interface0DIterator`\n"
+" :type it: :class:`freestyle.types.Interface0DIterator`\n"
" :return: False.\n"
" :rtype: bool\n";
diff --git a/source/blender/freestyle/intern/python/UnaryPredicate0D/BPy_TrueUP0D.cpp b/source/blender/freestyle/intern/python/UnaryPredicate0D/BPy_TrueUP0D.cpp
index c4c157dd689..f5da320a31c 100644
--- a/source/blender/freestyle/intern/python/UnaryPredicate0D/BPy_TrueUP0D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryPredicate0D/BPy_TrueUP0D.cpp
@@ -33,14 +33,14 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char TrueUP0D___doc__[] =
-"Class hierarchy: :class:`UnaryPredicate0D` > :class:`TrueUP0D`\n"
+"Class hierarchy: :class:`freestyle.types.UnaryPredicate0D` > :class:`TrueUP0D`\n"
"\n"
".. method:: __call__(it)\n"
"\n"
" Always returns true.\n"
"\n"
" :arg it: An Interface0DIterator object.\n"
-" :type it: :class:`Interface0DIterator`\n"
+" :type it: :class:`freestyle.types.Interface0DIterator`\n"
" :return: True.\n"
" :rtype: bool\n";
diff --git a/source/blender/freestyle/intern/python/UnaryPredicate1D/BPy_ContourUP1D.cpp b/source/blender/freestyle/intern/python/UnaryPredicate1D/BPy_ContourUP1D.cpp
index 8365f9b832a..d0ced2ad4c3 100644
--- a/source/blender/freestyle/intern/python/UnaryPredicate1D/BPy_ContourUP1D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryPredicate1D/BPy_ContourUP1D.cpp
@@ -33,7 +33,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char ContourUP1D___doc__[] =
-"Class hierarchy: :class:`UnaryPredicate1D` > :class:`ContourUP1D`\n"
+"Class hierarchy: :class:`freestyle.types.UnaryPredicate1D` > :class:`ContourUP1D`\n"
"\n"
".. method:: __call__(inter)\n"
"\n"
@@ -41,7 +41,7 @@ static char ContourUP1D___doc__[] =
" contour if it is borded by a different shape on each of its sides.\n"
"\n"
" :arg inter: An Interface1D object.\n"
-" :type inter: :class:`Interface1D`\n"
+" :type inter: :class:`freestyle.types.Interface1D`\n"
" :return: True if the Interface1D is a contour, false otherwise.\n"
" :rtype: bool\n";
diff --git a/source/blender/freestyle/intern/python/UnaryPredicate1D/BPy_DensityLowerThanUP1D.cpp b/source/blender/freestyle/intern/python/UnaryPredicate1D/BPy_DensityLowerThanUP1D.cpp
index b0bd67744c5..807d76f4731 100644
--- a/source/blender/freestyle/intern/python/UnaryPredicate1D/BPy_DensityLowerThanUP1D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryPredicate1D/BPy_DensityLowerThanUP1D.cpp
@@ -35,7 +35,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char DensityLowerThanUP1D___doc__[] =
-"Class hierarchy: :class:`UnaryPredicate1D` > :class:`DensityLowerThanUP1D`\n"
+"Class hierarchy: :class:`freestyle.types.UnaryPredicate1D` > :class:`DensityLowerThanUP1D`\n"
"\n"
".. method:: __init__(threshold, sigma=2.0)\n"
"\n"
@@ -45,7 +45,7 @@ static char DensityLowerThanUP1D___doc__[] =
" having a density lower than this threshold will match.\n"
" :type threshold: float\n"
" :arg sigma: The sigma value defining the density evaluation window\n"
-" size used in the :class:`DensityF0D` functor.\n"
+" size used in the :class:`freestyle.functions.DensityF0D` functor.\n"
" :type sigma: float\n"
"\n"
".. method:: __call__(inter)\n"
@@ -54,7 +54,7 @@ static char DensityLowerThanUP1D___doc__[] =
" than a user-defined density value.\n"
"\n"
" :arg inter: An Interface1D object.\n"
-" :type inter: :class:`Interface1D`\n"
+" :type inter: :class:`freestyle.types.Interface1D`\n"
" :return: True if the density is lower than a threshold.\n"
" :rtype: bool\n";
diff --git a/source/blender/freestyle/intern/python/UnaryPredicate1D/BPy_EqualToChainingTimeStampUP1D.cpp b/source/blender/freestyle/intern/python/UnaryPredicate1D/BPy_EqualToChainingTimeStampUP1D.cpp
index 5cc5e0cf12a..f8a7ff8650c 100644
--- a/source/blender/freestyle/intern/python/UnaryPredicate1D/BPy_EqualToChainingTimeStampUP1D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryPredicate1D/BPy_EqualToChainingTimeStampUP1D.cpp
@@ -33,7 +33,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char EqualToChainingTimeStampUP1D___doc__[] =
-"Class hierarchy: :class:`UnaryPredicate1D` > :class:`EqualToChainingTimeStampUP1D`\n"
+"Class hierarchy: :class:`freestyle.types.UnaryPredicate1D` > :class:`freestyle.types.EqualToChainingTimeStampUP1D`\n"
"\n"
".. method:: __init__(ts)\n"
"\n"
@@ -48,7 +48,7 @@ static char EqualToChainingTimeStampUP1D___doc__[] =
" user-defined value.\n"
"\n"
" :arg inter: An Interface1D object.\n"
-" :type inter: :class:`Interface1D`\n"
+" :type inter: :class:`freestyle.types.Interface1D`\n"
" :return: True if the time stamp is equal to a user-defined value.\n"
" :rtype: bool\n";
diff --git a/source/blender/freestyle/intern/python/UnaryPredicate1D/BPy_EqualToTimeStampUP1D.cpp b/source/blender/freestyle/intern/python/UnaryPredicate1D/BPy_EqualToTimeStampUP1D.cpp
index a2cafcf5fd2..ffed4f966e6 100644
--- a/source/blender/freestyle/intern/python/UnaryPredicate1D/BPy_EqualToTimeStampUP1D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryPredicate1D/BPy_EqualToTimeStampUP1D.cpp
@@ -33,7 +33,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char EqualToTimeStampUP1D___doc__[] =
-"Class hierarchy: :class:`UnaryPredicate1D` > :class:`EqualToTimeStampUP1D`\n"
+"Class hierarchy: :class:`freestyle.types.UnaryPredicate1D` > :class:`EqualToTimeStampUP1D`\n"
"\n"
".. method:: __init__(ts)\n"
"\n"
@@ -48,7 +48,7 @@ static char EqualToTimeStampUP1D___doc__[] =
" user-defined value.\n"
"\n"
" :arg inter: An Interface1D object.\n"
-" :type inter: :class:`Interface1D`\n"
+" :type inter: :class:`freestyle.types.Interface1D`\n"
" :return: True if the time stamp is equal to a user-defined value.\n"
" :rtype: bool\n";
diff --git a/source/blender/freestyle/intern/python/UnaryPredicate1D/BPy_ExternalContourUP1D.cpp b/source/blender/freestyle/intern/python/UnaryPredicate1D/BPy_ExternalContourUP1D.cpp
index 486b020ef6a..140ebb86454 100644
--- a/source/blender/freestyle/intern/python/UnaryPredicate1D/BPy_ExternalContourUP1D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryPredicate1D/BPy_ExternalContourUP1D.cpp
@@ -33,7 +33,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char ExternalContourUP1D___doc__[] =
-"Class hierarchy: :class:`UnaryPredicate1D` > :class:`ExternalContourUP1D`\n"
+"Class hierarchy: :class:`freestyle.types.UnaryPredicate1D` > :class:`ExternalContourUP1D`\n"
"\n"
".. method:: __call__(inter)\n"
"\n"
@@ -42,7 +42,7 @@ static char ExternalContourUP1D___doc__[] =
" one of its sides.\n"
"\n"
" :arg inter: An Interface1D object.\n"
-" :type inter: :class:`Interface1D`\n"
+" :type inter: :class:`freestyle.types.Interface1D`\n"
" :return: True if the Interface1D is an external contour, false\n"
" otherwise.\n"
" :rtype: bool\n";
diff --git a/source/blender/freestyle/intern/python/UnaryPredicate1D/BPy_FalseUP1D.cpp b/source/blender/freestyle/intern/python/UnaryPredicate1D/BPy_FalseUP1D.cpp
index 098f449048e..2d1e99aed2b 100644
--- a/source/blender/freestyle/intern/python/UnaryPredicate1D/BPy_FalseUP1D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryPredicate1D/BPy_FalseUP1D.cpp
@@ -33,14 +33,14 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char FalseUP1D___doc__[] =
-"Class hierarchy: :class:`UnaryPredicate1D` > :class:`FalseUP1D`\n"
+"Class hierarchy: :class:`freestyle.types.UnaryPredicate1D` > :class:`FalseUP1D`\n"
"\n"
".. method:: __call__(inter)\n"
"\n"
" Always returns false.\n"
"\n"
" :arg inter: An Interface1D object.\n"
-" :type inter: :class:`Interface1D`\n"
+" :type inter: :class:`freestyle.types.Interface1D`\n"
" :return: False.\n"
" :rtype: bool\n";
diff --git a/source/blender/freestyle/intern/python/UnaryPredicate1D/BPy_QuantitativeInvisibilityUP1D.cpp b/source/blender/freestyle/intern/python/UnaryPredicate1D/BPy_QuantitativeInvisibilityUP1D.cpp
index 143aac7d4c5..806ad8168ac 100644
--- a/source/blender/freestyle/intern/python/UnaryPredicate1D/BPy_QuantitativeInvisibilityUP1D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryPredicate1D/BPy_QuantitativeInvisibilityUP1D.cpp
@@ -33,7 +33,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char QuantitativeInvisibilityUP1D___doc__[] =
-"Class hierarchy: :class:`UnaryPredicate1D` > :class:`QuantitativeInvisibilityUP1D`\n"
+"Class hierarchy: :class:`freestyle.types.UnaryPredicate1D` > :class:`QuantitativeInvisibilityUP1D`\n"
"\n"
".. method:: __init__(qi=0)\n"
"\n"
@@ -46,11 +46,12 @@ static char QuantitativeInvisibilityUP1D___doc__[] =
".. method:: __call__(inter)\n"
"\n"
" Returns true if the Quantitative Invisibility evaluated at an\n"
-" Interface1D, using the :class:`QuantitativeInvisibilityF1D`\n"
-" functor, equals a certain user-defined value.\n"
+" Interface1D, using the\n"
+" :class:`freestyle.functions.QuantitativeInvisibilityF1D` functor,\n"
+" equals a certain user-defined value.\n"
"\n"
" :arg inter: An Interface1D object.\n"
-" :type inter: :class:`Interface1D`\n"
+" :type inter: :class:`freestyle.types.Interface1D`\n"
" :return: True if Quantitative Invisibility equals a user-defined\n"
" value.\n"
" :rtype: bool\n";
diff --git a/source/blender/freestyle/intern/python/UnaryPredicate1D/BPy_ShapeUP1D.cpp b/source/blender/freestyle/intern/python/UnaryPredicate1D/BPy_ShapeUP1D.cpp
index 998d6b1ed61..93970972aac 100644
--- a/source/blender/freestyle/intern/python/UnaryPredicate1D/BPy_ShapeUP1D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryPredicate1D/BPy_ShapeUP1D.cpp
@@ -33,7 +33,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char ShapeUP1D___doc__[] =
-"Class hierarchy: :class:`UnaryPredicate1D` > :class:`ShapeUP1D`\n"
+"Class hierarchy: :class:`freestyle.types.UnaryPredicate1D` > :class:`ShapeUP1D`\n"
"\n"
".. method:: __init__(first, second=0)\n"
"\n"
@@ -46,11 +46,11 @@ static char ShapeUP1D___doc__[] =
"\n"
".. method:: __call__(inter)\n"
"\n"
-" Returns true if the shape to which the Interface1D belongs to has\n"
-" the same :class:`Id` as the one specified by the user.\n"
+" Returns true if the shape to which the Interface1D belongs to has the\n"
+" same :class:`freestyle.types.Id` as the one specified by the user.\n"
"\n"
" :arg inter: An Interface1D object.\n"
-" :type inter: :class:`Interface1D`\n"
+" :type inter: :class:`freestyle.types.Interface1D`\n"
" :return: True if Interface1D belongs to the shape of the\n"
" user-specified Id.\n"
" :rtype: bool\n";
diff --git a/source/blender/freestyle/intern/python/UnaryPredicate1D/BPy_TrueUP1D.cpp b/source/blender/freestyle/intern/python/UnaryPredicate1D/BPy_TrueUP1D.cpp
index 8444fbfc365..d4ca82721d5 100644
--- a/source/blender/freestyle/intern/python/UnaryPredicate1D/BPy_TrueUP1D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryPredicate1D/BPy_TrueUP1D.cpp
@@ -33,14 +33,14 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char TrueUP1D___doc__[] =
-"Class hierarchy: :class:`UnaryPredicate1D` > :class:`TrueUP1D`\n"
+"Class hierarchy: :class:`freestyle.types.UnaryPredicate1D` > :class:`TrueUP1D`\n"
"\n"
".. method:: __call__(inter)\n"
"\n"
" Always returns true.\n"
"\n"
" :arg inter: An Interface1D object.\n"
-" :type inter: :class:`Interface1D`\n"
+" :type inter: :class:`freestyle.types.Interface1D`\n"
" :return: True.\n"
" :rtype: bool\n";
diff --git a/source/blender/freestyle/intern/python/UnaryPredicate1D/BPy_WithinImageBoundaryUP1D.cpp b/source/blender/freestyle/intern/python/UnaryPredicate1D/BPy_WithinImageBoundaryUP1D.cpp
index 7e310fe593d..6f08cd1c796 100644
--- a/source/blender/freestyle/intern/python/UnaryPredicate1D/BPy_WithinImageBoundaryUP1D.cpp
+++ b/source/blender/freestyle/intern/python/UnaryPredicate1D/BPy_WithinImageBoundaryUP1D.cpp
@@ -33,7 +33,7 @@ extern "C" {
//------------------------INSTANCE METHODS ----------------------------------
static char WithinImageBoundaryUP1D___doc__[] =
-"Class hierarchy: :class:`UnaryPredicate1D` > :class:`WithinImageBoundaryUP1D`\n"
+"Class hierarchy: :class:`freestyle.types.UnaryPredicate1D` > :class:`WithinImageBoundaryUP1D`\n"
"\n"
".. method:: __init__(xmin, ymin, xmax, ymax)\n"
"\n"
diff --git a/source/blender/freestyle/intern/scene_graph/SceneHash.cpp b/source/blender/freestyle/intern/scene_graph/SceneHash.cpp
new file mode 100644
index 00000000000..6e8856f1b93
--- /dev/null
+++ b/source/blender/freestyle/intern/scene_graph/SceneHash.cpp
@@ -0,0 +1,39 @@
+/*
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * 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 *****
+ */
+
+/** \file blender/freestyle/intern/scene_graph/SceneHash.cpp
+ * \ingroup freestyle
+ */
+
+#include "SceneHash.h"
+
+namespace Freestyle {
+
+void SceneHash::visitIndexedFaceSet(IndexedFaceSet& ifs)
+{
+ const real *v = ifs.vertices();
+ const unsigned n = ifs.vsize();
+
+ for (unsigned i = 0; i < n; i++) {
+ _hashcode += v[i];
+ }
+}
+
+} /* namespace Freestyle */
diff --git a/source/blender/freestyle/intern/scene_graph/SceneHash.h b/source/blender/freestyle/intern/scene_graph/SceneHash.h
new file mode 100644
index 00000000000..8f5f847eaab
--- /dev/null
+++ b/source/blender/freestyle/intern/scene_graph/SceneHash.h
@@ -0,0 +1,67 @@
+/*
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * 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 *****
+ */
+
+#ifndef __FREESTYLE_SCENE_HASH_H__
+#define __FREESTYLE_SCENE_HASH_H__
+
+/** \file blender/freestyle/intern/scene_graph/SceneHash.h
+ * \ingroup freestyle
+ */
+
+#include "IndexedFaceSet.h"
+#include "SceneVisitor.h"
+
+#ifdef WITH_CXX_GUARDEDALLOC
+#include "MEM_guardedalloc.h"
+#endif
+
+namespace Freestyle {
+
+class SceneHash : public SceneVisitor
+{
+public:
+ inline SceneHash() : SceneVisitor()
+ {
+ _hashcode = 0.0;
+ }
+
+ virtual ~SceneHash() {}
+
+ VISIT_DECL(IndexedFaceSet)
+
+ inline real getValue() {
+ return _hashcode;
+ }
+
+ inline void reset() {
+ _hashcode = 0.0;
+ }
+
+private:
+ real _hashcode;
+
+#ifdef WITH_CXX_GUARDEDALLOC
+ MEM_CXX_CLASS_ALLOC_FUNCS("Freestyle:SceneHash")
+#endif
+};
+
+} /* namespace Freestyle */
+
+#endif // __FREESTYLE_SCENE_HASH_H__
diff --git a/source/blender/freestyle/intern/stroke/BasicStrokeShaders.cpp b/source/blender/freestyle/intern/stroke/BasicStrokeShaders.cpp
index b7b5eb4162b..69ca45d3ec7 100644
--- a/source/blender/freestyle/intern/stroke/BasicStrokeShaders.cpp
+++ b/source/blender/freestyle/intern/stroke/BasicStrokeShaders.cpp
@@ -808,9 +808,10 @@ int BezierCurveShader::shade(Stroke& stroke) const
++it)
{
(it)->setAttribute(*a);
- if ((index <= index1) || (index > index2))
+ if ((index <= index1) || (index > index2)) {
++a;
- ++index;
+ }
+ ++index;
}
return 0;
}
diff --git a/source/blender/freestyle/intern/stroke/Chain.cpp b/source/blender/freestyle/intern/stroke/Chain.cpp
index 7fd756472b0..0e8c2c9ae6f 100644
--- a/source/blender/freestyle/intern/stroke/Chain.cpp
+++ b/source/blender/freestyle/intern/stroke/Chain.cpp
@@ -59,6 +59,7 @@ void Chain::push_viewedge_back(ViewEdge *iViewEdge, bool orientation)
CurvePoint *cp = _Vertices.back(); // assumed to be instantiated as new CurvePoint(iSVertex, 0, 0.f);
SVertex *sv_first = (*vfirst);
FEdge *fe = _fedgeB->duplicate();
+ fe->setTemporary(true);
fe->setVertexB(sv_first);
fe->vertexA()->shape()->AddEdge(fe);
fe->vertexA()->AddFEdge(fe);
@@ -119,6 +120,7 @@ void Chain::push_viewedge_front(ViewEdge *iViewEdge, bool orientation)
SVertex *sv_curr = (*v);
FEdge *fe = (orientation) ? iViewEdge->fedgeA() : iViewEdge->fedgeB();
FEdge *fe2 = fe->duplicate();
+ fe2->setTemporary(true);
fe2->setVertexA(sv_curr);
fe2->setVertexB(sv_last);
sv_last->AddFEdge(fe2);
diff --git a/source/blender/freestyle/intern/stroke/Chain.h b/source/blender/freestyle/intern/stroke/Chain.h
index 95e825e270b..6cf3a7199bf 100644
--- a/source/blender/freestyle/intern/stroke/Chain.h
+++ b/source/blender/freestyle/intern/stroke/Chain.h
@@ -106,6 +106,10 @@ public:
{
return _splittingId;
}
+
+#ifdef WITH_CXX_GUARDEDALLOC
+ MEM_CXX_CLASS_ALLOC_FUNCS("Freestyle:Chain")
+#endif
};
} /* namespace Freestyle */
diff --git a/source/blender/freestyle/intern/stroke/Curve.h b/source/blender/freestyle/intern/stroke/Curve.h
index 6b799c921a4..726b238c74b 100644
--- a/source/blender/freestyle/intern/stroke/Curve.h
+++ b/source/blender/freestyle/intern/stroke/Curve.h
@@ -341,6 +341,10 @@ public:
real curvatureFredo() const;
Vec2d directionFredo() const;
#endif
+
+#ifdef WITH_CXX_GUARDEDALLOC
+ MEM_CXX_CLASS_ALLOC_FUNCS("Freestyle:CurvePoint")
+#endif
};
@@ -586,6 +590,10 @@ public:
* At each iteration a virtual temporary CurvePoint is created.
*/
virtual Interface0DIterator pointsEnd(float t = 0.0f);
+
+#ifdef WITH_CXX_GUARDEDALLOC
+ MEM_CXX_CLASS_ALLOC_FUNCS("Freestyle:Curve")
+#endif
};
} /* namespace Freestyle */
diff --git a/source/blender/freestyle/intern/stroke/Operators.cpp b/source/blender/freestyle/intern/stroke/Operators.cpp
index 427994f80f1..87ba34e8f42 100644
--- a/source/blender/freestyle/intern/stroke/Operators.cpp
+++ b/source/blender/freestyle/intern/stroke/Operators.cpp
@@ -1242,7 +1242,7 @@ error:
return -1;
}
-void Operators::reset()
+void Operators::reset(bool removeStrokes)
{
ViewMap *vm = ViewMap::getInstance();
if (!vm) {
@@ -1253,11 +1253,7 @@ void Operators::reset()
for (I1DContainer::iterator it = _current_chains_set.begin(); it != _current_chains_set.end(); ++it)
delete *it;
_current_chains_set.clear();
-#if 0
- _current_view_edges_set.insert(_current_view_edges_set.begin(),
- vm->ViewEdges().begin(),
- vm->ViewEdges().end());
-#else
+
ViewMap::viewedges_container& vedges = vm->ViewEdges();
ViewMap::viewedges_container::iterator ve = vedges.begin(), veend = vedges.end();
for (; ve != veend; ++ve) {
@@ -1265,9 +1261,9 @@ void Operators::reset()
continue;
_current_view_edges_set.push_back(*ve);
}
-#endif
_current_set = &_current_view_edges_set;
- _current_strokes_set.clear();
+ if (removeStrokes)
+ _current_strokes_set.clear();
}
} /* namespace Freestyle */
diff --git a/source/blender/freestyle/intern/stroke/Operators.h b/source/blender/freestyle/intern/stroke/Operators.h
index 59ebec57246..c7b0e3f8b81 100644
--- a/source/blender/freestyle/intern/stroke/Operators.h
+++ b/source/blender/freestyle/intern/stroke/Operators.h
@@ -259,7 +259,7 @@ public:
return &_current_strokes_set;
}
- static void reset();
+ static void reset(bool removeStrokes=true);
private:
Operators() {}
diff --git a/source/blender/freestyle/intern/stroke/Stroke.h b/source/blender/freestyle/intern/stroke/Stroke.h
index 86c667a38b6..8ff801ed144 100644
--- a/source/blender/freestyle/intern/stroke/Stroke.h
+++ b/source/blender/freestyle/intern/stroke/Stroke.h
@@ -474,6 +474,10 @@ public:
/* interface definition */
/* inherited */
+
+#ifdef WITH_CXX_GUARDEDALLOC
+ MEM_CXX_CLASS_ALLOC_FUNCS("Freestyle:StrokeVertex")
+#endif
};
@@ -862,6 +866,10 @@ public:
virtual Interface0DIterator pointsBegin(float t = 0.0f);
virtual Interface0DIterator pointsEnd(float t = 0.0f);
+
+#ifdef WITH_CXX_GUARDEDALLOC
+ MEM_CXX_CLASS_ALLOC_FUNCS("Freestyle:Stroke")
+#endif
};
diff --git a/source/blender/freestyle/intern/view_map/FEdgeXDetector.cpp b/source/blender/freestyle/intern/view_map/FEdgeXDetector.cpp
index 9c9cd88f188..a5e526fc490 100644
--- a/source/blender/freestyle/intern/view_map/FEdgeXDetector.cpp
+++ b/source/blender/freestyle/intern/view_map/FEdgeXDetector.cpp
@@ -63,14 +63,14 @@ void FEdgeXDetector::processShapes(WingedEdge& we)
WXFace *wxf = dynamic_cast<WXFace*>(*wf);
wxf->Clear();
}
- _computeViewIndependant = true;
+ _computeViewIndependent = true;
}
- else if (!(wxs)->getComputeViewIndependantFlag()) {
+ else if (!(wxs)->getComputeViewIndependentFlag()) {
wxs->Reset();
- _computeViewIndependant = false;
+ _computeViewIndependent = false;
}
else {
- _computeViewIndependant = true;
+ _computeViewIndependent = true;
}
preProcessShape(wxs);
if (progressBarDisplay)
@@ -97,8 +97,8 @@ void FEdgeXDetector::processShapes(WingedEdge& we)
if (progressBarDisplay)
_pProgressBar->setProgress(_pProgressBar->getProgress() + 1);
- wxs->setComputeViewIndependantFlag(false);
- _computeViewIndependant = false;
+ wxs->setComputeViewIndependentFlag(false);
+ _computeViewIndependent = false;
_changes = false;
// reset user data
@@ -187,8 +187,8 @@ void FEdgeXDetector::computeCurvatures(WXVertex *vertex)
CurvatureInfo *C;
float radius = _sphereRadius * _meanEdgeSize;
- // view independant stuff
- if (_computeViewIndependant) {
+ // view independent stuff
+ if (_computeViewIndependent) {
C = new CurvatureInfo();
vertex->setCurvatures(C);
OGF::NormalCycle ncycle;
@@ -333,7 +333,7 @@ void FEdgeXDetector::ProcessSilhouetteEdge(WXEdge *iEdge)
/////////
void FEdgeXDetector::processBorderShape(WXShape *iWShape)
{
- if (!_computeViewIndependant)
+ if (!_computeViewIndependent)
return;
// Make a pass on the edges to detect the BORDER
vector<WEdge*>::iterator we, weend;
@@ -358,7 +358,7 @@ void FEdgeXDetector::ProcessBorderEdge(WXEdge *iEdge)
/////////
void FEdgeXDetector::processCreaseShape(WXShape *iWShape)
{
- if (!_computeViewIndependant)
+ if (!_computeViewIndependent)
return;
// Make a pass on the edges to detect the CREASE
@@ -390,7 +390,7 @@ void FEdgeXDetector::processRidgesAndValleysShape(WXShape *iWShape)
// Don't forget to add the built layer to the face at the end of the ProcessFace:
//iFace->AddSmoothLayer(faceLayer);
- if (!_computeViewIndependant)
+ if (!_computeViewIndependent)
return;
// Here the curvatures must already have been computed
@@ -684,7 +684,7 @@ void FEdgeXDetector::postProcessSuggestiveContourFace(WXFace *iFace)
////////////////////
void FEdgeXDetector::processMaterialBoundaryShape(WXShape *iWShape)
{
- if (!_computeViewIndependant)
+ if (!_computeViewIndependent)
return;
// Make a pass on the edges to detect material boundaries
vector<WEdge*>::iterator we, weend;
diff --git a/source/blender/freestyle/intern/view_map/FEdgeXDetector.h b/source/blender/freestyle/intern/view_map/FEdgeXDetector.h
index 8adf685a6eb..8170fc5baab 100644
--- a/source/blender/freestyle/intern/view_map/FEdgeXDetector.h
+++ b/source/blender/freestyle/intern/view_map/FEdgeXDetector.h
@@ -57,7 +57,7 @@ public:
{
_pProgressBar = NULL;
_pRenderMonitor = NULL;
- _computeViewIndependant = true;
+ _computeViewIndependent = true;
_bbox_diagonal = 1.0;
_meanEdgeSize = 0;
_computeRidgesAndValleys = true;
@@ -213,7 +213,7 @@ protected:
Vec3r _Viewpoint;
real _bbox_diagonal; // diagonal of the current processed shape bbox
//oldtmp values
- bool _computeViewIndependant;
+ bool _computeViewIndependent;
real _meanK1;
real _meanKr;
real _minK1;
diff --git a/source/blender/freestyle/intern/view_map/Silhouette.h b/source/blender/freestyle/intern/view_map/Silhouette.h
index d838b98c1a8..94b00157ccd 100644
--- a/source/blender/freestyle/intern/view_map/Silhouette.h
+++ b/source/blender/freestyle/intern/view_map/Silhouette.h
@@ -378,6 +378,17 @@ public:
_FEdges.push_back(iFEdge);
}
+ /*! Remove an FEdge from the list of edges emanating from this SVertex. */
+ inline void RemoveFEdge(FEdge *iFEdge)
+ {
+ for (vector<FEdge *>::iterator fe = _FEdges.begin(), fend = _FEdges.end(); fe != fend; fe++) {
+ if (iFEdge == (*fe)) {
+ _FEdges.erase(fe);
+ break;
+ }
+ }
+ }
+
/* replaces edge 1 by edge 2 in the list of edges */
inline void Replace(FEdge *e1, FEdge *e2)
{
@@ -441,6 +452,10 @@ public:
/*! angle in radians */
inline real curvature2d_as_angle() const;
#endif
+
+#ifdef WITH_CXX_GUARDEDALLOC
+ MEM_CXX_CLASS_ALLOC_FUNCS("Freestyle:SVertex")
+#endif
};
/**********************************/
@@ -518,6 +533,8 @@ protected:
bool _isInImage;
+ bool _isTemporary;
+
public:
/*! A field that can be used by the user to store any data.
* This field must be reseted afterwards using ResetUserData().
@@ -538,6 +555,7 @@ public:
_occludeeEmpty = true;
_isSmooth = false;
_isInImage = true;
+ _isTemporary = false;
}
/*! Builds an FEdge going from vA to vB. */
@@ -554,6 +572,7 @@ public:
_occludeeEmpty = true;
_isSmooth = false;
_isInImage = true;
+ _isTemporary = false;
}
/*! Copy constructor */
@@ -573,6 +592,7 @@ public:
_occludeeEmpty = iBrother._occludeeEmpty;
_isSmooth = iBrother._isSmooth;
_isInImage = iBrother._isInImage;
+ _isTemporary = iBrother._isTemporary;
iBrother.userdata = this;
userdata = 0;
}
@@ -708,6 +728,11 @@ public:
return _isInImage;
}
+ inline bool isTemporary() const
+ {
+ return _isTemporary;
+ }
+
/* modifiers */
/*! Sets the first SVertex. */
inline void setVertexA(SVertex *vA)
@@ -803,6 +828,11 @@ public:
_isInImage = iFlag;
}
+ inline void setTemporary(bool iFlag)
+ {
+ _isTemporary = iFlag;
+ }
+
/* checks whether two FEdge have a common vertex.
* Returns a pointer on the common vertex if it exists, NULL otherwise.
*/
@@ -931,6 +961,10 @@ public:
* The sampling with which we want to iterate over points of this FEdge.
*/
virtual inline Interface0DIterator pointsEnd(float t = 0.0f);
+
+#ifdef WITH_CXX_GUARDEDALLOC
+ MEM_CXX_CLASS_ALLOC_FUNCS("Freestyle:FEdge")
+#endif
};
//
@@ -1241,6 +1275,10 @@ public:
{
_bFaceMark = iFaceMark;
}
+
+#ifdef WITH_CXX_GUARDEDALLOC
+ MEM_CXX_CLASS_ALLOC_FUNCS("Freestyle:FEdgeSharp")
+#endif
};
/*! Class defining a smooth edge. This kind of edge typically runs across a face of the input mesh. It can be
@@ -1353,6 +1391,10 @@ public:
{
_FrsMaterialIndex = i;
}
+
+#ifdef WITH_CXX_GUARDEDALLOC
+ MEM_CXX_CLASS_ALLOC_FUNCS("Freestyle:FEdgeSmooth")
+#endif
};
diff --git a/source/blender/freestyle/intern/view_map/ViewMap.cpp b/source/blender/freestyle/intern/view_map/ViewMap.cpp
index fd5ebb99f72..6bb0082e379 100644
--- a/source/blender/freestyle/intern/view_map/ViewMap.cpp
+++ b/source/blender/freestyle/intern/view_map/ViewMap.cpp
@@ -63,6 +63,30 @@ ViewMap::~ViewMap()
_VEdges.clear();
}
+void ViewMap::Clean()
+{
+ vector<FEdge*> tmpEdges;
+
+ for (vector<ViewShape*>::iterator vs = _VShapes.begin(), vsend = _VShapes.end(); vs != vsend; vs++) {
+ vector<FEdge*>& edges = (*vs)->sshape()->getEdgeList();
+ for (vector<FEdge*>::iterator it = edges.begin(), itend = edges.end(); it != itend; it++) {
+ if ((*it)->isTemporary()) {
+ (*it)->setTemporary(false); // avoid being counted multiple times
+ tmpEdges.push_back(*it);
+ }
+ }
+ }
+
+ for (vector<FEdge*>::iterator it = tmpEdges.begin(), itend = tmpEdges.end(); it != itend; it++) {
+ for (vector<ViewShape*>::iterator vs = _VShapes.begin(), vsend = _VShapes.end(); vs != vsend; vs++) {
+ (*vs)->sshape()->RemoveEdge(*it);
+ }
+ (*it)->vertexA()->RemoveFEdge(*it);
+ (*it)->vertexB()->RemoveFEdge(*it);
+ delete (*it);
+ }
+}
+
ViewShape *ViewMap::viewShape(unsigned id)
{
int index = _shapeIdToIndex[id];
diff --git a/source/blender/freestyle/intern/view_map/ViewMap.h b/source/blender/freestyle/intern/view_map/ViewMap.h
index d87341503fa..0ee1864e086 100644
--- a/source/blender/freestyle/intern/view_map/ViewMap.h
+++ b/source/blender/freestyle/intern/view_map/ViewMap.h
@@ -236,6 +236,9 @@ public:
/* connects a FEdge to the graph trough a SVertex */
//FEdge *Connect(FEdge *ioEdge, SVertex *ioVertex);
+ /* Clean temporary FEdges created by chaining */
+ virtual void Clean();
+
#ifdef WITH_CXX_GUARDEDALLOC
MEM_CXX_CLASS_ALLOC_FUNCS("Freestyle:ViewMap")
#endif
@@ -369,7 +372,6 @@ public:
#ifdef WITH_CXX_GUARDEDALLOC
MEM_CXX_CLASS_ALLOC_FUNCS("Freestyle:ViewVertex")
#endif
-
};
/**********************************/
@@ -642,7 +644,6 @@ public:
#ifdef WITH_CXX_GUARDEDALLOC
MEM_CXX_CLASS_ALLOC_FUNCS("Freestyle:TVertex")
#endif
-
};
@@ -859,7 +860,6 @@ public:
#ifdef WITH_CXX_GUARDEDALLOC
MEM_CXX_CLASS_ALLOC_FUNCS("Freestyle:NonTVertex")
#endif
-
};
/**********************************/
@@ -1379,7 +1379,6 @@ public:
#ifdef WITH_CXX_GUARDEDALLOC
MEM_CXX_CLASS_ALLOC_FUNCS("Freestyle:ViewEdge")
#endif
-
};
diff --git a/source/blender/freestyle/intern/winged_edge/WXEdge.h b/source/blender/freestyle/intern/winged_edge/WXEdge.h
index ce9749369fc..3c9ec7a7e3d 100644
--- a/source/blender/freestyle/intern/winged_edge/WXEdge.h
+++ b/source/blender/freestyle/intern/winged_edge/WXEdge.h
@@ -718,18 +718,18 @@ public:
typedef WXShape type_name;
protected:
- bool _computeViewIndependant; // flag to indicate whether the view independant stuff must be computed or not
+ bool _computeViewIndependent; // flag to indicate whether the view independent stuff must be computed or not
public:
inline WXShape() : WShape()
{
- _computeViewIndependant = true;
+ _computeViewIndependent = true;
}
/*! copy constructor */
inline WXShape(WXShape& iBrother) : WShape(iBrother)
{
- _computeViewIndependant = iBrother._computeViewIndependant;
+ _computeViewIndependent = iBrother._computeViewIndependent;
}
virtual WShape *duplicate()
@@ -740,14 +740,14 @@ public:
virtual ~WXShape() {}
- inline bool getComputeViewIndependantFlag() const
+ inline bool getComputeViewIndependentFlag() const
{
- return _computeViewIndependant;
+ return _computeViewIndependent;
}
- inline void setComputeViewIndependantFlag(bool iFlag)
+ inline void setComputeViewIndependentFlag(bool iFlag)
{
- _computeViewIndependant = iFlag;
+ _computeViewIndependent = iFlag;
}
/*! designed to build a specialized WFace for use in MakeFace */