29 #include "../../common/exceptions/WPreconditionNotMet.h"
31 #include "WGEShaderDefineOptions.h"
34 std::string option2, std::string option3, std::string option4, std::string option5,
35 std::string option6, std::string option7, std::string option8, std::string option9,
36 std::string option10 ):
38 m_options( 1, first ),
42 if( !option2.empty() )
46 if( !option3.empty() )
50 if( !option4.empty() )
54 if( !option5.empty() )
58 if( !option6.empty() )
62 if( !option7.empty() )
66 if( !option8.empty() )
70 if( !option9.empty() )
74 if( !option10.empty() )
85 WPrecond( options.size() >= 1,
"You need to specify at least one option." );
101 std::stringstream ss;
102 for( IdxList::const_iterator iter =
m_idx.begin(); iter !=
m_idx.end(); ++iter )
119 WPrecond( idx <
m_options.size(),
"Index invalid." );
125 WPrecond( idx <
m_options.size(),
"Index invalid." );
135 m_idx.push_back( idx );
142 IdxList::iterator iter = std::find(
m_idx.begin(),
m_idx.end(), idx );
143 if( iter !=
m_idx.end() )
153 for(
size_t i = 0; i <
m_options.size(); ++i )
155 m_idx.push_back( i );
170 WPrecond( !opt.empty(),
"Options need to have a non-empty name." );
182 if(
m_idx != newList )