| 116 | } |
| 117 | |
| 118 | void Baker::setFormat(const char * formatName) |
| 119 | { |
| 120 | FileFormat * fmt = FormatRegistry::GetInstance().getFileFormatByName(formatName); |
| 121 | if (fmt) |
| 122 | { |
| 123 | FormatInfoVec formatInfoVec; |
| 124 | fmt->getFormatInfo(formatInfoVec); |
| 125 | for (unsigned int i = 0; i < formatInfoVec.size(); ++i) |
| 126 | { |
| 127 | if (formatInfoVec[i].capabilities & FORMAT_CAPABILITY_BAKE) |
| 128 | { |
| 129 | getImpl()->m_formatName = formatName ? formatName : ""; |
| 130 | return; |
| 131 | } |
| 132 | } |
| 133 | } |
| 134 | |
| 135 | std::ostringstream os; |
| 136 | os << "File format " << formatName; |
| 137 | os << " does not support baking."; |
| 138 | throw Exception(os.str().c_str()); |
| 139 | } |
| 140 | |
| 141 | const char * Baker::getFormat() const |
| 142 | { |