TuttleOFX
1
|
DPX Image Writer class. More...
#include <DPX.h>
Public Member Functions | |
Writer () | |
Constructor. | |
virtual | ~Writer () |
Destructor. | |
void | Start () |
Start defining the header and writing the images. | |
void | SetFileInfo (const char *fileName, const char *creationTimeDate=0, const char *creator=0, const char *project=0, const char *copyright=0, const U32 encryptKey=~0, const bool swapEndian=false) |
Set the basic file information about DPX. | |
void | SetImageInfo (const U32 width, const U32 height) |
Set the Width and Height of the images. | |
int | NextAvailElement () const |
Get the next available element. | |
void | SetElement (const int element=0, const Descriptor desc=kRGB, const U8 bitDepth=10, const Characteristic transfer=kLogarithmic, const Characteristic colorimetric=kLogarithmic, const Packing packing=kFilledMethodA, const Encoding encoding=kNone, const U32 dataSign=0, const U32 lowData=~0, const R32 lowQuantity=std::numeric_limits< float >::quiet_NaN(), const U32 highData=~0, const R32 highQuantity=std::numeric_limits< float >::quiet_NaN(), const U32 eolnPadding=0, const U32 eoimPadding=0) |
Set the parameters on an element. | |
void | SetOutStream (OutStream *stream) |
Set the OutStream object will use to write the files. | |
void | SetUserData (const long size) |
Set the size of the user data area. | |
bool | WriteHeader () |
Write the header. | |
bool | WriteUserData (void *data) |
Write the user data. | |
bool | WriteElement (const int element, void *data) |
Write the entire element to the dpx file. | |
bool | WriteElement (const int element, void *data, const DataSize size) |
bool | WriteElement (const int element, void *data, const long count) |
bool | Finish () |
Finish up writing image. | |
Data Fields | |
Header | header |
DPX Header. | |
Protected Member Functions | |
bool | WriteThrough (void *, const U32, const U32, const int, const int, const U32, const U32, char *) |
Protected Attributes | |
long | fileLoc |
OutStream * | fd |
dpx::Writer::Writer | ( | ) |
Constructor.
Definition at line 43 of file Writer.cpp.
dpx::Writer::~Writer | ( | ) | [virtual] |
Destructor.
Definition at line 48 of file Writer.cpp.
bool dpx::Writer::Finish | ( | ) |
Finish up writing image.
Definition at line 398 of file Writer.cpp.
Referenced by tuttle::plugin::dpx::writer::DPXWriterPlugin::render().
int dpx::Writer::NextAvailElement | ( | ) | const |
Get the next available element.
Definition at line 97 of file Writer.cpp.
References dpx::kUndefinedDescriptor, and MAX_ELEMENTS.
void dpx::Writer::SetElement | ( | const int | element = 0 , |
const Descriptor | desc = kRGB , |
||
const U8 | bitDepth = 10 , |
||
const Characteristic | transfer = kLogarithmic , |
||
const Characteristic | colorimetric = kLogarithmic , |
||
const Packing | packing = kFilledMethodA , |
||
const Encoding | encoding = kNone , |
||
const U32 | dataSign = 0 , |
||
const U32 | lowData = ~0 , |
||
const R32 | lowQuantity = std::numeric_limits<float>::quiet_NaN() , |
||
const U32 | highData = ~0 , |
||
const R32 | highQuantity = std::numeric_limits<float>::quiet_NaN() , |
||
const U32 | eolnPadding = 0 , |
||
const U32 | eoimPadding = 0 |
||
) |
Set the parameters on an element.
There are 8 elements maximum in an single DPX and each element used must be set before writing the header
element | element number (0-7) |
desc | image descriptor |
bitDepth | bit depth of image, valid values are [8,10,12,16,32,64] |
transfer | transfer characteristic |
colorimetric | colorimetric specification |
packing | packing type |
encoding | encoding type |
dataSign | |
lowData | |
lowQuantity | |
highData | |
highQuantity | |
eolnPadding | end of line padding (in bytes) |
eoimPadding | end of image padding (in bytes) |
Definition at line 146 of file Writer.cpp.
References MAX_ELEMENTS.
Referenced by tuttle::plugin::dpx::writer::DPXWriterPlugin::render().
void dpx::Writer::SetFileInfo | ( | const char * | fileName, |
const char * | creationTimeDate = 0 , |
||
const char * | creator = 0 , |
||
const char * | project = 0 , |
||
const char * | copyright = 0 , |
||
const U32 | encryptKey = ~0 , |
||
const bool | swapEndian = false |
||
) |
Set the basic file information about DPX.
fileName | name of this created file (100 characters max) |
creationTimeDate | creation time and date - format is "YYYY:MM:DD:HH:MM:SSLTZ" where HH is 24 hour time, LTZ is local time zone using either three character notation (i.e., -04) or five character notation representing hours and minutes offset from Greenwich Mean time (i.e., -0700) (24 characters max) |
creator | creator (100 characters max) |
project | project name (200 characters max) |
copyright | copyright statement (200 characters max) |
encryptKey | encryption key |
swapEndian | whether to write the image header in reverse to native endianness |
Definition at line 58 of file Writer.cpp.
References dpx::SwapBytes().
Referenced by tuttle::plugin::dpx::writer::DPXWriterPlugin::render().
Set the Width and Height of the images.
width | width of the image |
height | height of the image |
Definition at line 88 of file Writer.cpp.
References dpx::kLeftToRightTopToBottom.
Referenced by tuttle::plugin::dpx::writer::DPXWriterPlugin::render().
void dpx::Writer::SetOutStream | ( | OutStream * | stream | ) |
Set the OutStream object will use to write the files.
stream | OutStream object |
Definition at line 111 of file Writer.cpp.
Referenced by tuttle::plugin::dpx::writer::DPXWriterPlugin::render().
void dpx::Writer::SetUserData | ( | const long | size | ) |
Set the size of the user data area.
size | size of user data |
Definition at line 133 of file Writer.cpp.
void dpx::Writer::Start | ( | ) |
Start defining the header and writing the images.
Definition at line 53 of file Writer.cpp.
Referenced by tuttle::plugin::dpx::writer::DPXWriterPlugin::render().
bool dpx::Writer::WriteElement | ( | const int | element, |
void * | data | ||
) |
Write the entire element to the dpx file.
element | element number (0-7) |
data | buffer |
Definition at line 199 of file Writer.cpp.
References dpx::kUndefinedDescriptor, and MAX_ELEMENTS.
Referenced by tuttle::plugin::dpx::writer::DPXWriterPlugin::render(), and tuttle::plugin::dpx::writer::DPXWriterProcess< View >::writeImage().
bool dpx::Writer::WriteElement | ( | const int | element, |
void * | data, | ||
const DataSize | size | ||
) |
Definition at line 214 of file Writer.cpp.
References height, dpx::kByte, dpx::kDouble, dpx::kFilledMethodA, dpx::kFloat, dpx::kRGB, dpx::kRLE, dpx::kUndefinedDescriptor, dpx::kWord, MAX_ELEMENTS, and width.
bool dpx::Writer::WriteElement | ( | const int | element, |
void * | data, | ||
const long | count | ||
) |
Definition at line 179 of file Writer.cpp.
References dpx::kUndefinedDescriptor, and MAX_ELEMENTS.
bool dpx::Writer::WriteHeader | ( | ) |
Write the header.
Definition at line 117 of file Writer.cpp.
References OutStream::kStart.
Referenced by tuttle::plugin::dpx::writer::DPXWriterPlugin::render().
bool dpx::Writer::WriteThrough | ( | void * | data, |
const U32 | width, | ||
const U32 | height, | ||
const int | noc, | ||
const int | bytes, | ||
const U32 | eolnPad, | ||
const U32 | eoimPad, | ||
char * | blank | ||
) | [protected] |
Definition at line 345 of file Writer.cpp.
References height.
bool dpx::Writer::WriteUserData | ( | void * | data | ) |
Write the user data.
data | buffer - must match size set in Writer::SetUserData() |
Definition at line 139 of file Writer.cpp.
OutStream* dpx::Writer::fd [protected] |
long dpx::Writer::fileLoc [protected] |
DPX Header.
Definition at line 306 of file DPX.h.
Referenced by tuttle::plugin::dpx::writer::DPXWriterPlugin::render().