C++: add set/get for an array of doubles
This commit is contained in:
parent
57ab63f9f1
commit
526cf4ec37
@ -600,6 +600,29 @@ public:
|
|||||||
static_cast<int>( value.size() ) );
|
static_cast<int>( value.size() ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the value of an double array metadata item on an image.
|
||||||
|
*
|
||||||
|
* A copy of the array is taken.
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
set( const char *field, double *value, int n )
|
||||||
|
{
|
||||||
|
vips_image_set_array_double( this->get_image(), field, value, n );
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the value of an double array metadata item on an image.
|
||||||
|
*
|
||||||
|
* A copy of the array is taken.
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
set( const char *field, std::vector<double> value )
|
||||||
|
{
|
||||||
|
vips_image_set_array_double( this->get_image(), field, &value[0],
|
||||||
|
static_cast<int>( value.size() ) );
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the value of a double metadata item on an image.
|
* Set the value of a double metadata item on an image.
|
||||||
*/
|
*/
|
||||||
@ -695,6 +718,40 @@ public:
|
|||||||
return( vector );
|
return( vector );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the value of a metadata item as an array of doubles. Do not free
|
||||||
|
* the result.
|
||||||
|
*
|
||||||
|
* If the item is not of this type, an exception is thrown.
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
get_array_double( const char *field, double **out, int *n ) const
|
||||||
|
{
|
||||||
|
if( vips_image_get_array_double( this->get_image(),
|
||||||
|
field, out, n ) )
|
||||||
|
throw( VError() );
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the value of a metadata item as an array of doubles.
|
||||||
|
*
|
||||||
|
* If the item is not of this type, an exception is thrown.
|
||||||
|
*/
|
||||||
|
std::vector<double>
|
||||||
|
get_array_double( const char *field ) const
|
||||||
|
{
|
||||||
|
int length;
|
||||||
|
double *array;
|
||||||
|
|
||||||
|
if( vips_image_get_array_double( this->get_image(),
|
||||||
|
field, &array, &length ) )
|
||||||
|
throw( VError() );
|
||||||
|
|
||||||
|
std::vector<double> vector( array, array + length );
|
||||||
|
|
||||||
|
return( vector );
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the value of a metadata item as a double.
|
* Get the value of a metadata item as a double.
|
||||||
*
|
*
|
||||||
|
Loading…
Reference in New Issue
Block a user