PLaSK library

Loading...
Searching...
No Matches
Static Public Member Functions | List of all members
plask::VectorFieldProperty< ValueT, _ExtraParams > Struct Template Reference

Helper class which makes it easier to define property tags classes for vectorial fields that can be interpolated. More...

`#include <plask/provider/providerfor.hpp>`

Inheritance diagram for plask::VectorFieldProperty< ValueT, _ExtraParams >:
[legend]
Collaboration diagram for plask::VectorFieldProperty< ValueT, _ExtraParams >:
[legend]

## Static Public Member Functions
static Vec< 2, ValueT > | value3Dto2D (const Vec< 3, ValueT > &v)
| Convert value in 3D space to 2D space by removing component.
static Vec< 3, ValueT > | value2Dto3D (const Vec< 2, ValueT > &v)
| Convert value in 2D space to 2D space by adding zeroed component.
static const Vec< 2, ValueT > | value3Dto2Dcyl (const Vec< 3, ValueT > &v, const Vec< 3, double > &p)
| Convert value in 3D space to 2D space in cylindrical coordinates.
static const Vec< 3, ValueT > | value2Dto3Dcyl (const Vec< 2, ValueT > &v, const Vec< 3, double > &p)
| Convert value in 2D space to 2D space in cylindrical coordinates.
Static Public Member Functions inherited from plask::Property< _propertyType, _ValueType2D, _ValueType3D, _ExtraParams >
static ValueType2D | getDefaultValue2D ()
| Return default value of the property (usually zero) in 2D space.
static ValueType3D | getDefaultValue3D ()
| Return default value of the property (usually zero) in 3D space.

## Additional Inherited Members
Public Types inherited from plask::Property< _propertyType, _ValueType2D, _ValueType3D, _ExtraParams >
typedef _ValueType2D | ValueType2D
| Type of provided value in 2D space.
typedef _ValueType3D | ValueType3D
| Type of provided value in 3D space.
typedef VariadicTemplateTypesHolder< _ExtraParams... > | ExtraParams
| Extra parameters passed as arguments to provider to get value.
Static Public Attributes inherited from plask::Property< _propertyType, _ValueType2D, _ValueType3D, _ExtraParams >
static const PropertyType | propertyType = _propertyType
| Type of property.
static constexpr const char * | NAME = PropertyTypeToProviderName<_propertyType>::value
| Name of the property.
static constexpr bool | hasUniqueValueType = false
| `true` only if property use same value type in 2D and 3D space

## Detailed Description

template<typename ValueT = double, typename... _ExtraParams>
struct plask::VectorFieldProperty< ValueT, _ExtraParams >

Helper class which makes it easier to define property tags classes for vectorial fields that can be interpolated.

Properties defined with this tag has another type of value in 2D and 3D space:

- Vec<2, ValueT> in 2D space,
- Vec<3, ValueT> in 3D space.

Property tag class can be subclass of this, but never should be typedefs to this (tag class for each property must be a separate class — always use different types for different properties).

Definition at line 340 of file providerfor.hpp.

## Member Function Documentation

## ◆ value2Dto3D()

template<typename ValueT = double, typename... _ExtraParams>

static Vec< 3, ValueT > plask::VectorFieldProperty< ValueT, _ExtraParams >::value2Dto3D | ( | const Vec< 2, ValueT > & | v | ) |
| inline static

Convert value in 2D space to 2D space by adding zeroed component.

Parameters

  v | value in 2D space

Returns
  `p` converted to 3D space

Definition at line 354 of file providerfor.hpp.

## ◆ value2Dto3Dcyl()

template<typename ValueT = double, typename... _ExtraParams>

static const Vec< 3, ValueT > plask::VectorFieldProperty< ValueT, _ExtraParams >::value2Dto3Dcyl | ( | const Vec< 2, ValueT > & | v,
|  | const Vec< 3, double > & | p
| ) |  |
| inline static

Convert value in 2D space to 2D space in cylindrical coordinates.

Parameters

  v | value in 2D space

Returns
  `p` converted to 3D space

Definition at line 371 of file providerfor.hpp.

## ◆ value3Dto2D()

template<typename ValueT = double, typename... _ExtraParams>

static Vec< 2, ValueT > plask::VectorFieldProperty< ValueT, _ExtraParams >::value3Dto2D | ( | const Vec< 3, ValueT > & | v | ) |
| inline static

Convert value in 3D space to 2D space by removing component.

Parameters

  v | value in 3D space

Returns
  `p` converted to 2D space

Definition at line 347 of file providerfor.hpp.

## ◆ value3Dto2Dcyl()

template<typename ValueT = double, typename... _ExtraParams>

static const Vec< 2, ValueT > plask::VectorFieldProperty< ValueT, _ExtraParams >::value3Dto2Dcyl | ( | const Vec< 3, ValueT > & | v,
|  | const Vec< 3, double > & | p
| ) |  |
| inline static

Convert value in 3D space to 2D space in cylindrical coordinates.

Parameters

  v | value in 3D space

Returns
  `p` converted to 2D space

Definition at line 361 of file providerfor.hpp.

The documentation for this struct was generated from the following file:

- plask/provider/providerfor.hpp