|
Blender V4.5
|
inherits from class Rep More...
Namespaces | |
| namespace | Cast |
| namespace | Config |
| namespace | ContextFunctions |
| namespace | CurveInternal |
| namespace | FEdgeInternal |
| namespace | Functions0D |
| namespace | Functions1D |
| namespace | Geometry |
| namespace | GeomUtils |
| namespace | GridHelpers |
| namespace | Nature |
| namespace | OGF |
| namespace | Predicates0D |
| namespace | Predicates1D |
| namespace | StringUtils |
| namespace | StrokeInternal |
| namespace | StrokeShaders |
| namespace | VecMat |
| namespace | ViewEdgeInternal |
| namespace | ViewVertexInternal |
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 FreestyleEdge *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 Vector2 * | V2Scale (Vector2 *v, double newlen) |
| static double | V2Dot (Vector2 *a, Vector2 *b) |
| static double | V2DistanceBetween2Points (Vector2 *a, Vector2 *b) |
| static Vector2 * | V2Add (Vector2 *a, Vector2 *b, Vector2 *c) |
| static Vector2 * | V2Normalize (Vector2 *v) |
| static Vector2 * | V2Negate (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 Stroke * | createStroke (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 | |
| Controller * | g_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 |
inherits from class Rep
| using Freestyle::BezierCurve = Vector2 * |
Definition at line 23 of file FitCurve.cpp.
| using Freestyle::intersection = Intersection<segment> |
Definition at line 2307 of file ViewMapBuilder.cpp.
Definition at line 41 of file Silhouette.h.
| typedef double Freestyle::real |
Definition at line 14 of file Precision.h.
| using Freestyle::segment = Segment<FEdge *, Vec3r> |
Definition at line 2306 of file ViewMapBuilder.cpp.
| typedef map<Vec3r, SVertex *> Freestyle::SVertexMap |
Definition at line 66 of file ViewEdgeXBuilder.h.
Definition at line 54 of file FitCurve.h.
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.
Definition at line 34 of file Interface1D.h.
|
static |
Definition at line 859 of file Operators.cpp.
References __recursiveSplit(), Freestyle::CurveInternal::CurvePointIterator::_CurvilinearLength, Freestyle::CurveInternal::CurvePointIterator::castToInterface0DIterator(), Freestyle::Chain::Chain(), Freestyle::Curve::curvePointsBegin(), Freestyle::Curve::curvePointsEnd(), Freestyle::Curve::curveVerticesBegin(), Freestyle::Curve::curveVerticesEnd(), FLT_MAX, G, G_DEBUG_FREESTYLE, Freestyle::Curve::getId(), Freestyle::Curve::getLength2D(), Freestyle::Id::getSecond(), Freestyle::Chain::getSplittingId(), Freestyle::Id::Id(), Freestyle::Curve::nSegments(), Freestyle::Curve::push_vertex_back(), Freestyle::UnaryFunction0D< T >::result, Freestyle::UnaryPredicate0D::result, Freestyle::UnaryPredicate1D::result, Freestyle::Id::setSecond(), and Freestyle::Chain::setSplittingId().
|
static |
Definition at line 693 of file Operators.cpp.
References __recursiveSplit(), Freestyle::CurveInternal::CurvePointIterator::_CurvilinearLength, Freestyle::CurveInternal::CurvePointIterator::castToInterface0DIterator(), Freestyle::Chain::Chain(), Freestyle::Curve::curvePointsBegin(), Freestyle::Curve::curvePointsEnd(), Freestyle::Curve::curveVerticesBegin(), Freestyle::Curve::curveVerticesEnd(), FLT_MAX, G, G_DEBUG_FREESTYLE, Freestyle::Curve::getId(), Freestyle::Curve::getLength2D(), Freestyle::Id::getSecond(), Freestyle::Chain::getSplittingId(), Freestyle::Id::Id(), Freestyle::Curve::nSegments(), Freestyle::Curve::push_vertex_back(), Freestyle::UnaryFunction0D< T >::result, Freestyle::UnaryPredicate1D::result, Freestyle::Id::setSecond(), and Freestyle::Chain::setSplittingId().
Referenced by __recursiveSplit(), __recursiveSplit(), Freestyle::Operators::recursiveSplit(), and Freestyle::Operators::recursiveSplit().
Definition at line 71 of file Curvature.cpp.
References angle_from_cotan(), fabs(), Freestyle::WVertex::GetVertex(), sqrt, Freestyle::VecMat::Vec< T, N >::squareNorm(), v, and v2.
Referenced by angle_from_cotan(), and gts_vertex_gaussian_curvature().
Definition at line 31 of file Curvature.cpp.
References angle_obtuse(), e, Freestyle::WFace::getOppositeEdge(), and v.
Referenced by angle_obtuse(), and gts_vertex_principal_directions().
|
inline |
Definition at line 1261 of file Operators.cpp.
References applyShading().
Referenced by applyShading(), and Freestyle::Operators::create().
|
static |
Definition at line 302 of file FitCurve.cpp.
References B0().
Referenced by B0(), and GenerateBezier().
|
static |
Definition at line 308 of file FitCurve.cpp.
References B1().
Referenced by B1(), and GenerateBezier().
|
static |
Definition at line 314 of file FitCurve.cpp.
References B2().
Referenced by B2(), and GenerateBezier().
|
static |
Definition at line 320 of file FitCurve.cpp.
References B3().
Referenced by B3(), and GenerateBezier().
Definition at line 273 of file FitCurve.cpp.
References BezierII(), free(), i, and V.
Referenced by BezierII(), ComputeMaxError(), and NewtonRaphsonRootFind().
|
static |
Definition at line 378 of file FitCurve.cpp.
References ChordLengthParameterize(), i, and V2DistanceBetween2Points().
Referenced by ChordLengthParameterize(), and Freestyle::FitCurveWrapper::FitCubic().
Definition at line 354 of file FitCurve.cpp.
References ComputeCenterTangent(), V2Length(), V2Normalize(), and V2SubII().
Referenced by ComputeCenterTangent(), and Freestyle::FitCurveWrapper::FitCubic().
|
static |
Definition at line 431 of file ViewMapBuilder.cpp.
References _global, ceil, computeCumulativeVisibility(), computeVisibility(), findOccludee(), G, G_DEBUG_FREESTYLE, Freestyle::WFace::GetNormal(), Freestyle::WFace::GetVertex(), Freestyle::WVertex::GetVertex(), i, Freestyle::FEdge::isInImage(), Freestyle::FEdge::nextEdge(), Freestyle::WFace::numberOfEdges(), Freestyle::RenderMonitor::progress(), Freestyle::FEdge::setaFace(), Freestyle::RenderMonitor::setInfo(), Freestyle::FEdge::setOccludeeEmpty(), Freestyle::RenderMonitor::testBreak(), Freestyle::Geometry::Polygon< Point >::userdata, Freestyle::ViewMap::ViewEdges(), and Freestyle::ViewMap::viewShape().
Referenced by Freestyle::ViewMapBuilder::ComputeCumulativeVisibility(), and computeCumulativeVisibility().
|
static |
Definition at line 641 of file ViewMapBuilder.cpp.
References _global, computeDetailedVisibility(), computeVisibility(), findOccludee(), G, G_DEBUG_FREESTYLE, Freestyle::WFace::GetNormal(), Freestyle::WFace::GetVertex(), Freestyle::WVertex::GetVertex(), i, Freestyle::FEdge::isInImage(), Freestyle::FEdge::nextEdge(), Freestyle::WFace::numberOfEdges(), Freestyle::FEdge::setaFace(), Freestyle::FEdge::setOccludeeEmpty(), Freestyle::RenderMonitor::testBreak(), Freestyle::Geometry::Polygon< Point >::userdata, Freestyle::ViewMap::ViewEdges(), and Freestyle::ViewMap::viewShape().
Referenced by Freestyle::ViewMapBuilder::ComputeDetailedVisibility(), and computeDetailedVisibility().
Definition at line 825 of file ViewMapBuilder.cpp.
References _global, computeFastVisibility(), computeVisibility(), findOccludee(), G, G_DEBUG_FREESTYLE, Freestyle::WFace::GetNormal(), Freestyle::WFace::GetVertex(), Freestyle::WVertex::GetVertex(), i, Freestyle::FEdge::isInImage(), Freestyle::FEdge::nextEdge(), Freestyle::WFace::numberOfEdges(), Freestyle::FEdge::setaFace(), Freestyle::Geometry::Polygon< Point >::userdata, Freestyle::ViewMap::ViewEdges(), and Freestyle::ViewMap::viewShape().
Referenced by computeFastVisibility().
Definition at line 332 of file FitCurve.cpp.
References ComputeLeftTangent(), V2Normalize(), and V2SubII().
Referenced by ComputeLeftTangent(), and Freestyle::FitCurveWrapper::FitCurve().
|
static |
Definition at line 406 of file FitCurve.cpp.
References BezierII(), ComputeMaxError(), i, P, v, V2SquaredLength(), and V2SubII().
Referenced by ComputeMaxError(), and Freestyle::FitCurveWrapper::FitCubic().
Definition at line 343 of file FitCurve.cpp.
References ComputeRightTangent(), V2Normalize(), and V2SubII().
Referenced by ComputeRightTangent(), and Freestyle::FitCurveWrapper::FitCurve().
Definition at line 960 of file ViewMapBuilder.cpp.
References _global, computeVeryFastVisibility(), computeVisibility(), G, G_DEBUG_FREESTYLE, Freestyle::WShape::GetId(), Freestyle::WFace::GetNormal(), Freestyle::WFace::GetVertex(), Freestyle::WVertex::GetVertex(), i, Freestyle::FEdge::isInImage(), Freestyle::FEdge::nextEdge(), Freestyle::WFace::numberOfEdges(), Freestyle::FEdge::setaFace(), Freestyle::WVertex::shape(), Freestyle::Geometry::Polygon< Point >::userdata, Freestyle::ViewMap::ViewEdges(), and Freestyle::ViewMap::viewShape().
Referenced by computeVeryFastVisibility().
|
static |
Definition at line 210 of file ViewMapBuilder.cpp.
References _global, Freestyle::FEdge::center3d(), Freestyle::GeomUtils::COINCIDENT, computeVisibility(), fabs(), Freestyle::FEdgeSmooth::face(), findOccludee(), G, G_DEBUG_FREESTYLE, Freestyle::WFace::getEdgeList(), Freestyle::WShape::GetId(), Freestyle::WFace::GetNormal(), Freestyle::Geometry::Polygon3r::getNormal(), Freestyle::WFace::GetVertex(), Freestyle::Geometry::Polygon< Point >::getVertices(), I, Freestyle::GeomUtils::intersectRayPlane(), Freestyle::FEdge::isSmooth(), Freestyle::VecMat::Vec< T, N >::norm(), Freestyle::VecMat::Vec< T, N >::normalize(), Freestyle::SVertex::point3D(), Freestyle::Geometry::Polygon3r::rayIntersect(), Freestyle::WFace::RetrieveVertexList(), Freestyle::WVertex::shape(), v, Freestyle::FEdge::vertexA(), Freestyle::FEdge::vertexB(), Freestyle::ViewMap::viewShape(), Freestyle::VecMat::Vec3< T >::x(), x, and Freestyle::VecMat::Vec3< T >::y().
Referenced by computeCumulativeVisibility(), computeDetailedVisibility(), computeFastVisibility(), computeVeryFastVisibility(), and computeVisibility().
Definition at line 52 of file Curvature.cpp.
References cotan(), Freestyle::WVertex::GetVertex(), sqrt, Freestyle::VecMat::Vec< T, N >::squareNorm(), v, and v2.
Referenced by cotan(), gts_vertex_mean_curvature_normal(), and gts_vertex_principal_directions().
|
static |
Definition at line 1082 of file Operators.cpp.
References createStroke(), ELEM, G, G_DEBUG_FREESTYLE, Freestyle::Interface1D::getId(), Freestyle::StrokeVertex::getPoint(), Freestyle::CurvePoint::getPoint2D(), Freestyle::Interface0D::getPoint2D(), Freestyle::StrokeInternal::StrokeVertexIterator::isBegin(), Freestyle::Interface0DIterator::isEnd(), Freestyle::StrokeInternal::StrokeVertexIterator::isEnd(), len(), Freestyle::VecMat::Vec< T, N >::norm(), norm(), Freestyle::VecMat::Vec< T, N >::normalize(), printf, Freestyle::Stroke::push_back(), Freestyle::StrokeVertex::setCurvilinearAbscissa(), Freestyle::Stroke::setId(), Freestyle::Stroke::setLength(), Freestyle::StrokeVertex::setPoint(), Freestyle::StrokeVertex::StrokeVertex(), Freestyle::Stroke::strokeVerticesBegin(), Freestyle::Stroke::strokeVerticesSize(), v, Freestyle::Interface1D::verticesBegin(), Freestyle::Stroke::verticesBegin(), and Freestyle::Interface1D::verticesEnd().
Referenced by Freestyle::Operators::create(), and createStroke().
Definition at line 73 of file CulledOccluderSource.cpp.
References A, B, crossesProscenium(), Freestyle::SVertex::getProjectedX(), Freestyle::SVertex::getProjectedY(), Freestyle::GeomUtils::intersect2dSeg2dArea(), max, min, Freestyle::FEdge::vertexA(), and Freestyle::FEdge::vertexB().
Referenced by crossesProscenium(), and Freestyle::CulledOccluderSource::cullViewEdges().
Definition at line 1074 of file ViewMapBuilder.cpp.
References A, B, crossesProscenium(), Freestyle::SVertex::getProjectedX(), Freestyle::SVertex::getProjectedY(), Freestyle::GeomUtils::intersect2dSeg2dArea(), max, min, Freestyle::FEdge::vertexA(), and Freestyle::FEdge::vertexB().
Referenced by crossesProscenium(), and Freestyle::ViewMapBuilder::CullViewEdges().
Definition at line 68 of file CulledOccluderSource.cpp.
References distance2D().
Referenced by Freestyle::CulledOccluderSource::cullViewEdges(), and distance2D().
Definition at line 1069 of file ViewMapBuilder.cpp.
References distance2D().
Referenced by Freestyle::ViewMapBuilder::CullViewEdges(), and distance2D().
Definition at line 241 of file AdvancedStrokeShaders.cpp.
References edgeStopping(), exp, and x.
Referenced by edgeStopping(), and Freestyle::Smoother::iteration().
Definition at line 200 of file Curvature.cpp.
References b, e, eigenvector(), and sqrt.
Referenced by eigenvector(), and gts_vertex_principal_directions().
|
static |
Definition at line 43 of file ViewMapBuilder.cpp.
References _global, A, Freestyle::GeomUtils::COINCIDENT, fabs(), Freestyle::FEdgeSmooth::face(), findOccludee(), FLT_MAX, G, G_DEBUG_FREESTYLE, Freestyle::Geometry::Polygon3r::getNormal(), Freestyle::Geometry::Polygon< Point >::getVertices(), I, Freestyle::GeomUtils::intersectRayPlane(), Freestyle::FEdge::isSmooth(), Freestyle::Geometry::Polygon3r::rayIntersect(), Freestyle::FEdge::setOccludeeIntersection(), and v.
Referenced by computeCumulativeVisibility(), computeDetailedVisibility(), computeFastVisibility(), computeVisibility(), findOccludee(), and findOccludee().
|
static |
Definition at line 173 of file ViewMapBuilder.cpp.
References A, Freestyle::FEdgeSmooth::face(), findOccludee(), G, I, Freestyle::FEdge::isSmooth(), Freestyle::VecMat::Vec< T, N >::normalize(), and Freestyle::WFace::RetrieveVertexList().
|
static |
Definition at line 113 of file FitCurve.cpp.
References A, B0(), B1(), B2(), B3(), GenerateBezier(), i, V2Add(), V2AddII(), V2DistanceBetween2Points(), V2Dot(), V2Scale(), V2ScaleIII(), V2SubII(), and X.
Referenced by Freestyle::FitCurveWrapper::FitCubic(), and GenerateBezier().
| v | a WVertex. |
| Kg | the 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, gts_vertex_gaussian_curvature(), M_PI, v, and v2.
Referenced by gts_vertex_gaussian_curvature().
Computes the Discrete Mean Curvature Normal approximation at v. The mean curvature at v is half the magnitude of the vector Kh.
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(), gts_vertex_mean_curvature_normal(), v, and v2.
Referenced by gts_vertex_mean_curvature_normal().
| Kh | mean curvature. |
| Kg | Gaussian curvature. |
| K1 | first principal curvature. |
| K2 | second 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 gts_vertex_principal_curvatures(), and sqrt.
Referenced by gts_vertex_principal_curvatures(), and gts_vertex_principal_directions().
| void Freestyle::gts_vertex_principal_directions | ( | WVertex * | v, |
| Vec3r | Kh, | ||
| real | Kg, | ||
| Vec3r & | e1, | ||
| Vec3r & | e2 ) |
| v | a WVertex. |
| Kh | mean curvature normal (a Vec3r). |
| Kg | Gaussian curvature (a real). |
| e1 | first principal curvature direction (direction of largest curvature). |
| e2 | second 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 angle_obtuse(), b, cotan(), e, eigenvector(), fabs(), free(), Freestyle::WFace::getArea(), Freestyle::WOEdge::GetbVertex(), Freestyle::WFace::GetNextOEdge(), gts_vertex_principal_curvatures(), gts_vertex_principal_directions(), linsolve(), N, Freestyle::VecMat::Vec< T, N >::norm(), Freestyle::VecMat::Vec< T, N >::normalize(), Freestyle::VecMat::Vec< T, N >::squareNorm(), triangle_obtuse(), and v.
Referenced by gts_vertex_principal_directions().
Definition at line 26 of file Grid.cpp.
References inBox(), Freestyle::VecMat::Vec3< T >::x(), Freestyle::VecMat::Vec3< T >::y(), and Freestyle::VecMat::Vec3< T >::z().
Referenced by Freestyle::firstIntersectionGridVisitor::examineOccluder(), and inBox().
Definition at line 83 of file CulledOccluderSource.cpp.
References insideProscenium().
Referenced by Freestyle::CulledOccluderSource::cullViewEdges(), and insideProscenium().
Definition at line 1084 of file ViewMapBuilder.cpp.
References insideProscenium().
Referenced by Freestyle::ViewMapBuilder::CullViewEdges(), and insideProscenium().
| 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.
| fun | The UnaryFunction0D used to compute a value at each Interface0D. |
| it | The 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_end | The Interface0DIterator pointing the end of the 0D elements of the 1D element. |
| integration_type | The integration method used to compute a single value from a set of values. |
Definition at line 73 of file Interface1D.h.
References FIRST, integrate(), Freestyle::Interface0DIterator::isEnd(), LAST, MAX, MEAN, MIN, and Freestyle::UnaryFunction0D< T >::result.
Referenced by integrate(), 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()().
Definition at line 49 of file PseudoNoise.cpp.
References fabs(), LanczosWindowed(), M_EPSILON, M_PI, and sin.
Referenced by LanczosWindowed(), and Freestyle::PseudoNoise::smoothNoise().
|
static |
Definition at line 190 of file Curvature.cpp.
References linsolve().
Referenced by gts_vertex_principal_directions(), and linsolve().
|
static |
Definition at line 17 of file NodeCamera.cpp.
References i, and loadIdentity().
Referenced by loadIdentity(), Freestyle::NodeCamera::NodeCamera(), Freestyle::NodeOrthographicCamera::NodeOrthographicCamera(), Freestyle::NodeOrthographicCamera::NodeOrthographicCamera(), Freestyle::NodePerspectiveCamera::NodePerspectiveCamera(), and Freestyle::NodePerspectiveCamera::NodePerspectiveCamera().
|
static |
Definition at line 226 of file FitCurve.cpp.
References BezierII(), i, NewtonRaphsonRootFind(), and P.
Referenced by NewtonRaphsonRootFind(), and Reparameterize().
|
static |
Definition at line 57 of file Noise.cpp.
References normalize2(), sqrt, and v.
Referenced by Freestyle::Noise::Noise(), and normalize2().
|
static |
Definition at line 66 of file Noise.cpp.
References normalize3(), sqrt, and v.
Referenced by Freestyle::Noise::Noise(), and normalize3().
|
static |
Definition at line 92 of file StrokeRep.cpp.
References fabs(), HUGE_COORD, and notValid().
Referenced by Freestyle::Strip::cleanUpSingularities(), Freestyle::Strip::createStrip(), and notValid().
| BBox< Point > & Freestyle::operator+ | ( | const BBox< Point > & | b1, |
| const BBox< Point > & | b2 ) |
Definition at line 128 of file BBox.h.
References Freestyle::BBox< Point >::BBox(), Freestyle::BBox< Point >::getMax(), Freestyle::BBox< Point >::getMin(), i, and operator+().
Referenced by operator+().
| ostream & Freestyle::operator<< | ( | ostream & | out, |
| const Stroke & | iStroke ) |
Definition at line 41 of file StrokeIO.cpp.
References Freestyle::Stroke::getId(), Freestyle::Stroke::getLength2D(), Freestyle::Stroke::getMediumType(), operator<<(), out, v, Freestyle::Stroke::vertices_begin(), and Freestyle::Stroke::vertices_end().
| ostream & Freestyle::operator<< | ( | ostream & | out, |
| const StrokeAttribute & | iStrokeAttribute ) |
Definition at line 16 of file StrokeIO.cpp.
References Freestyle::StrokeAttribute::getAlpha(), Freestyle::StrokeAttribute::getColorB(), Freestyle::StrokeAttribute::getColorG(), Freestyle::StrokeAttribute::getColorR(), Freestyle::StrokeAttribute::getThicknessL(), Freestyle::StrokeAttribute::getThicknessR(), Freestyle::StrokeAttribute::isVisible(), operator<<(), and out.
Referenced by operator<<(), operator<<(), operator<<(), and operator<<().
| ostream & Freestyle::operator<< | ( | ostream & | out, |
| const StrokeVertex & | iStrokeVertex ) |
Definition at line 28 of file StrokeIO.cpp.
References Freestyle::StrokeVertex::attribute(), Freestyle::StrokeVertex::curvilinearAbscissa(), Freestyle::CurvePoint::getId(), Freestyle::CurvePoint::getProjectedX(), Freestyle::CurvePoint::getProjectedY(), Freestyle::CurvePoint::getProjectedZ(), Freestyle::CurvePoint::getX(), Freestyle::CurvePoint::getY(), Freestyle::CurvePoint::getZ(), operator<<(), and out.
|
inline |
Definition at line 117 of file Id.h.
References operator<<().
|
static |
Definition at line 206 of file FitCurve.cpp.
References i, NewtonRaphsonRootFind(), and Reparameterize().
Referenced by Freestyle::FitCurveWrapper::FitCubic(), and Reparameterize().
|
static |
Definition at line 397 of file BlenderFileLoader.cpp.
References ELEM, FREESTYLE_EDGE_MARK, i, and testEdgeMark().
Referenced by Freestyle::BlenderFileLoader::insertShapeNode(), and testEdgeMark().
Definition at line 43 of file Curvature.cpp.
References b, Freestyle::WFace::getEdgeList(), i, and triangle_obtuse().
Referenced by gts_vertex_principal_directions(), and triangle_obtuse().
Definition at line 80 of file FitCurve.cpp.
Referenced by Freestyle::FitCurveWrapper::FitCubic(), GenerateBezier(), and V2Add().
Definition at line 429 of file FitCurve.cpp.
Referenced by GenerateBezier(), and V2AddII().
Definition at line 72 of file FitCurve.cpp.
References b, sqrt, and V2DistanceBetween2Points().
Referenced by ChordLengthParameterize(), Freestyle::FitCurveWrapper::FitCubic(), GenerateBezier(), and V2DistanceBetween2Points().
Definition at line 66 of file FitCurve.cpp.
Referenced by GenerateBezier(), and V2Dot().
|
static |
Definition at line 50 of file FitCurve.cpp.
References sqrt, V2Length(), and V2SquaredLength().
Referenced by ComputeCenterTangent(), V2Length(), V2Normalize(), and V2Scale().
Definition at line 99 of file FitCurve.cpp.
References v, and V2Negate().
Referenced by Freestyle::FitCurveWrapper::FitCubic(), and V2Negate().
Definition at line 88 of file FitCurve.cpp.
References len(), v, V2Length(), and V2Normalize().
Referenced by ComputeCenterTangent(), ComputeLeftTangent(), ComputeRightTangent(), and V2Normalize().
Definition at line 55 of file FitCurve.cpp.
References len(), v, V2Length(), and V2Scale().
Referenced by Freestyle::FitCurveWrapper::FitCubic(), GenerateBezier(), and V2Scale().
Definition at line 437 of file FitCurve.cpp.
References result, v, and V2ScaleIII().
Referenced by GenerateBezier(), and V2ScaleIII().
|
static |
Definition at line 44 of file FitCurve.cpp.
References V2SquaredLength().
Referenced by ComputeMaxError(), V2Length(), and V2SquaredLength().
Definition at line 445 of file FitCurve.cpp.
Referenced by ComputeCenterTangent(), ComputeLeftTangent(), ComputeMaxError(), ComputeRightTangent(), GenerateBezier(), and V2SubII().
|
static |
Definition at line 296 of file ViewMap.cpp.
References Freestyle::VecMat::Vec< T, N >::normalize(), Freestyle::FEdge::orientation2d(), v2, ViewEdgeComp(), Freestyle::VecMat::Vec2< T >::x(), and Freestyle::VecMat::Vec2< T >::y().
Referenced by Freestyle::NonTVertex::AddIncomingViewEdge(), Freestyle::NonTVertex::AddOutgoingViewEdge(), Freestyle::TVertex::setBackEdgeA(), Freestyle::TVertex::setBackEdgeB(), Freestyle::TVertex::setFrontEdgeA(), Freestyle::TVertex::setFrontEdgeB(), and ViewEdgeComp().
Definition at line 36 of file ViewMapBuilder.cpp.
Referenced by Freestyle::ViewMapBuilder::BuildGrid(), computeCumulativeVisibility(), computeDetailedVisibility(), Freestyle::ViewMapBuilder::ComputeEdgesVisibility(), computeFastVisibility(), Freestyle::ViewMapBuilder::ComputeIntersections(), Freestyle::ViewMapBuilder::ComputeRayCastingVisibility(), Freestyle::ViewMapBuilder::ComputeRayCastingVisibility(), Freestyle::ViewMapBuilder::ComputeSweepLineIntersections(), computeVeryFastVisibility(), computeVisibility(), Freestyle::ViewMapBuilder::CullViewEdges(), and findOccludee().
|
static |
Definition at line 82 of file RandGen.cpp.
Definition at line 87 of file RandGen.cpp.
|
extern |
|
static |
Definition at line 1547 of file ViewMapBuilder.cpp.
Referenced by Freestyle::ViewMapBuilder::ComputeFastRayCastingVisibility(), Freestyle::ViewMapBuilder::ComputeRayCastingVisibility(), Freestyle::ViewMapBuilder::ComputeSweepLineIntersections(), and Freestyle::ViewMapBuilder::ComputeVeryFastRayCastingVisibility().
|
static |
Definition at line 1548 of file ViewMapBuilder.cpp.
Referenced by Freestyle::ViewMapBuilder::ComputeFastRayCastingVisibility(), Freestyle::ViewMapBuilder::ComputeRayCastingVisibility(), Freestyle::ViewMapBuilder::ComputeSweepLineIntersections(), and Freestyle::ViewMapBuilder::ComputeVeryFastRayCastingVisibility().
|
static |
Definition at line 17 of file Precision.h.
Referenced by LanczosWindowed().
|
static |
Definition at line 56 of file SceneHash.cpp.
|
static |
Definition at line 78 of file AdvancedStrokeShaders.cpp.
Referenced by Freestyle::SpatialNoiseShader::shade(), and Freestyle::SpatialNoiseShader::SpatialNoiseShader().
|
static |
Definition at line 77 of file RandGen.cpp.
Referenced by Freestyle::RandGen::drand48().