Clarisse 5.0 SP8 SDK  5.0.5.8.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | Public Attributes | List of all members
ShadingLayerRuleFilter Class Reference

Public Member Functions

 ShadingLayerRuleFilter (const ShadingLayerRuleFilter &other)
 
 ShadingLayerRuleFilter (const OfObjectFactory &factory, const ModuleShadingLayer *sl, const CoreString &filter, const CoreString &separator)
 
bool check_string_matches (const CoreString &first_part, const CoreString &second_part, const CoreVector< ShadingLayerCachedCtx > &root_contexts) const
 
bool validate_filter_syntax (const CoreString &filter)
 returns true if filter syntax is valid
 
void split_filter (const CoreString &filter, CoreVector< CoreString > &split_output, int &relative_start)
 split incoming string based on separators * and "..". Add the found separator in the split result
 
void build_filter_content (const CoreString &filter)
 
const CoreStringget_raw_string () const
 
const CoreStringget_evaluated_string () const
 
void set_filter (const CoreString &filter)
 
bool check_refresh_filter ()
 
bool is_generic () const
 
bool is_world () const
 
bool is_world_relative () const
 
bool is_path_absolute () const
 
bool is_valid () const
 
bool is_relative () const
 

Public Attributes

const OfObjectFactorym_factory
 
const ModuleShadingLayerm_sl
 
CoreString m_raw_string
 
CoreString m_evaluated_string
 
CoreVector< CoreStringm_first_part
 
bool m_first_part_wild_start
 
bool m_first_part_wild_end
 
int m_first_part_relative
 0: not relative. 1: relative to shading layer. >1: step backward n levels in shading layer hierarchy
 
bool m_world_filter
 
bool m_world_relative_filter
 
bool m_path_absolute_filter
 
CoreVector< CoreStringm_second_part
 True if the filter is an absolute path rule.
 
bool m_second_part_wild_start
 
bool m_second_part_wild_end
 
CoreString m_separator
 
bool m_filter_is_valid
 

Member Function Documentation

void ShadingLayerRuleFilter::split_filter ( const CoreString filter,
CoreVector< CoreString > &  split_output,
int &  relative_start 
)

split incoming string based on separators * and "..". Add the found separator in the split result

Parameters
[in]filterstring to split
[out]split_outputresulting split
Returns
true if filter is valid, false otherwise