PLaSK library

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

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

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

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

## Public Types
typedef size_t | EnumType
| Default value enumeration type.
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 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 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
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::MultiVectorFieldProperty< ValueT, _ExtraParams >

Helper class which makes it easier to define property tags classes for multiple 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 388 of file providerfor.hpp.

## Member Typedef Documentation

## ◆ EnumType

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

typedef size_t plask::MultiVectorFieldProperty< ValueT, _ExtraParams >::EnumType

Default value enumeration type.

Definition at line 391 of file providerfor.hpp.

## Member Function Documentation

## ◆ value2Dto3D()

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

static Vec< 3, ValueT > plask::MultiVectorFieldProperty< 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 405 of file providerfor.hpp.

## ◆ value3Dto2D()

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

static Vec< 2, ValueT > plask::MultiVectorFieldProperty< 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 398 of file providerfor.hpp.

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

- plask/provider/providerfor.hpp