MCPcopy Create free account
hub / github.com/AcademySoftwareFoundation/OpenColorIO / GetTransform

Method GetTransform

src/OpenColorIO/NamedTransform.cpp:182–221  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

180}
181
182ConstTransformRcPtr NamedTransform::GetTransform(const ConstNamedTransformRcPtr & nt,
183 TransformDirection dir)
184{
185 if (nt)
186 {
187 const auto forwardTransform = nt->getTransform(TRANSFORM_DIR_FORWARD);
188 const auto inverseTransform = nt->getTransform(TRANSFORM_DIR_INVERSE);
189 if (dir == TRANSFORM_DIR_FORWARD)
190 {
191 // If forward does not exist, inverse the inverse transform.
192 if (!forwardTransform)
193 {
194 auto transform = inverseTransform->createEditableCopy();
195 const auto dir = GetInverseTransformDirection(transform->getDirection());
196 transform->setDirection(dir);
197 return transform;
198 }
199 else
200 {
201 return forwardTransform;
202 }
203 }
204 else if (dir == TRANSFORM_DIR_INVERSE)
205 {
206 if (!inverseTransform)
207 {
208 // Inverse the forward transform.
209 auto transform = forwardTransform->createEditableCopy();
210 const auto dir = GetInverseTransformDirection(transform->getDirection());
211 transform->setDirection(dir);
212 return transform;
213 }
214 else
215 {
216 return inverseTransform;
217 }
218 }
219 }
220 throw Exception("Named transform: Unspecified TransformDirection.");
221}
222
223void NamedTransformImpl::setTransform(const ConstTransformRcPtr & transform, TransformDirection dir)
224{

Callers 1

Calls 5

getTransformMethod · 0.45
createEditableCopyMethod · 0.45
getDirectionMethod · 0.45
setDirectionMethod · 0.45

Tested by 1