Erhan Demirci
Erhan Demirci

Reputation: 4209

how am I add b2Vec2(box2d vertex type) into NSMutableArray

NSMutableArray *sumPositionArray;
sumPositionArray = [[NSMutableArray alloc] init];  
for (int i = 0; i < 10; i++) 
{
      b2Body *currentBody = (b2Body*)[[bodies objectAtIndex:i] pointerValue];
      b2Vec2 innerPosition=innerCircleBody->GetPosition(); 
      float theta = deltaAngle*i; 
      float x = radius*cosf(theta);
      float y = radius*sinf(theta);
      b2Vec2 circlePosition = b2Vec2(x/PTM_RATIO, y/PTM_RATIO);
      b2Vec2 sumPosition=innerPosition+circlePosition;
      b2Vec2 impulse = b2Vec2(0,0);
      b2Vec2 sumposition=innerPosition+circlePosition;
      [sumPositionArray addObject:[NSValue valueWithPointer:sumPosition]];
}

I get an error saying: no viable conversion from b2vec2 to 'const void *'

Upvotes: 1

Views: 728

Answers (2)

Erhan Demirci
Erhan Demirci

Reputation: 4209

it's working. Thank you @Shailesh

for (int i = 0; i < 10; i++) 
{
 CGPoint currentBo =[[sumPositionArray objectAtIndex:i] CGPointValue];  // get CGPoint into Array

}

Upvotes: 0

Shailesh
Shailesh

Reputation: 3118

Convert the B2Vec2 coordinates to CGPoint then, you can insert them into the array by making use on NSValue.

NSArray *points = [NSArray arrayWithObjects:
                     [NSValue valueWithCGPoint:CGPointMake(5.5, 6.6)],
                     [NSValue valueWithCGPoint:CGPointMake(7.7, 8.8)],
                     nil];

Upvotes: 2

Related Questions