Changeset 353

Show
Ignore:
Timestamp:
03/31/07 17:30:33 (2 years ago)
Author:
cweider2
Message:

LaserLine: generic frame object support

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/LaserLine_2.0/Src/FileImports/FlashImport.m

    r323 r353  
    6969                } 
    7070                 
    71                 [frame setPolyline:polyline]; 
     71                [frame addPolyline:polyline]; 
    7272                [frames addObject:frame]; 
    7373                 
  • trunk/LaserLine_2.0/Src/Sequencing/LZFrame.h

    r320 r353  
    77@interface LZFrame : LZSequenceableElement 
    88  { 
    9   LZPolyline *polyline
     9  NSMutableArray *objects
    1010  } 
    1111 
     
    1515 
    1616- (LZPolyline *)polyline; 
    17 - (void)setPolyline:(LZPolyline *)polyline; 
     17- (void)addPolyline:(LZPolyline *)polyline; 
    1818 
    1919- (RawFrame)renderAtPosition:(float)position; 
  • trunk/LaserLine_2.0/Src/Sequencing/LZFrame.m

    r351 r353  
    88  if(self) 
    99        { 
    10         polyline = [[LZPolyline alloc] init]; 
     10        objects = [[NSMutableArray alloc] init]; 
    1111        } 
    1212  return self; 
     
    1818  if(self) 
    1919        { 
    20         polyline = [[LZPolyline alloc] initWithPoints:points]; 
     20        LZPolyline *polyline = [[LZPolyline alloc] initWithPoints:points]; 
     21        [objects addObject:polyline]; 
     22        [polyline release]; 
    2123        } 
    2224  return self; 
     
    2527- (void)dealloc 
    2628  { 
    27   [polyline release]; 
     29  [objects release]; 
    2830  [super dealloc]; 
    2931  } 
     
    3133- (LZPolyline *)polyline 
    3234  { 
    33   return polyline
     35  return [objects objectAtIndex:0]
    3436  } 
    3537 
    36 - (void)setPolyline:(LZPolyline *)aPolyline 
     38- (void)addPolyline:(LZPolyline *)aPolyline 
    3739  { 
    38   [polyline release]; 
    39   polyline = aPolyline; 
    40   [polyline retain]; 
     40  [objects addObject:aPolyline]; 
    4141  } 
    4242 
     
    4444  { 
    4545  RawFrame frame; 
    46      
    47   frame.pointCount = [polyline count]; 
     46   
     47  frame.pointCount = 0; 
     48  LZPolyline* object; 
     49  NSEnumerator *enumerator = [objects objectEnumerator]; 
     50  while(object = [enumerator nextObect])  
     51        { 
     52        frame.pointCount += [object count]; 
     53        } 
    4854  frame.points = malloc(frame.pointCount * sizeof(RawPoint)); 
    4955   
    50   LZPoint *point; 
    51   NSEnumerator enumerator = [[polyline points] objectEnumerator]; 
    52   while(point = [enumerator nextObject]) 
    53         frame.points[i] = [point rawPoint]; 
     56  unsigned i = 0; 
     57  enumerator = [objects objectEnumerator]; 
     58  while(object = [enumerator nextObect])  
     59        { 
     60        LZPoint *point; 
     61        NSEnumerator *objectEnumerator = [[object points] objectEnumerator]; 
     62        while(point = [objectEnumerator nextObject]) 
     63                frame.points[i++] = [point rawPoint]; 
     64        } 
    5465   
    5566  return frame; 
  • trunk/LaserLine_2.0/Src/Sequencing/LZPolyline.h

    r351 r353  
    2626 
    2727- (unsigned)count; 
    28 - (NSArray)points; 
     28- (NSArray *)points; 
    2929- (LZPoint *)pointAtIndex:(unsigned)index; 
    3030