Clarisse 5.0 SP8 SDK
 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

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