CelestiaUniverse.mm
上传用户:center1979
上传日期:2022-07-26
资源大小:50633k
文件大小:2k
源码类别:

OpenGL

开发平台:

Visual C++

  1. //
  2. //  CelestiaUniverse.mm
  3. //  celestia
  4. //
  5. //  Created by Bob Ippolito on Fri Jun 07 2002.
  6. //  Copyright (c) 2002 Chris Laurel. All rights reserved.
  7. //
  8. #import "CelestiaUniverse.h"
  9. #import "CelestiaUniverse_PrivateAPI.h"
  10. /*
  11. #import "CelestiaVector_PrivateAPI.h"
  12. #import "CelestiaUniversalCoord_PrivateAPI.h"
  13. #import "CelestiaSelection_PrivateAPI.h"
  14. */
  15. @implementation CelestiaUniverse(PrivateAPI)
  16. -(CelestiaUniverse*)initWithUniverse:(Universe*)uni
  17. {
  18.     self = [super init];
  19.     _data = [[NSValue alloc] initWithBytes:reinterpret_cast<void*>(&uni) objCType:@encode(Universe*)];
  20.     return self;
  21. }
  22. -(Universe*)universe
  23. {
  24.     return reinterpret_cast<Universe*>([_data pointerValue]);
  25. }
  26. @end
  27. @implementation CelestiaUniverse
  28. -(void)dealloc
  29. {
  30.     if (_data != nil) {
  31.         [_data release];
  32.         _data = nil;
  33.     }
  34.     [super dealloc];
  35. }
  36. /*
  37. -(CelestiaSelection*)pick:(CelestiaUniversalCoord*)origin direction:(CelestiaVector*)direction when:(NSNumber*)when faintestMag:(NSNumber*)faintestMag tolerance:(NSNumber*)tolerance
  38. {
  39.     return [[[CelestiaSelection alloc] initWithSelection:[self universe]->pick([origin universalCoord],[direction vec3f],[when floatValue],[faintestMag floatValue],[tolerance floatValue])] autorelease];
  40. }
  41. -(CelestiaSelection*)pick:(CelestiaUniversalCoord*)origin direction:(CelestiaVector*)direction when:(NSNumber*)when faintestMag:(NSNumber*)faintestMag
  42. {
  43.     return [[[CelestiaSelection alloc] initWithSelection:[self universe]->pick([origin universalCoord],[direction vec3f],[when floatValue],[faintestMag floatValue])] autorelease];
  44. }
  45. -(CelestiaSelection*)pickStar:(CelestiaUniversalCoord*)origin direction:(CelestiaVector*)direction faintestMag:(NSNumber*)faintestMag tolerance:(NSNumber*)tolerance
  46. {
  47.     return [[[CelestiaSelection alloc] initWithSelection:[self universe]->pickStar([origin universalCoord],[direction vec3f],[faintestMag floatValue],[tolerance floatValue])] autorelease];
  48. }
  49. */
  50. @end