1 // 2 // KTMutableMatrix 3 // KTMatrix collection class cluster 4 // 5 // Extends the KTMatrix class cluster with mutator methods 6 // 7 // Copyright (c) 2002 Chris Purcell. All rights reserved. 8 // 9 // You may use this code for whatever purposes you wish. 10 // This code comes with no warranties, implied or otherwise. 11 // Using it may damage your data. It shouldn't, but save a copy first. 12 // That's a good idea anyway, actually. 13 // 14 15 #import <Foundation/Foundation.h> 16 #import "KTMatrix.h" 17 18 @interface KTMutableMatrix : KTMatrix { } 19 20 // Constructors 21 // Note: matrixWithLocationHash no longer primitive (calls WithCapacity:0) 22 // Nor is initWithLocationCache (ditto) 23 + (id)matrixWithCapacity:(unsigned)numItems 24 locationHash:(id<KTLocationHash>)hash; // Primitive 25 + (id)matrixWithCapacity:(unsigned)numItems 26 cuboidBoundArray:(NSArray *)bounds; 27 + (id)matrixWithCapacity:(unsigned)numItems 28 cuboidBounds:(unsigned)bound1,...; 29 - (id)initWithCapacity:(unsigned)numItems 30 locationHash:(id<KTLocationHash>)hash; // Primitive 31 - (id)initWithCapacity:(unsigned)numItems 32 cuboidBoundArray:(NSArray *)bounds; 33 - (id)initWithCapacity:(unsigned)numItems 34 cuboidBounds:(unsigned)bound1,...; 35 36 // Setters 37 - (void)setMatrix:(KTMatrix *)matrix; // Primitive 38 39 - (void)setObject:(id)object 40 atLocation:(NSDictionary *)loc1; 41 - (void)setObject:(id)object 42 atLocation:(NSDictionary *)loc1 43 byLocation:(NSDictionary *)loc2; // Primitive 44 - (void) setObject:(id)object 45 atCoordinateArray:(NSArray *)coords; 46 - (void) setObject:(id)object 47 atCoordinates:(unsigned)x,...; 48 - (void)setObjects:(NSArray *)objects 49 atLocations:(NSArray *)locs; 50 - (void)setObjects:(NSArray *)objects 51 atLocations:(NSArray *)loc1s 52 byLocation:(NSDictionary *)loc2; 53 - (void)setObjects:(NSArray *)objects 54 atLocations:(NSArray *)loc1s 55 byLocations:(NSArray *)loc2s; 56 - (void)setObjectsAtLocations:(id)firstObject,...; 57 - (void)setObjectsAtLocationsByLocations:(id)firstObject,...; 58 - (void) setObjects:(NSArray *)objects 59 atCoordinateArrays:(NSArray *)coordinateArrays; 60 - (void)setObjectsAtCoordinates:(id)firstObject,...; 61 62 - (void)removeObjectAtLocation:(NSDictionary *)loc; 63 - (void)removeObjectAtLocation:(NSDictionary *)loc1 64 byLocation:(NSDictionary *)loc2; // Primitive 65 - (void)removeObjectAtCoordinateArray:(NSArray *)coords; 66 - (void)removeObjectAtCoordinates:(unsigned)x,...; 67 - (void)removeObjectsAtLocations:(NSArray *)locs; 68 - (void)removeObjectsAtLocations:(NSArray *)loc1s 69 byLocation:(NSDictionary *)loc2; 70 - (void)removeObjectsAtLocations:(NSArray *)loc1s 71 byLocations:(NSArray *)loc2s; 72 - (void)removeObjectsAtCoordinateArrays:(NSArray *)coordinateArrays; 73 74 - (void)removeAllObjects; // Primitive 75 76 @end 77