DD::Image::GeoWriter::Description Class Reference

Specialised GeoWriter Description. More...

Inherits DD::Image::Description.

Public Member Functions

 Description (const char *n, const char *l, GeoWriter *(*c)(WriteGeo *), License *f=nullptr)
 
 Description (const char *n, GeoWriter *(*c)(WriteGeo *), License *f=nullptr)
 

Static Public Member Functions

static const Descriptionfind (int i)
 
static const Descriptionfind (const char *name)
 

Public Attributes

const char * names
 
const char * label
 
GeoWriter *(* constructor )(WriteGeo *)
 
- Public Attributes inherited from DD::Image::Description
const char * compiled
 
const char * plugin
 
Licenselicense
 

Additional Inherited Members

- Public Types inherited from DD::Image::Description
typedef Node *(* NodeBuilder) (void *)
 
typedef std::vector< Description * > DescriptionList
 
- Protected Member Functions inherited from DD::Image::Description
void ctor (void(*f)(Description *))
 
void ctor (void(*f)(Description *), NodeBuilder nodeBuilder)
 

Detailed Description

Specialised GeoWriter Description.

Each subclass of GeoWriter should define at least one static instance of this structure. The constructor adds itself to a list that the WriteGeo operator searches to find the correct type of GeoWriter to use to write a given filename.

Sample code for a plugin:

class MyWriter : public GeoWriter {
static const Description d;
...
};
static GeoWriter* build() {return new MyWriter();}
const GeoWriter::Description MyWriter::d("myf\0", "my file type", build);

Constructor & Destructor Documentation

DD::Image::GeoWriter::Description::Description ( const char *  n,
const char *  l,
GeoWriter *(*)(WriteGeo *)  c,
License f = nullptr 
)
inline

Constructor that fills all fields and allows a license check.

DD::Image::GeoWriter::Description::Description ( const char *  n,
GeoWriter *(*)(WriteGeo *)  c,
License f = nullptr 
)
inline

Simpler constructor that sets names and label to same value.

Member Function Documentation

const GeoWriter::Description * GeoWriter::Description::find ( int  i)
static

Return the i'th GeoWriter::Description known about, or return a null pointer for the last one.

Referenced by DD::Image::WriteGeo::set_file_type().

const GeoWriter::Description * GeoWriter::Description::find ( const char *  name)
static

Search all the defined GeoWriter::Descriptions for one whose name matches the passed string, or return NULL if none. This will also try to plugin_load("xyzWriter") (where xyz is id) in order to find external file writing code.

References names, and DD::Image::plugin_load().

Member Data Documentation

const char* DD::Image::GeoWriter::Description::names

Null separated list (as in "sgi\0rgb\0") of identifiers for this file type.

If "xyz" in in this list then a filename of "*.xyz" or "xyz:*" is considered to be this type.

Referenced by find().

const char* DD::Image::GeoWriter::Description::label

User-friendly version of the name.

GeoWriter*(* DD::Image::GeoWriter::Description::constructor) (WriteGeo *)

Make an instance of the writer. This cannot fail, instead the method frame(n) on the writer should try to open the output file and produce any error messages.

Referenced by DD::Image::WriteGeo::set_file_type().



©2021 The Foundry Visionmongers, Ltd. All Rights Reserved.
www.thefoundry.co.uk