Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Friends | List of all members
Function1 Class Referenceabstract

Top level data entry class for use in dictionaries. Provides a mechanism to specify a variable as a certain type, e.g. constant or table, and provide functions to return the (interpolated) value, and integral between limits. More...

Inheritance diagram for Function1:
Inheritance graph
[legend]
Collaboration diagram for Function1:
Collaboration graph
[legend]

Public Types

typedef Type returnType
 

Public Member Functions

 TypeName ("Function1") declareRunTimeSelectionTable(autoPtr
 
 Function1 (const word &entryName, const objectRegistry *obrPtr=nullptr)
 
 Function1 (const word &entryName, const dictionary &dict, const objectRegistry *obrPtr=nullptr)
 
 Function1 (const Function1< Type > &rhs)
 
virtual tmp< Function1< Type > > clone () const =0
 
virtual ~Function1 ()=default
 
virtual bool constant () const
 
virtual Type value (const scalar x) const
 
virtual tmp< Field< Type > > value (const scalarField &x) const
 
virtual Type integrate (const scalar x1, const scalar x2) const
 
virtual tmp< Field< Type > > integrate (const scalarField &x1, const scalarField &x2) const
 
virtual void writeData (Ostream &os) const
 
void writeEntries (Ostream &os) const
 

Static Public Member Functions

static autoPtr< Function1< Type > > New (const word &entryName, const dictionary &dict, const word &redirectType, const objectRegistry *obrPtr=nullptr, const bool mandatory=true)
 
static autoPtr< Function1< Type > > NewCompat (const word &entryName, std::initializer_list< std::pair< const char *, int >> compat, const dictionary &dict, const word &redirectType=word::null, const objectRegistry *obrPtr=nullptr, const bool mandatory=true)
 
static autoPtr< Function1< Type > > New (const word &entryName, const dictionary &dict, const objectRegistry *obrPtr=nullptr, const bool mandatory=true)
 
static autoPtr< Function1< Type > > NewIfPresent (const word &entryName, const dictionary &dict, const word &redirectType=word::null, const objectRegistry *obrPtr=nullptr)
 
static refPtr< Function1< Type > > New (HashPtrTable< Function1< Type >> &cache, const word &entryName, const dictionary &dict, enum keyType::option matchOpt=keyType::LITERAL, const objectRegistry *obrPtr=nullptr, const bool mandatory=true)
 

Public Attributes

 Function1
 
 dictionary
 
const wordentryName
 
const word const dictionarydict
 
const word const dictionary const objectRegistryobrPtr
 
const word const dictionary const objectRegistry entryName
 
const word const dictionary const objectRegistry dict
 
const word const dictionary const objectRegistry obrPtr
 

Protected Member Functions

void operator= (const Function1< Type > &)=delete
 

Friends

Ostreamoperator (Ostream &os, const Function1< Type > &func)
 

Detailed Description

Top level data entry class for use in dictionaries. Provides a mechanism to specify a variable as a certain type, e.g. constant or table, and provide functions to return the (interpolated) value, and integral between limits.

The New factory method attempts to deal with varying types of input. It accepts primitive or dictionary entries for dispatching to different function types, but wraps unspecified types as "constant".

In the dictionary form, the coefficients are the dictionary itself. This is arguably the more readable form. For example,

    <entryName>
    {
        type      linearRamp;
        start     10;
        duration  20;
    }

In the primitive form, the coefficients are provided separately. For example,

    <entryName>   linearRamp;
    <entryName>Coeffs
    {
        start     10;
        duration  20;
    }

The coeffs dictionary is optional, since it is not required by all types. For example,

    <entryName>   zero;
Source files

Definition at line 287 of file propellerInfo.H.

Member Typedef Documentation

◆ returnType

typedef Type returnType

Definition at line 117 of file Function1.H.

Constructor & Destructor Documentation

◆ Function1() [1/3]

Function1 ( const word entryName,
const objectRegistry obrPtr = nullptr 
)
explicit

◆ Function1() [2/3]

Function1 ( const word entryName,
const dictionary dict,
const objectRegistry obrPtr = nullptr 
)

◆ Function1() [3/3]

Function1 ( const Function1< Type > &  rhs)
explicit

Definition at line 53 of file Function1.C.

◆ ~Function1()

virtual ~Function1 ( )
virtualdefault

//- Selector with external storage of Function1. //- This also allows wildcard matches in a dictionary. // If the default value is used, stores an entry as "default" static refPtr<Function1<Type>> NewOrDefault ( HashPtrTable<Function1<Type>>& cache, const word& entryName, const dictionary& dict, const Type& deflt, enum keyType::option matchOpt = keyType::LITERAL, const objectRegistry* obrPtr = nullptr );

Member Function Documentation

◆ operator=()

void operator= ( const Function1< Type > &  )
protecteddelete

◆ TypeName()

TypeName ( "Function1"  )

◆ clone()

virtual tmp<Function1<Type> > clone ( ) const
pure virtual

◆ New() [1/3]

static autoPtr<Function1<Type> > New ( const word entryName,
const dictionary dict,
const word redirectType,
const objectRegistry obrPtr = nullptr,
const bool  mandatory = true 
)
static

◆ NewCompat()

Foam::autoPtr< Foam::Function1< Type > > NewCompat ( const word entryName,
std::initializer_list< std::pair< const char *, int >>  compat,
const dictionary dict,
const word redirectType = word::null,
const objectRegistry obrPtr = nullptr,
const bool  mandatory = true 
)
static

Definition at line 167 of file Function1New.C.

◆ New() [2/3]

static autoPtr<Function1<Type> > New ( const word entryName,
const dictionary dict,
const objectRegistry obrPtr = nullptr,
const bool  mandatory = true 
)
static

◆ NewIfPresent()

Foam::autoPtr< Foam::Function1< Type > > NewIfPresent ( const word entryName,
const dictionary dict,
const word redirectType = word::null,
const objectRegistry obrPtr = nullptr 
)
static

Definition at line 205 of file Function1New.C.

Referenced by rigidBodyMotion::read().

Here is the caller graph for this function:

◆ New() [3/3]

static refPtr<Function1<Type> > New ( HashPtrTable< Function1< Type >> &  cache,
const word entryName,
const dictionary dict,
enum keyType::option  matchOpt = keyType::LITERAL,
const objectRegistry obrPtr = nullptr,
const bool  mandatory = true 
)
static

◆ constant()

virtual bool constant ( ) const
inlinevirtual

Definition at line 239 of file Function1.H.

◆ value() [1/2]

Type value ( const scalar  x) const
virtual

◆ value() [2/2]

Foam::tmp< Foam::Field< Type > > value ( const scalarField x) const
virtual

Reimplemented in Constant< Type >, OneConstant< Type >, and None< Type >.

Definition at line 71 of file Function1.C.

◆ integrate() [1/2]

Type integrate ( const scalar  x1,
const scalar  x2 
) const
virtual

◆ integrate() [2/2]

Foam::tmp< Foam::Field< Type > > integrate ( const scalarField x1,
const scalarField x2 
) const
virtual

Reimplemented in OneConstant< Type >.

Definition at line 90 of file Function1.C.

◆ writeData()

void writeData ( Ostream os) const
virtual

◆ writeEntries()

void writeEntries ( Ostream os) const

Definition at line 162 of file Function1.C.

Friends And Related Function Documentation

◆ operator

Ostream& operator ( Ostream os,
const Function1< Type > &  func 
)
friend

Member Data Documentation

◆ Function1

Definition at line 126 of file Function1.H.

◆ dictionary

Definition at line 127 of file Function1.H.

◆ entryName [1/2]

const word& entryName

Definition at line 129 of file Function1.H.

◆ dict [1/2]

const word const dictionary& dict

Definition at line 130 of file Function1.H.

◆ obrPtr [1/2]

const word const dictionary const objectRegistry* obrPtr

Definition at line 132 of file Function1.H.

◆ entryName [2/2]

const word const dictionary const objectRegistry entryName

Definition at line 133 of file Function1.H.

◆ dict [2/2]

const word const dictionary const objectRegistry dict

Definition at line 133 of file Function1.H.

◆ obrPtr [2/2]

const word const dictionary const objectRegistry obrPtr

Definition at line 134 of file Function1.H.


The documentation for this class was generated from the following files: