37@interface OOModelVerifierStage (OOPrivate)
39- (void)checkModel:(NSString *)name
40 context:(NSString *)context
41 materials:(NSDictionary *)materials
42 shaders:(NSDictionary *)shaders;
54 NSNULL = [[NSNull null] retain];
55 _modelsToCheck = [[NSMutableSet alloc] init];
63 [_modelsToCheck release];
69+ (NSString *)nameForReverseDependencyForVerifier:(
OOOXPVerifier *)verifier
91 return [_modelsToCheck count] != 0;
97 NSDictionary *info =
nil;
98 NSAutoreleasePool *pool =
nil;
101 NSDictionary *materials =
nil,
104 OOLog(
@"verifyOXP.models.unimplemented",
@"%@",
@"TODO: implement model verifier.");
106 foreach (info, _modelsToCheck)
108 pool = [[NSAutoreleasePool alloc] init];
110 name = [info objectForKey:@"name"];
111 context = [info objectForKey:@"context"];
113 materials = [info objectForKey:@"materials"];
114 if (materials ==
NSNULL) materials =
nil;
115 shaders = [info objectForKey:@"shaders"];
118 [
self checkModel:name
125 [_modelsToCheck release];
126 _modelsToCheck =
nil;
130- (BOOL) modelNamed:(NSString *)name
131 usedForEntry:(NSString *)entryName
132 inFile:(NSString *)fileName
133 withMaterials:(NSDictionary *)materials
134 andShaders:(NSDictionary *)shaders
137 NSDictionary *info =
nil;
138 NSString *context =
nil;
140 if (name ==
nil)
return NO;
142 if (entryName !=
nil) context = [NSString stringWithFormat:@"entry \"%@\" of %@", entryName, fileName];
143 else context = fileName;
145 fileScanner = [[
self verifier] fileScannerStage];
146 if (![fileScanner fileExists:name
148 referencedFrom:context
155 if (materials ==
nil) materials =
NSNULL;
158 info = [NSDictionary dictionaryWithObjectsAndKeys:
161 materials, @"materials",
165 [_modelsToCheck addObject:info];
173@implementation OOModelVerifierStage (OOPrivate)
176- (void)checkModel:(NSString *)name
177 context:(NSString *)context
178 materials:(NSDictionary *)materials
179 shaders:(NSDictionary *)shaders
181 OOLog(
@"verifyOXP.verbose.model.unimp",
@"- Pretending to verify model %@ referenced in %@.", name, context);