1#ifndef __FIBER_GRID_TYPES_CURVEDERIVATIVE_HPP
2#define __FIBER_GRID_TYPES_CURVEDERIVATIVE_HPP
4#include "gridtypesDllApi.h"
5#include <grid/Grid.hpp>
6#include <eagle/PhysicalSpace.hpp>
8#include <grid/EuclideanMetric.hpp>
11#define USE_DEPRECATED_LINESET_FUNCTIONS
21 template <
class ValueType,
class Po
intType>
30 template <
class ValueType,
class Po
intType>
67template <
class Type,
class Metric = Eucl
ideanMetric,
class ValueOperator = IdentityOperator>
70 typedef typename Metric::point point;
71 using Metric::distance;
73 using ValueOperator::compute;
83 return DerivedQuantity;
108 if (!
LS.CartesianVertices)
110 puts(
"CurveDerivative::CurveDerivative() No Cartesian Vertices!");
fflush(
stdout);
114 if (!
LS.getCoords( C.fragV ) )
117 puts(
"CurveDerivative::CurveDerivative() No Coords for global fragment!");
119 printf(
"CurveDerivative::CurveDerivative() No Coords for fragment [%s]!\n", C.fragV->Name().c_str() );
139 puts(
"CurveDerivative::CurveDerivative() No Quantity Field found!");
fflush(
stdout);
149 LS.ApplyOnVertexFragment( *
this, C.fragV );
158 puts(
"CurveDerivative::CurveDerivative() No Data retrieved!");
fflush(
stdout);
174 puts(
"CurveDerivative::apply() No Data");
181 puts(
"CurveDerivative::apply() One Element");
183 const point&
P0 = Vertices[
Line[0] ];
196 const point&
P0 = Vertices[
Line[0] ],
197 &
P1 = Vertices[
Line[1] ];
225 for(
unsigned i=1; i<
I-1; i++)
227 const point&
Pm = Vertices[
Line[i-1] ],
228 &
P = Vertices[
Line[i ] ],
229 &
Pp = Vertices[
Line[i+1] ];
262 const point&
P0 = Vertices[
Line[
I-2] ],
basic_string< char > string
basic_ostream< _CharT, _Traits > & endl(basic_ostream< _CharT, _Traits > &__os)
An iterator with an optional DataCreator, which is just a class to intercept creation of data along a...
Definition CreativeIterator.hpp:34
A set of lines stored on a Grid.
Definition LineSet.hpp:55
double norm(const PhysicalSpace::bivector &v)
Given a fragmented field of curvilinear coordinates, (3D array of coordinates), build a uniform Grid ...
Definition FAQ.dox:2
Definition CurveDerivative.hpp:29
An operator for OnDemandCreators to be used on LineSet's.
Definition CurveDerivative.hpp:69
Definition CurveDerivative.hpp:39
Definition CurveDerivative.hpp:20