PCL
pcl::MetaBlock Class Referenceabstract

A formal description of a block process parameter. More...

#include <MetaParameter.h>

+ Inheritance diagram for pcl::MetaBlock:

Public Types

enum  data_interpretation
 
- Public Types inherited from pcl::MetaObject
using children_list = IndirectArray< MetaObject >
 

Public Member Functions

 MetaBlock (MetaProcess *p)
 
 MetaBlock (MetaTable *t)
 
 ~MetaBlock () noexcept(false) override
 
virtual data_interpretation DataInterpretation () const
 
virtual IsoString Id () const override=0
 
bool IsBlock () const override
 
- Public Member Functions inherited from pcl::MetaVariableLengthParameter
 MetaVariableLengthParameter (MetaProcess *P)
 
 MetaVariableLengthParameter (MetaTable *T)
 
 ~MetaVariableLengthParameter () noexcept(false) override
 
bool IsVariableLength () const override
 
virtual size_type MaxLength () const
 
virtual size_type MinLength () const
 
- Public Member Functions inherited from pcl::MetaParameter
 MetaParameter (MetaProcess *P)
 
 MetaParameter (MetaTable *T)
 
 ~MetaParameter () noexcept(false) override
 
virtual IsoString Aliases () const
 
virtual String Comment () const
 
virtual String Description () const
 
virtual bool IsBoolean () const
 
virtual bool IsEnumeration () const
 
virtual bool IsNumeric () const
 
virtual bool IsReadOnly () const
 
virtual bool IsRequired () const
 
virtual bool IsString () const
 
virtual bool IsTable () const
 
virtual bool NeedsUnlocking () const
 
virtual bool NeedsValidation () const
 
- Public Member Functions inherited from pcl::MetaObject
 MetaObject (const MetaObject &)=delete
 
 MetaObject (MetaObject &&x)=delete
 
 MetaObject (MetaObject *parent)
 
virtual ~MetaObject () noexcept(false)
 
size_type Length () const
 
MetaObjectoperator= (const MetaObject &)=delete
 
MetaObjectoperator= (MetaObject &&x)=delete
 
const MetaObjectoperator[] (size_type i) const
 
MetaObjectParent ()
 
const MetaObjectParent () const
 

Detailed Description

A block process parameter is a container that stores arbitrary data as a sequence of bytes.

Block parameters should only be used for parameters that definitely cannot be represented as any of the supported numerical, Boolean, enumerated, or string parameter types. This is because block parameters lead to poorly readable transcriptions in scripts and other visual representations.

Definition at line 1888 of file MetaParameter.h.

Member Enumeration Documentation

◆ data_interpretation

MetaBlock data interpretation modes used for automatic script generation.

Supported data interpretation modes:

MetaBlock::DataAsUInt8 Block data are interpreted as a sequence of 8-bit unsigned integers
MetaBlock::DataAsInt8 Block data are interpreted as a sequence of 8-bit signed integers
MetaBlock::DataAsUInt16 Block data are interpreted as a sequence of 16-bit unsigned integers
MetaBlock::DataAsInt16 Block data are interpreted as a sequence of 16-bit signed integers
MetaBlock::DataAsUInt32 Block data are interpreted as a sequence of 32-bit unsigned integers
MetaBlock::DataAsInt32 Block data are interpreted as a sequence of 32-bit signed integers
MetaBlock::DataAsUInt64 Block data are interpreted as a sequence of 64-bit unsigned integers
MetaBlock::DataAsInt64 Block data are interpreted as a sequence of 64-bit signed integers
MetaBlock::DataAsFloat Block data are interpreted as a sequence of float (32-bit IEEE 754 floating point)
MetaBlock::DataAsDouble Block data are interpreted as a sequence of double (64-bit IEEE 754 floating point)

The PixInsight core application takes into account these modes to generate readable and meaningful scripts for MetaBlock parameters.

Definition at line 1952 of file MetaParameter.h.

Constructor & Destructor Documentation

◆ MetaBlock() [1/2]

pcl::MetaBlock::MetaBlock ( MetaProcess p)
inline

Constructs a metaparameter representing a block parameter of the specified process class *p.

Definition at line 1896 of file MetaParameter.h.

◆ MetaBlock() [2/2]

pcl::MetaBlock::MetaBlock ( MetaTable t)
inline

Constructs a metaparameter representing a data block in a column of a table process parameter represented by the metatable *t. The new metaparameter is appended to the list of existing columns in the metatable *t.

Definition at line 1907 of file MetaParameter.h.

◆ ~MetaBlock()

pcl::MetaBlock::~MetaBlock ( )
inlineoverridenoexcept

Destroys a MetaBlock object.

Definition at line 1915 of file MetaParameter.h.

Member Function Documentation

◆ DataInterpretation()

virtual data_interpretation pcl::MetaBlock::DataInterpretation ( ) const
inlinevirtual

Defines how the data provided by this block parameter will be interpreted by the core application for automatic script generation.

The default mode is MetaBlock::DataAsUInt8, which means that the data are interpreted as a sequence of plain bytes by default.

This function must be reimplemented to indicate the correct data type for each particular MetaBlock parameter. This is essential to ensure generation of meaningful and readable scripts.

See also
MetaBlock::data_interpretation

Definition at line 1979 of file MetaParameter.h.

◆ Id()

virtual IsoString pcl::MetaBlock::Id ( ) const
overridepure virtual

Returns the identifier of the process parameter that this metaparameter represents.

Each process parameter must have a valid, unique (within its parent process) C identifier.

See also
Aliases()

Implements pcl::MetaVariableLengthParameter.

◆ IsBlock()

bool pcl::MetaBlock::IsBlock ( ) const
inlineoverridevirtual

Returns true iff this metaparameter represents a block process parameter. Block process parameters are represented as subclasses of MetaBlock.

Reimplemented from pcl::MetaParameter.

Definition at line 1921 of file MetaParameter.h.


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