MCPcopy Create free account
hub / github.com/ImageEngine/cortex / operator()

Method operator()

src/IECore/MatrixMultiplyOp.cpp:187–214  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

185
186 template<typename U>
187 void operator() ( U * data )
188 {
189 assert( data );
190
191 switch ( matrix->typeId() )
192 {
193 case M33fDataTypeId:
194 multiply33<M33f, U>( data, boost::static_pointer_cast< const M33fData >( matrix )->readable() );
195 break;
196 case M33dDataTypeId:
197 multiply33<M33d, U>( data, boost::static_pointer_cast< const M33dData >( matrix )->readable() );
198 break;
199 case M44fDataTypeId:
200 multiply<M44f, U>( data, boost::static_pointer_cast< const M44fData >( matrix )->readable() );
201 break;
202 case M44dDataTypeId:
203 multiply<M44d, U>( data, boost::static_pointer_cast< const M44dData >( matrix )->readable() );
204 break;
205 case TransformationMatrixfDataTypeId:
206 multiply<M44f, U>( data, boost::static_pointer_cast< const TransformationMatrixfData >( matrix )->readable().transform() );
207 break;
208 case TransformationMatrixdDataTypeId:
209 multiply<M44d, U>( data, boost::static_pointer_cast< const TransformationMatrixdData >( matrix )->readable().transform() );
210 break;
211 default:
212 throw InvalidArgumentException( "Data supplied is not a known matrix type." );
213 }
214 }
215
216};
217

Callers

nothing calls this directly

Calls 4

InvalidArgumentExceptionFunction · 0.85
typeIdMethod · 0.80
readableMethod · 0.80
transformMethod · 0.45

Tested by

no test coverage detected