PageRenderTime 19ms CodeModel.GetById 9ms app.highlight 8ms RepoModel.GetById 1ms app.codeStats 0ms

/src/core/OpBuilders.h

http://github.com/imageworks/OpenColorIO
C++ Header | 125 lines | 76 code | 21 blank | 28 comment | 0 complexity | a7308f5ad46a730e539b6ea2194eefc1 MD5 | raw file
  1/*
  2Copyright (c) 2003-2010 Sony Pictures Imageworks Inc., et al.
  3All Rights Reserved.
  4
  5Redistribution and use in source and binary forms, with or without
  6modification, are permitted provided that the following conditions are
  7met:
  8* Redistributions of source code must retain the above copyright
  9  notice, this list of conditions and the following disclaimer.
 10* Redistributions in binary form must reproduce the above copyright
 11  notice, this list of conditions and the following disclaimer in the
 12  documentation and/or other materials provided with the distribution.
 13* Neither the name of Sony Pictures Imageworks nor the names of its
 14  contributors may be used to endorse or promote products derived from
 15  this software without specific prior written permission.
 16THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 17"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 18LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 19A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 20OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 21SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 22LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 23DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 24THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 25(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 26OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 27*/
 28
 29
 30#ifndef INCLUDED_OCIO_OPBUILDERS_H
 31#define INCLUDED_OCIO_OPBUILDERS_H
 32
 33#include <OpenColorIO/OpenColorIO.h>
 34
 35#include "Op.h"
 36#include "LookParse.h"
 37#include "PrivateTypes.h"
 38
 39OCIO_NAMESPACE_ENTER
 40{
 41    void BuildOps(OpRcPtrVec & ops,
 42                  const Config & config,
 43                  const ConstContextRcPtr & context,
 44                  const ConstTransformRcPtr & transform,
 45                  TransformDirection dir);
 46    
 47    
 48    ////////////////////////////////////////////////////////////////////////
 49    
 50    void BuildAllocationOps(OpRcPtrVec & ops,
 51                            const Config & config,
 52                            const AllocationTransform & transform,
 53                            TransformDirection dir);
 54    
 55    void BuildCDLOps(OpRcPtrVec & ops,
 56                     const Config & config,
 57                     const CDLTransform & transform,
 58                     TransformDirection dir);
 59    
 60    void BuildColorSpaceOps(OpRcPtrVec & ops,
 61                            const Config& config,
 62                            const ConstContextRcPtr & context,
 63                            const ColorSpaceTransform & transform,
 64                            TransformDirection dir);
 65    
 66    void BuildColorSpaceOps(OpRcPtrVec & ops,
 67                            const Config & config,
 68                            const ConstContextRcPtr & context,
 69                            const ConstColorSpaceRcPtr & srcColorSpace,
 70                            const ConstColorSpaceRcPtr & dstColorSpace);
 71    
 72    void BuildDisplayOps(OpRcPtrVec & ops,
 73                         const Config & config,
 74                         const ConstContextRcPtr & context,
 75                         const DisplayTransform & transform,
 76                         TransformDirection dir);
 77    
 78    void BuildExponentOps(OpRcPtrVec & ops,
 79                          const Config& config,
 80                          const ExponentTransform & transform,
 81                          TransformDirection dir);
 82    
 83    void BuildFileOps(OpRcPtrVec & ops,
 84                      const Config& config,
 85                      const ConstContextRcPtr & context,
 86                      const FileTransform & transform,
 87                      TransformDirection dir);
 88    
 89    void BuildGroupOps(OpRcPtrVec & ops,
 90                       const Config& config,
 91                       const ConstContextRcPtr & context,
 92                       const GroupTransform & transform,
 93                       TransformDirection dir);
 94    
 95    void BuildLogOps(OpRcPtrVec & ops,
 96                     const Config& config,
 97                     const LogTransform& transform,
 98                     TransformDirection dir);
 99    
100    void BuildLookOps(OpRcPtrVec & ops,
101                      const Config& config,
102                      const ConstContextRcPtr & context,
103                      const LookTransform & lookTransform,
104                      TransformDirection dir);
105    
106    void BuildLookOps(OpRcPtrVec & ops,
107                      ConstColorSpaceRcPtr & currentColorSpace,
108                      bool skipColorSpaceConversions,
109                      const Config& config,
110                      const ConstContextRcPtr & context,
111                      const LookParseResult & looks);
112    
113    void BuildMatrixOps(OpRcPtrVec & ops,
114                        const Config& config,
115                        const MatrixTransform & transform,
116                        TransformDirection dir);
117    
118    void BuildTruelightOps(OpRcPtrVec & ops,
119                           const Config & config,
120                           const TruelightTransform & transform,
121                           TransformDirection dir);
122}
123OCIO_NAMESPACE_EXIT
124
125#endif