Blender V5.0
Freestyle Namespace Reference

inherits from class Rep More...

Namespaces

namespace  Config
namespace  Geometry
namespace  GeomUtils
namespace  GridHelpers
namespace  OGF
namespace  VecMat
namespace  Functions0D
namespace  Functions1D
namespace  Predicates1D
namespace  StrokeShaders
namespace  ContextFunctions
namespace  CurveInternal
namespace  Predicates0D
namespace  StrokeInternal
namespace  Cast
namespace  StringUtils
namespace  FEdgeInternal
namespace  ViewVertexInternal
namespace  ViewEdgeInternal
namespace  Nature

Classes

class  AppCanvas
class  AppView
class  Controller
struct  LoaderState
class  BlenderFileLoader
class  BlenderStrokeRenderer
class  BufferedStyleModule
class  BlenderStyleModule
class  BBox
class  BezierCurveSegment
class  BezierCurve
class  FastGrid
struct  Point2Struct
class  FitCurveWrapper
struct  GeomCleanerHasher
class  GeomCleaner
class  IndexedVertex
class  Cell
class  GridVisitor
class  allOccludersGridVisitor
class  firstIntersectionGridVisitor
class  Grid
class  VirtualOccludersSet
struct  GridHasher
class  HashGrid
class  Noise
class  Intersection
class  Segment
struct  binary_rule
class  SweepLine
class  GaussianFilter
class  FrsImage
class  RGBImage
class  GrayImage
class  ImagePyramid
class  GaussianPyramid
class  DrawingStyle
class  FrsMaterial
class  IndexedFaceSet
class  LineRep
class  Node
class  NodeCamera
class  NodeOrthographicCamera
class  NodePerspectiveCamera
class  NodeDrawingStyle
class  NodeGroup
class  NodeLight
class  NodeShape
class  NodeTransform
class  NodeViewLayer
class  OrientedLineRep
class  Rep
class  SceneHash
class  ScenePrettyPrinter
class  SceneVisitor
class  TriangleRep
class  VertexRep
class  CalligraphicShader
class  SpatialNoiseShader
class  SmoothingShader
class  Smoother
class  Omitter
class  OmissionShader
struct  ltstr
class  Canvas
class  Chain
class  AdjacencyIterator
class  ChainingIterator
class  ChainSilhouetteIterator
class  ChainPredicateIterator
class  CurvePoint
class  Curve
struct  EdgeModifier
struct  TimestampModifier
class  Module
class  PredicateWrapper
class  Operators
class  UnaryPredicate0D
class  BinaryPredicate0D
class  UnaryPredicate1D
class  BinaryPredicate1D
class  PSStrokeRenderer
class  QInformationMap
class  StrokeSegment
class  StrokeAttribute
class  StrokeVertex
class  Stroke
class  StrokeLayer
class  TextureManager
class  StrokeRenderer
class  StrokeVertexRep
class  Strip
class  StrokeRep
class  StrokeShader
class  StrokeTesselator
class  StyleModule
class  TextStrokeRenderer
class  Nonconst_traits
class  Const_traits
class  InputIteratorTag_Traits
class  BidirectionalIteratorTag_Traits
class  IteratorBase
class  BaseObject
class  Exception
class  Id
class  Interpreter
class  Iterator
class  PointerSequence
class  ProgressBar
class  PseudoNoise
class  PythonInterpreter
class  RandGen
class  RenderMonitor
class  TimeStamp
class  Chronometer
class  ArbitraryGridDensityProvider
class  ArbitraryGridDensityProviderFactory
class  AutoPtr
class  AverageAreaGridDensityProvider
class  AverageAreaGridDensityProviderFactory
class  BoxGrid
class  CulledOccluderSource
class  FEdgeXDetector
class  UnaryFunction0D
class  UnaryFunction1D
class  UnaryFunction1D_void
class  GridDensityProvider
class  GridDensityProviderFactory
class  HeuristicGridDensityProviderFactory
class  Interface0D
class  Interface0DIteratorNested
class  Interface0DIterator
class  Interface1D
class  OccluderSource
class  Pow23GridDensityProvider
class  Pow23GridDensityProviderFactory
class  SVertex
class  FEdge
class  FEdgeSharp
class  FEdgeSmooth
class  SShape
class  SilhouetteGeomEngine
class  SphericalGrid
class  SteerableViewMap
struct  SVertexHasher
struct  epsilonEquals
class  OWXFaceLayer
class  OWXEdge
class  ViewEdgeXBuilder
class  ViewMap
class  ViewVertex
class  TVertex
class  NonTVertex
class  ViewEdge
class  ViewShape
struct  less_SVertex2D
struct  less_Intersection
struct  silhouette_binary_rule
class  ViewMapBuilder
class  ViewMapTesselator
class  ViewMapTesselator2D
class  ViewMapTesselator3D
class  CurvatureInfo
class  Face_Curvature_Info
class  vertexdata
class  oedgedata
class  edgedata
class  facedata
class  WVertex
class  WOEdge
class  WEdge
class  WFace
class  WShape
class  WingedEdge
class  WFillGrid
class  WingedEdgeBuilder
class  WSFillGrid
class  WXVertex
class  WXEdge
class  WXSmoothEdge
class  WXFaceLayer
class  WXFace
class  WXShape
class  WXEdgeBuilder

Typedefs

using BezierCurve = Vector2 *
typedef struct Freestyle::Point2Struct Point2
typedef Point2 Vector2
typedef vector< Polygon3r * > OccludersSet
typedef double real
typedef vector< ViewShape * > occluder_container
typedef map< Vec3r, SVertex * > SVertexMap
using segment = Segment<FEdge *, Vec3r>
using intersection = Intersection<segment>
typedef Nature::EdgeNature WXNature

Enumerations

enum  IntegrationType {
  MEAN , MIN , MAX , FIRST ,
  LAST
}

Functions

static bool testEdgeMark (Mesh *mesh, const blender::VArray< bool > &fed, const blender::int3 &tri, int i)
template<class Point>
BBox< Point > & operator+ (const BBox< Point > &b1, const BBox< Point > &b2)
static double * Reparameterize (Vector2 *d, int first, int last, double *u, BezierCurve bezCurve)
static double NewtonRaphsonRootFind (BezierCurve Q, Vector2 P, double u)
static Vector2 BezierII (int degree, Vector2 *V, double t)
static double B0 (double u)
static double B1 (double u)
static double B2 (double u)
static double B3 (double u)
static Vector2 ComputeLeftTangent (Vector2 *d, int end)
static double ComputeMaxError (Vector2 *d, int first, int last, BezierCurve bezCurve, double *u, int *splitPoint)
static double * ChordLengthParameterize (Vector2 *d, int first, int last)
static BezierCurve GenerateBezier (Vector2 *d, int first, int last, double *uPrime, Vector2 tHat1, Vector2 tHat2)
static Vector2 V2AddII (Vector2 a, Vector2 b)
static Vector2 V2ScaleIII (Vector2 v, double s)
static Vector2 V2SubII (Vector2 a, Vector2 b)
static double V2SquaredLength (Vector2 *a)
static double V2Length (Vector2 *a)
static Vector2V2Scale (Vector2 *v, double newlen)
static double V2Dot (Vector2 *a, Vector2 *b)
static double V2DistanceBetween2Points (Vector2 *a, Vector2 *b)
static Vector2V2Add (Vector2 *a, Vector2 *b, Vector2 *c)
static Vector2V2Normalize (Vector2 *v)
static Vector2V2Negate (Vector2 *v)
static Vector2 ComputeRightTangent (Vector2 *d, int end)
static Vector2 ComputeCenterTangent (Vector2 *d, int center)
static bool inBox (const Vec3r &inter, const Vec3r &box_min, const Vec3r &box_max)
static void normalize2 (float v[2])
static void normalize3 (float v[3])
static void loadIdentity (double *matrix)
static real edgeStopping (real x, real sigma)
static int __recursiveSplit (Chain *_curve, UnaryFunction0D< double > &func, UnaryPredicate1D &pred, float sampling, Operators::I1DContainer &newChains, Operators::I1DContainer &splitted_chains)
static int __recursiveSplit (Chain *_curve, UnaryFunction0D< double > &func, UnaryPredicate0D &pred0d, UnaryPredicate1D &pred, float sampling, Operators::I1DContainer &newChains, Operators::I1DContainer &splitted_chains)
static StrokecreateStroke (Interface1D &inter)
int applyShading (Stroke &stroke, vector< StrokeShader * > &shaders)
ostream & operator<< (ostream &out, const StrokeAttribute &iStrokeAttribute)
ostream & operator<< (ostream &out, const StrokeVertex &iStrokeVertex)
ostream & operator<< (ostream &out, const Stroke &iStroke)
static bool notValid (Vec2r p)
std::ostream & operator<< (std::ostream &s, const Id &id)
static real LanczosWindowed (real t)
static real distance2D (const Vec3r &point, const real origin[2])
static bool crossesProscenium (real proscenium[4], FEdge *fe)
static bool insideProscenium (const real proscenium[4], const Vec3r &point)
template<class T>
T integrate (UnaryFunction0D< T > &fun, Interface0DIterator it, Interface0DIterator it_end, IntegrationType integration_type=MEAN)
static bool ViewEdgeComp (ViewVertex::directedViewEdge &dve1, ViewVertex::directedViewEdge &dve2)
template<typename G, typename I>
static void findOccludee (FEdge *fe, G &, I &occluders, real epsilon, WFace **oaWFace, Vec3r &u, Vec3r &A, Vec3r &origin, Vec3r &edgeDir, vector< WVertex * > &faceVertices)
template<typename G, typename I>
static void findOccludee (FEdge *fe, G &grid, real epsilon, ViewEdge *, WFace **oaFace)
template<typename G, typename I>
static int computeVisibility (ViewMap *viewMap, FEdge *fe, G &grid, real epsilon, ViewEdge *, WFace **oaWFace, set< ViewShape * > *foundOccluders)
template<typename G, typename I>
static void computeCumulativeVisibility (ViewMap *ioViewMap, G &grid, real epsilon, RenderMonitor *iRenderMonitor)
template<typename G, typename I>
static void computeDetailedVisibility (ViewMap *ioViewMap, G &grid, real epsilon, RenderMonitor *iRenderMonitor)
template<typename G, typename I>
static void computeFastVisibility (ViewMap *ioViewMap, G &grid, real epsilon)
template<typename G, typename I>
static void computeVeryFastVisibility (ViewMap *ioViewMap, G &grid, real epsilon)
static real distance2D (const Vec3r &point, const real origin[2])
static bool crossesProscenium (real proscenium[4], FEdge *fe)
static bool insideProscenium (const real proscenium[4], const Vec3r &point)
static bool angle_obtuse (WVertex *v, WFace *f)
static bool triangle_obtuse (WVertex *, WFace *f)
static real cotan (WVertex *vo, WVertex *v1, WVertex *v2)
static real angle_from_cotan (WVertex *vo, WVertex *v1, WVertex *v2)
bool gts_vertex_mean_curvature_normal (WVertex *v, Vec3r &Kh)
bool gts_vertex_gaussian_curvature (WVertex *v, real *Kg)
void gts_vertex_principal_curvatures (real Kh, real Kg, real *K1, real *K2)
static void linsolve (real m11, real m12, real b1, real m21, real m22, real b2, real *x1, real *x2)
static void eigenvector (real a, real b, real c, Vec3r e)
void gts_vertex_principal_directions (WVertex *v, Vec3r Kh, real Kg, Vec3r &e1, Vec3r &e2)

Variables

Controllerg_pController
static const int MOD_ADLER = 65521
static const uint NB_VALUE_NOISE = 512
static const real M_EPSILON = 0.00000001
static uint x [3]
static uint a [3]
static uint c = C
static const Global_global = G
static const uint gProgressBarMaxSteps = 10
static const uint gProgressBarMinSize = 2000

Detailed Description

inherits from class Rep

Typedef Documentation

◆ BezierCurve

using Freestyle::BezierCurve = Vector2 *

Definition at line 23 of file FitCurve.cpp.

◆ intersection

Definition at line 2307 of file ViewMapBuilder.cpp.

◆ occluder_container

◆ OccludersSet

Definition at line 33 of file Grid.h.

◆ Point2

◆ real

Definition at line 14 of file Precision.h.

◆ segment

Definition at line 2306 of file ViewMapBuilder.cpp.

◆ SVertexMap

Definition at line 66 of file ViewEdgeXBuilder.h.

◆ Vector2

Definition at line 54 of file FitCurve.h.

◆ WXNature

Enumeration Type Documentation

◆ IntegrationType

The different integration methods that can be invoked to integrate into a single value the set of values obtained from each 0D element of a 1D element.

Enumerator
MEAN 

The value computed for the 1D element is the mean of the values obtained for the 0D elements.

MIN 

The value computed for the 1D element is the minimum of the values obtained for the 0D elements.

MAX 

The value computed for the 1D element is the maximum of the values obtained for the 0D elements.

FIRST 

The value computed for the 1D element is the first of the values obtained for the 0D elements.

LAST 

The value computed for the 1D element is the last of the values obtained for the 0D elements.

Definition at line 34 of file Interface1D.h.

Function Documentation

◆ __recursiveSplit() [1/2]

◆ __recursiveSplit() [2/2]

◆ angle_from_cotan()

real Freestyle::angle_from_cotan ( WVertex * vo,
WVertex * v1,
WVertex * v2 )
static

◆ angle_obtuse()

bool Freestyle::angle_obtuse ( WVertex * v,
WFace * f )
static

Definition at line 31 of file Curvature.cpp.

References e, Freestyle::WFace::getOppositeEdge(), and v.

Referenced by gts_vertex_principal_directions().

◆ applyShading()

int Freestyle::applyShading ( Stroke & stroke,
vector< StrokeShader * > & shaders )
inline

Definition at line 1261 of file Operators.cpp.

Referenced by Freestyle::Operators::create().

◆ B0()

double Freestyle::B0 ( double u)
static

Definition at line 302 of file FitCurve.cpp.

Referenced by GenerateBezier().

◆ B1()

double Freestyle::B1 ( double u)
static

◆ B2()

double Freestyle::B2 ( double u)
static

◆ B3()

double Freestyle::B3 ( double u)
static

Definition at line 320 of file FitCurve.cpp.

Referenced by GenerateBezier().

◆ BezierII()

Vector2 Freestyle::BezierII ( int degree,
Vector2 * V,
double t )
static

Definition at line 273 of file FitCurve.cpp.

References free(), i, and V.

Referenced by ComputeMaxError(), and NewtonRaphsonRootFind().

◆ ChordLengthParameterize()

double * Freestyle::ChordLengthParameterize ( Vector2 * d,
int first,
int last )
static

Definition at line 378 of file FitCurve.cpp.

References i, and V2DistanceBetween2Points().

Referenced by Freestyle::FitCurveWrapper::FitCubic().

◆ ComputeCenterTangent()

Vector2 Freestyle::ComputeCenterTangent ( Vector2 * d,
int center )
static

Definition at line 354 of file FitCurve.cpp.

References M_EPSILON, V2Length(), V2Normalize(), and V2SubII().

Referenced by Freestyle::FitCurveWrapper::FitCubic().

◆ computeCumulativeVisibility()

◆ computeDetailedVisibility()

◆ computeFastVisibility()

◆ ComputeLeftTangent()

Vector2 Freestyle::ComputeLeftTangent ( Vector2 * d,
int end )
static

Definition at line 332 of file FitCurve.cpp.

References V2Normalize(), and V2SubII().

Referenced by Freestyle::FitCurveWrapper::FitCurve().

◆ ComputeMaxError()

double Freestyle::ComputeMaxError ( Vector2 * d,
int first,
int last,
BezierCurve bezCurve,
double * u,
int * splitPoint )
static

Definition at line 406 of file FitCurve.cpp.

References BezierII(), i, P, v, V2SquaredLength(), and V2SubII().

Referenced by Freestyle::FitCurveWrapper::FitCubic().

◆ ComputeRightTangent()

Vector2 Freestyle::ComputeRightTangent ( Vector2 * d,
int end )
static

Definition at line 343 of file FitCurve.cpp.

References V2Normalize(), and V2SubII().

Referenced by Freestyle::FitCurveWrapper::FitCurve().

◆ computeVeryFastVisibility()

◆ computeVisibility()

◆ cotan()

real Freestyle::cotan ( WVertex * vo,
WVertex * v1,
WVertex * v2 )
static

◆ createStroke()

◆ crossesProscenium() [1/2]

◆ crossesProscenium() [2/2]

bool Freestyle::crossesProscenium ( real proscenium[4],
FEdge * fe )
inlinestatic

◆ distance2D() [1/2]

real Freestyle::distance2D ( const Vec3r & point,
const real origin[2] )
inlinestatic

◆ distance2D() [2/2]

real Freestyle::distance2D ( const Vec3r & point,
const real origin[2] )
inlinestatic

Definition at line 1069 of file ViewMapBuilder.cpp.

◆ edgeStopping()

real Freestyle::edgeStopping ( real x,
real sigma )
static

Definition at line 241 of file AdvancedStrokeShaders.cpp.

References exp, and x.

Referenced by Freestyle::Smoother::iteration().

◆ eigenvector()

void Freestyle::eigenvector ( real a,
real b,
real c,
Vec3r e )
static

Definition at line 200 of file Curvature.cpp.

References a, b, c, e, and sqrt.

Referenced by gts_vertex_principal_directions().

◆ findOccludee() [1/2]

◆ findOccludee() [2/2]

template<typename G, typename I>
void Freestyle::findOccludee ( FEdge * fe,
G & grid,
real epsilon,
ViewEdge * ,
WFace ** oaFace )
static

◆ GenerateBezier()

BezierCurve Freestyle::GenerateBezier ( Vector2 * d,
int first,
int last,
double * uPrime,
Vector2 tHat1,
Vector2 tHat2 )
static

◆ gts_vertex_gaussian_curvature()

bool Freestyle::gts_vertex_gaussian_curvature ( WVertex * v,
real * Kg )
Parameters
va WVertex.
Kgthe Discrete Gaussian Curvature approximation at v.

Computes the Discrete Gaussian Curvature approximation at v.

This approximation is from the paper: Discrete Differential-Geometry Operators for Triangulated 2-Manifolds Mark Meyer, Mathieu Desbrun, Peter Schroder, Alan H. Barr VisMath '02, Berlin (Germany) http://www-grail.usc.edu/pubs.html

Returns: true if the operator could be evaluated, false if the evaluation failed for some reason (v is boundary or is the endpoint of a non-manifold edge.)

Definition at line 138 of file Curvature.cpp.

References angle_from_cotan(), e, M_PI, v, and v2.

◆ gts_vertex_mean_curvature_normal()

bool Freestyle::gts_vertex_mean_curvature_normal ( WVertex * v,
Vec3r & Kh )
Parameters
va WVertex.
Khthe Mean Curvature Normal at v.

Computes the Discrete Mean Curvature Normal approximation at v. The mean curvature at v is half the magnitude of the vector Kh.

Note
the normal computed is not unit length, and may point either into or out of the surface, depending on the curvature at v. It is the responsibility of the caller of the function to use the mean curvature normal appropriately.

This approximation is from the paper: Discrete Differential-Geometry Operators for Triangulated 2-Manifolds Mark Meyer, Mathieu Desbrun, Peter Schroder, Alan H. Barr VisMath '02, Berlin (Germany) http://www-grail.usc.edu/pubs.html

Returns: true if the operator could be evaluated, false if the evaluation failed for some reason (v is boundary or is the endpoint of a non-manifold edge.)

Definition at line 88 of file Curvature.cpp.

References cotan(), e, Freestyle::WVertex::GetVertex(), v, and v2.

◆ gts_vertex_principal_curvatures()

void Freestyle::gts_vertex_principal_curvatures ( real Kh,
real Kg,
real * K1,
real * K2 )
Parameters
Khmean curvature.
KgGaussian curvature.
K1first principal curvature.
K2second principal curvature.

Computes the principal curvatures at a point given the mean and Gaussian curvatures at that point.

The mean curvature can be computed as one-half the magnitude of the vector computed by gts_vertex_mean_curvature_normal().

The Gaussian curvature can be computed with gts_vertex_gaussian_curvature().

Definition at line 173 of file Curvature.cpp.

References sqrt.

Referenced by gts_vertex_principal_directions().

◆ gts_vertex_principal_directions()

void Freestyle::gts_vertex_principal_directions ( WVertex * v,
Vec3r Kh,
real Kg,
Vec3r & e1,
Vec3r & e2 )
Parameters
va WVertex.
Khmean curvature normal (a Vec3r).
KgGaussian curvature (a real).
e1first principal curvature direction (direction of largest curvature).
e2second principal curvature direction.

Computes the principal curvature directions at a point given Kh and Kg, the mean curvature normal and Gaussian curvatures at that point, computed with gts_vertex_mean_curvature_normal() and gts_vertex_gaussian_curvature(), respectively.

Note that this computation is very approximate and tends to be unstable. Smoothing of the surface or the principal directions may be necessary to achieve reasonable results.

Definition at line 212 of file Curvature.cpp.

References a, angle_obtuse(), b, c, cotan(), e, eigenvector(), fabs(), free(), Freestyle::WFace::getArea(), Freestyle::WOEdge::GetbVertex(), Freestyle::WFace::GetNextOEdge(), gts_vertex_principal_curvatures(), linsolve(), N, Freestyle::VecMat::Vec< T, N >::norm(), Freestyle::VecMat::Vec< T, N >::normalize(), Freestyle::VecMat::Vec< T, N >::squareNorm(), triangle_obtuse(), and v.

◆ inBox()

bool Freestyle::inBox ( const Vec3r & inter,
const Vec3r & box_min,
const Vec3r & box_max )
static

◆ insideProscenium() [1/2]

bool Freestyle::insideProscenium ( const real proscenium[4],
const Vec3r & point )
inlinestatic

◆ insideProscenium() [2/2]

bool Freestyle::insideProscenium ( const real proscenium[4],
const Vec3r & point )
inlinestatic

Definition at line 1084 of file ViewMapBuilder.cpp.

◆ integrate()

template<class T>
T Freestyle::integrate ( UnaryFunction0D< T > & fun,
Interface0DIterator it,
Interface0DIterator it_end,
IntegrationType integration_type = MEAN )

Returns a single value from a set of values evaluated at each 0D element of this 1D element.

Parameters
funThe UnaryFunction0D used to compute a value at each Interface0D.
itThe Interface0DIterator used to iterate over the 0D elements of this 1D element. The integration will occur over the 0D elements starting from the one pointed by it.
it_endThe Interface0DIterator pointing the end of the 0D elements of the 1D element.
integration_typeThe integration method used to compute a single value from a set of values.
Returns
the single value obtained for the 1D element.

Definition at line 73 of file Interface1D.h.

References FIRST, Freestyle::Interface0DIterator::isEnd(), LAST, MAX, MEAN, MIN, Freestyle::UnaryFunction0D< T >::result, and size().

Referenced by Integrator_integrate(), Freestyle::Functions1D::Curvature2DAngleF1D::operator()(), Freestyle::Functions1D::DensityF1D::operator()(), Freestyle::Functions1D::GetCompleteViewMapDensityF1D::operator()(), Freestyle::Functions1D::GetDirectionalViewMapDensityF1D::operator()(), Freestyle::Functions1D::GetProjectedXF1D::operator()(), Freestyle::Functions1D::GetProjectedYF1D::operator()(), Freestyle::Functions1D::GetProjectedZF1D::operator()(), Freestyle::Functions1D::GetViewMapGradientNormF1D::operator()(), Freestyle::Functions1D::GetXF1D::operator()(), Freestyle::Functions1D::GetYF1D::operator()(), Freestyle::Functions1D::GetZF1D::operator()(), Freestyle::Functions1D::LocalAverageDepthF1D::operator()(), Freestyle::Functions1D::Normal2DF1D::operator()(), Freestyle::Functions1D::Orientation2DF1D::operator()(), Freestyle::Functions1D::Orientation3DF1D::operator()(), Freestyle::Functions1D::QuantitativeInvisibilityF1D::operator()(), and Freestyle::Functions1D::ZDiscontinuityF1D::operator()().

◆ LanczosWindowed()

real Freestyle::LanczosWindowed ( real t)
static

Definition at line 49 of file PseudoNoise.cpp.

References fabs(), M_EPSILON, M_PI, and sin.

Referenced by Freestyle::PseudoNoise::smoothNoise().

◆ linsolve()

void Freestyle::linsolve ( real m11,
real m12,
real b1,
real m21,
real m22,
real b2,
real * x1,
real * x2 )
static

Definition at line 190 of file Curvature.cpp.

Referenced by gts_vertex_principal_directions().

◆ loadIdentity()

◆ NewtonRaphsonRootFind()

double Freestyle::NewtonRaphsonRootFind ( BezierCurve Q,
Vector2 P,
double u )
static

Definition at line 226 of file FitCurve.cpp.

References BezierII(), i, and P.

Referenced by Reparameterize().

◆ normalize2()

void Freestyle::normalize2 ( float v[2])
static

Definition at line 57 of file Noise.cpp.

References sqrt, and v.

Referenced by Freestyle::Noise::Noise().

◆ normalize3()

void Freestyle::normalize3 ( float v[3])
static

Definition at line 66 of file Noise.cpp.

References sqrt, and v.

Referenced by Freestyle::Noise::Noise().

◆ notValid()

bool Freestyle::notValid ( Vec2r p)
static

Definition at line 92 of file StrokeRep.cpp.

References fabs(), and HUGE_COORD.

Referenced by Freestyle::Strip::cleanUpSingularities(), and Freestyle::Strip::createStrip().

◆ operator+()

template<class Point>
BBox< Point > & Freestyle::operator+ ( const BBox< Point > & b1,
const BBox< Point > & b2 )

Definition at line 128 of file BBox.h.

References Freestyle::BBox< Point >::getMax(), Freestyle::BBox< Point >::getMin(), and i.

◆ operator<<() [1/4]

ostream & Freestyle::operator<< ( ostream & out,
const Stroke & iStroke )

◆ operator<<() [2/4]

◆ operator<<() [3/4]

◆ operator<<() [4/4]

std::ostream & Freestyle::operator<< ( std::ostream & s,
const Id & id )
inline

Definition at line 117 of file Id.h.

◆ Reparameterize()

double * Freestyle::Reparameterize ( Vector2 * d,
int first,
int last,
double * u,
BezierCurve bezCurve )
static

Definition at line 206 of file FitCurve.cpp.

References i, and NewtonRaphsonRootFind().

Referenced by Freestyle::FitCurveWrapper::FitCubic().

◆ testEdgeMark()

bool Freestyle::testEdgeMark ( Mesh * mesh,
const blender::VArray< bool > & fed,
const blender::int3 & tri,
int i )
static

Definition at line 397 of file BlenderFileLoader.cpp.

References ELEM, and i.

Referenced by Freestyle::BlenderFileLoader::insertShapeNode().

◆ triangle_obtuse()

bool Freestyle::triangle_obtuse ( WVertex * ,
WFace * f )
static

Definition at line 43 of file Curvature.cpp.

References b, Freestyle::WFace::getEdgeList(), and i.

Referenced by gts_vertex_principal_directions().

◆ V2Add()

Vector2 * Freestyle::V2Add ( Vector2 * a,
Vector2 * b,
Vector2 * c )
static

Definition at line 80 of file FitCurve.cpp.

References a, b, and c.

Referenced by Freestyle::FitCurveWrapper::FitCubic(), and GenerateBezier().

◆ V2AddII()

Vector2 Freestyle::V2AddII ( Vector2 a,
Vector2 b )
static

Definition at line 429 of file FitCurve.cpp.

References a, b, and c.

Referenced by GenerateBezier().

◆ V2DistanceBetween2Points()

double Freestyle::V2DistanceBetween2Points ( Vector2 * a,
Vector2 * b )
static

Definition at line 72 of file FitCurve.cpp.

References a, b, and sqrt.

Referenced by ChordLengthParameterize(), Freestyle::FitCurveWrapper::FitCubic(), and GenerateBezier().

◆ V2Dot()

double Freestyle::V2Dot ( Vector2 * a,
Vector2 * b )
static

Definition at line 66 of file FitCurve.cpp.

References a, and b.

Referenced by GenerateBezier().

◆ V2Length()

double Freestyle::V2Length ( Vector2 * a)
static

Definition at line 50 of file FitCurve.cpp.

References a, sqrt, and V2SquaredLength().

Referenced by ComputeCenterTangent(), V2Normalize(), and V2Scale().

◆ V2Negate()

Vector2 * Freestyle::V2Negate ( Vector2 * v)
static

Definition at line 99 of file FitCurve.cpp.

References v.

Referenced by Freestyle::FitCurveWrapper::FitCubic().

◆ V2Normalize()

Vector2 * Freestyle::V2Normalize ( Vector2 * v)
static

Definition at line 88 of file FitCurve.cpp.

References len, v, and V2Length().

Referenced by ComputeCenterTangent(), ComputeLeftTangent(), and ComputeRightTangent().

◆ V2Scale()

Vector2 * Freestyle::V2Scale ( Vector2 * v,
double newlen )
static

Definition at line 55 of file FitCurve.cpp.

References len, v, and V2Length().

Referenced by Freestyle::FitCurveWrapper::FitCubic(), and GenerateBezier().

◆ V2ScaleIII()

Vector2 Freestyle::V2ScaleIII ( Vector2 v,
double s )
static

Definition at line 437 of file FitCurve.cpp.

References result, and v.

Referenced by GenerateBezier().

◆ V2SquaredLength()

double Freestyle::V2SquaredLength ( Vector2 * a)
static

Definition at line 44 of file FitCurve.cpp.

References a.

Referenced by ComputeMaxError(), and V2Length().

◆ V2SubII()

Vector2 Freestyle::V2SubII ( Vector2 a,
Vector2 b )
static

Definition at line 445 of file FitCurve.cpp.

References a, b, and c.

Referenced by ComputeCenterTangent(), ComputeLeftTangent(), ComputeMaxError(), ComputeRightTangent(), and GenerateBezier().

◆ ViewEdgeComp()

Variable Documentation

◆ _global

◆ a

uint Freestyle::a[3]
static
Initial value:
= {
A0,
A1,
A2,
}
#define A0
Definition RandGen.cpp:26
#define A2
Definition RandGen.cpp:28
#define A1
Definition RandGen.cpp:27

Definition at line 82 of file RandGen.cpp.

Referenced by BPy_Nature_and(), BPy_Nature_bitwise(), BPy_Nature_or(), BPy_Nature_xor(), eigenvector(), Freestyle::WFace::getArea(), Freestyle::StrokeAttribute::getAttributeReal(), Freestyle::StrokeAttribute::getAttributeVec2f(), Freestyle::StrokeAttribute::getAttributeVec3f(), gts_vertex_principal_directions(), Freestyle::BlenderFileLoader::insertShapeNode(), Freestyle::StrokeAttribute::isAttributeAvailableReal(), Freestyle::StrokeAttribute::isAttributeAvailableVec2f(), Freestyle::StrokeAttribute::isAttributeAvailableVec3f(), Freestyle::Stroke::Resample(), Freestyle::Stroke::Resample(), Freestyle::OGF::MatrixUtil::semi_definite_symmetric_eigen(), Freestyle::StrokeVertexRep::setAlpha(), Freestyle::FrsMaterial::setAmbient(), Freestyle::FrsMaterial::setDiffuse(), Freestyle::FrsMaterial::setEmission(), Freestyle::FrsMaterial::setLine(), Freestyle::Stroke::setMTex(), Freestyle::FrsMaterial::setSpecular(), Freestyle::StrokeShaders::BezierCurveShader::shade(), Freestyle::StrokeShaders::GuidingLinesShader::shade(), Freestyle::StrokeShaders::PolygonalizationShader::shade(), Freestyle::StrokeShaders::TipRemoverShader::shade(), Freestyle::Noise::smoothNoise2(), Freestyle::Noise::smoothNoise3(), Freestyle::OGF::sphere_clip_vector(), Freestyle::SShape::SplitEdge(), Freestyle::Stroke::Stroke(), Freestyle::Stroke::Stroke(), StrokeAttribute_get_attribute_real(), StrokeAttribute_get_attribute_vec2(), StrokeAttribute_get_attribute_vec3(), Freestyle::StrokeRep::StrokeRep(), Freestyle::StrokeRep::StrokeRep(), Freestyle::StrokeRep::StrokeRep(), V2Add(), V2AddII(), V2DistanceBetween2Points(), V2Dot(), V2Length(), V2SquaredLength(), and V2SubII().

◆ c

◆ g_pController

Controller* Freestyle::g_pController
extern

◆ gProgressBarMaxSteps

◆ gProgressBarMinSize

◆ M_EPSILON

◆ MOD_ADLER

const int Freestyle::MOD_ADLER = 65521
static

Definition at line 56 of file SceneHash.cpp.

◆ NB_VALUE_NOISE

const uint Freestyle::NB_VALUE_NOISE = 512
static

◆ x

uint Freestyle::x[3]
static
Initial value:
= {
X0,
X1,
X2,
}
#define X1
Definition RandGen.cpp:24
#define X2
Definition RandGen.cpp:25
#define X0
Definition RandGen.cpp:23

Definition at line 77 of file RandGen.cpp.

Referenced by Freestyle::BoxGrid::assignCells(), Freestyle::SphericalGrid::assignCells(), Freestyle::BezierCurveSegment::Build(), Freestyle::GaussianPyramid::BuildPyramid(), Freestyle::ImagePyramid::BuildPyramid(), Freestyle::SShape::ComputeBBox(), Freestyle::QInformationMap::computeGaussian(), Freestyle::Controller::ComputeSteerableViewMap(), computeVisibility(), Freestyle::StrokeShaders::CurvePiece::CurvePiece(), Freestyle::Controller::displayDensityCurves(), Freestyle::RandGen::drand48(), edgeStopping(), Freestyle::BoxGrid::findCell(), Freestyle::SphericalGrid::findCell(), Freestyle::RGBImage::getB(), Freestyle::ViewMap::getClosestFEdge(), Freestyle::ViewMap::getClosestViewEdge(), Freestyle::CurvePoint::getFEdge(), Freestyle::RGBImage::getG(), Freestyle::QInformationMap::getMean(), Freestyle::RGBImage::getR(), Freestyle::GaussianFilter::getSmoothedPixel(), Freestyle::Grid::insertOccluder(), Freestyle::PseudoNoise::linearNoise(), Freestyle::Controller::Load3DSFile(), Freestyle::Canvas::loadMap(), Freestyle::OGF::ogf_swap(), Freestyle::less_Intersection::operator()(), Freestyle::less_SVertex2D::operator()(), Freestyle::Predicates1D::WithinImageBoundaryUP1D::operator()(), Freestyle::FrsImage::pixel(), Freestyle::GrayImage::pixel(), Freestyle::ImagePyramid::pixel(), Freestyle::RGBImage::pixel(), Freestyle::AppView::rabs(), Freestyle::AppView::rabs(), Freestyle::AppCanvas::readColorPixels(), Freestyle::Canvas::readColorPixels(), Freestyle::SteerableViewMap::readCompleteViewMapPixel(), Freestyle::ContextFunctions::ReadCompleteViewMapPixelCF(), Freestyle::AppCanvas::readDepthPixels(), Freestyle::Canvas::readDepthPixels(), Freestyle::ContextFunctions::ReadDirectionalViewMapPixelCF(), Freestyle::Canvas::readMapPixel(), Freestyle::ContextFunctions::ReadMapPixelCF(), Freestyle::SteerableViewMap::readSteerableViewMapPixel(), Freestyle::QInformationMap::retrieveMeanAndVariance(), Freestyle::NodeTransform::Rotate(), Freestyle::SteerableViewMap::saveSteerableViewMap(), Freestyle::NodeTransform::Scale(), Freestyle::Controller::SelectFEdge(), Freestyle::Controller::SelectViewEdge(), Freestyle::OGF::MatrixUtil::semi_definite_symmetric_eigen(), Freestyle::FrsImage::setArray(), Freestyle::GrayImage::setArray(), Freestyle::RGBImage::setArray(), Freestyle::Stroke::setBeginningOrientation(), Freestyle::Stroke::setEndingOrientation(), Freestyle::GrayImage::setPixel(), Freestyle::RGBImage::setPixel(), Freestyle::StrokeShaders::BackboneStretcherShader::shade(), Freestyle::PseudoNoise::smoothNoise(), Freestyle::StrokeShaders::CurvePiece::subdivide(), Freestyle::NodeTransform::Translate(), Freestyle::PseudoNoise::turbulenceLinear(), Freestyle::PseudoNoise::turbulenceSmooth(), and Freestyle::SphericalGrid::~SphericalGrid().