collection.h

Go to the documentation of this file.
00001 /*      Collection.h - MAXScript Collection classes
00002  *
00003  *      Copyright (c) John Wainwright, 1996
00004  *      
00005  *
00006  */
00007 
00008 #pragma once
00009 
00010 class PathName;
00011 #include "..\kernel\value.h" // for value_vf
00012 
00013 class Collection
00014 {
00015 public:
00016 #   define  is_collection(v) ((v)->_is_collection())
00017 
00018     virtual Value* map_path(PathName* path, value_vf vfn_ptr, value_cf cfn_ptr, Value** arg_list, int count);
00019     virtual Value* find_first(BOOL (*test_fn)(INode* node, int  level, void* arg), void* test_arg);
00020     virtual Value* get_path(PathName* path_name);
00021 };
00022 
00023 class SelectionIterator
00024 {
00025 public:
00026 #   define  is_selection(v) ((v)->_is_selection())
00027     virtual int next() { return -1; }
00028     virtual BOOL more() { return FALSE; }
00029     virtual void rewind() { }
00030     virtual BOOL selected(int index) { UNUSED_PARAM(index); return FALSE; }
00031 };
00032 
00033