Oolite 1.91.0.7647-241230-5e1c242
|
#include <OOMesh.h>
Instance Methods | |
(NSString *) | - modelName |
(void) | - rebindMaterials |
(NSDictionary *) | - materials |
(NSDictionary *) | - shaders |
(size_t) | - vertexCount |
(size_t) | - faceCount |
(Octree *) | - octree |
(BoundingBox) | - findBoundingBoxRelativeToPosition:basis:ri:rj:selfPosition:selfBasis:si:sj: |
(BoundingBox) | - findSubentityBoundingBoxWithPosition:rotMatrix: |
(OOMesh *) | - meshRescaledBy: |
(id) | - init [implementation] |
(void) | - dealloc [implementation] |
(NSString *) | - descriptionComponents [implementation] |
(id) | - copyWithZone: [implementation] |
(void) | - renderOpaqueParts [implementation] |
(BOOL) | - hasOpaqueParts [implementation] |
(unsigned) | - octreeDepth [implementation] |
(void) | - setBindingTarget: [implementation] |
(void) | - dumpSelfState [implementation] |
(NSSet *) | - allTextures [implementation] |
(size_t) | - totalSize [implementation] |
(BOOL) | - suppressClangStuff [implementation] |
(id) | - initWithName:cacheKey:materialDictionary:shadersDictionary:smooth:shaderMacros:shaderBindingTarget:scaleFactor:cacheWriteable: [implementation] |
(BOOL) | - loadData:scaleFactor: [implementation] |
(void) | - checkNormalsAndAdjustWinding [implementation] |
(void) | - generateFaceTangents [implementation] |
(void) | - calculateVertexNormalsAndTangentsWithFaceRefs: [implementation] |
(void) | - calculateVertexTangentsWithFaceRefs: [implementation] |
(void) | - deleteDisplayLists [implementation] |
(NSDictionary *) | - modelData [implementation] |
(BOOL) | - setModelFromModelData:name: [implementation] |
(void) | - getNormal:andTangent:forVertex:inSmoothGroup: [implementation] |
(BOOL) | - setUpVertexArrays [implementation] |
(void) | - calculateBoundingVolumes [implementation] |
(void) | - rescaleByFactor: [implementation] |
(void) | - debugDrawNormals [implementation] |
(void) | - setRetainedObject:forKey: [implementation] |
(void *) | - allocateBytesWithSize:count:key: [implementation] |
(BOOL) | - allocateVertexBuffersWithCount: [implementation] |
(BOOL) | - allocateNormalBuffersWithCount: [implementation] |
(BOOL) | - allocateFaceBuffersWithCount: [implementation] |
(BOOL) | - allocateVertexArrayBuffersWithCount: [implementation] |
(void) | - renameTexturesFrom:to: [implementation] |
(id) | - mutableCopyWithZone: [implementation] |
(void) | - resetGraphicsState [implementation] |
Instance Methods inherited from OODrawable | |
(void) | - renderTranslucentParts |
(BOOL) | - hasTranslucentParts |
(GLfloat) | - collisionRadius |
(GLfloat) | - maxDrawDistance |
(BoundingBox) | - boundingBox |
Class Methods | |
(instancetype) | + meshWithName:cacheKey:materialDictionary:shadersDictionary:smooth:shaderMacros:shaderBindingTarget: |
(instancetype) | + meshWithName:cacheKey:materialDictionary:shadersDictionary:smooth:shaderMacros:shaderBindingTarget:scaleFactor:cacheWriteable: |
(OOMaterial *) | + placeholderMaterial |
(static NSString *) | + NormalModeDescription [implementation] |
(static float) | + FaceArea [implementation] |
(static float) | + FaceAreaCorrect [implementation] |
Private Attributes | |
uint8_t | _normalMode: 2 |
uint8_t | brokenInRender: 1 |
uint8_t | listsReady: 1 |
OOMeshMaterialCount | materialCount |
OOMeshVertexCount | vertexCount |
OOMeshFaceCount | faceCount |
NSString * | baseFile |
NSString * | baseFileOctreeCacheRef |
BOOL | _cacheWriteable |
Vector * | _vertices |
Vector * | _normals |
Vector * | _tangents |
OOMeshFace * | _faces |
OOMeshDisplayLists | _displayLists |
NSRange | triangle_range [kOOMeshMaxMaterials] |
NSString * | materialKeys [kOOMeshMaxMaterials] |
OOMaterial * | materials [kOOMeshMaxMaterials] |
GLuint | displayList0 |
GLfloat | collisionRadius |
GLfloat | maxDrawDistance |
BoundingBox | boundingBox |
Octree * | octree |
NSMutableDictionary * | _retainedObjects |
NSDictionary * | _materialDict |
NSDictionary * | _shadersDict |
NSString * | _cacheKey |
NSDictionary * | _shaderMacros |
id | _shaderBindingTarget |
Vector | _lastPosition |
OOMatrix | _lastRotMatrix |
BoundingBox | _lastBoundingBox |
|
implementation |
Provided by category OOMesh(Private).
Definition at line 2141 of file OOMesh.m.
Referenced by OOMesh(Private)::allocateFaceBuffersWithCount:, OOMesh(Private)::allocateNormalBuffersWithCount:, OOMesh(Private)::allocateVertexArrayBuffersWithCount:, and OOMesh(Private)::allocateVertexBuffersWithCount:.
|
implementation |
Provided by category OOMesh(Private).
|
implementation |
Provided by category OOMesh(Private).
|
implementation |
Provided by category OOMesh(Private).
Definition at line 2178 of file OOMesh.m.
|
implementation |
Provided by category OOMesh(Private).
|
implementation |
Reimplemented from OODrawable.
Definition at line 823 of file OOMesh.m.
References OOMaterial::allTextures, allTextures, and materialCount.
Referenced by allTextures.
|
implementation |
Provided by category OOMesh(Private).
Definition at line 1982 of file OOMesh.m.
Referenced by OOMesh(Private)::initWithName:cacheKey:materialDictionary:shadersDictionary:smooth:shaderMacros:shaderBindingTarget:scaleFactor:cacheWriteable:, OOMesh(Private)::loadData:scaleFactor:, and OOMesh(Private)::rescaleByFactor:.
|
implementation |
Provided by category OOMesh(Private).
Definition at line 1749 of file OOMesh.m.
Referenced by OOMesh(Private)::loadData:scaleFactor:.
|
implementation |
Provided by category OOMesh(Private).
Definition at line 1808 of file OOMesh.m.
Referenced by OOMesh(Private)::loadData:scaleFactor:.
|
implementation |
Provided by category OOMesh(Private).
Definition at line 1647 of file OOMesh.m.
Referenced by OOMesh(Private)::loadData:scaleFactor:.
|
implementation |
Definition at line 360 of file OOMesh.m.
References mutableCopyWithZone:.
|
implementation |
Definition at line 307 of file OOMesh.m.
References _cacheKey, _materialDict, _retainedObjects, _shaderBindingTarget, _shaderMacros, _shadersDict, baseFile, baseFileOctreeCacheRef, dealloc, deleteDisplayLists, DESTROY, kOOMeshMaxMaterials, materialKeys, materials, octree, OOGraphicsResetManager::sharedManager, and OOGraphicsResetManager::unregisterClient:.
Referenced by dealloc.
|
implementation |
Provided by category OOMesh(Private).
Definition at line 2055 of file OOMesh.m.
Referenced by renderOpaqueParts.
|
implementation |
Provided by category OOMesh(Private).
Definition at line 976 of file OOMesh.m.
Referenced by dealloc, and OOMesh(Private)::resetGraphicsState.
|
implementation |
Definition at line 354 of file OOMesh.m.
References collisionRadius, descriptionComponents, faceCount, modelName, and vertexCount.
Referenced by descriptionComponents.
|
implementation |
Reimplemented from OODrawable.
Definition at line 811 of file OOMesh.m.
References _normalMode, baseFile, OODrawable::dumpSelfState, dumpSelfState, faceCount, nil, NormalModeDescription, OOLog, and vertexCount.
Referenced by dumpSelfState.
|
implementation |
Provided by category OOMesh(Private).
Definition at line 1739 of file OOMesh.m.
|
implementation |
Provided by category OOMesh(Private).
Definition at line 1792 of file OOMesh.m.
- (size_t) faceCount |
References octree.
- (BoundingBox) findBoundingBoxRelativeToPosition: | (Vector) | opv | |
basis: | (Vector) | ||
ri: | (Vector) | ||
rj: | (Vector) | rk | |
selfPosition: | (Vector) | position | |
selfBasis: | (Vector) | ||
si: | (Vector) | ||
sj: | (Vector) | sk |
Definition at line 712 of file OOMesh.m.
References _vertices, EXPECT_NOT, and vertexCount.
- (BoundingBox) findSubentityBoundingBoxWithPosition: | (Vector) | position | |
rotMatrix: | (OOMatrix) | rotMatrix |
Definition at line 758 of file OOMesh.m.
References _lastBoundingBox, _lastPosition, _lastRotMatrix, _vertices, OOMatrixEqual(), OOVectorMultiplyMatrix(), and vertexCount.
Referenced by ShipEntity::findSubentityBoundingBox.
|
implementation |
Provided by category OOMesh(Private).
Definition at line 1697 of file OOMesh.m.
Referenced by OOMesh(Private)::loadData:scaleFactor:.
|
implementation |
Provided by category OOMesh(Private).
Definition at line 1858 of file OOMesh.m.
Referenced by OOMesh(Private)::setUpVertexArrays.
|
implementation |
Reimplemented from OODrawable.
Definition at line 623 of file OOMesh.m.
References hasOpaqueParts.
Referenced by hasOpaqueParts.
|
implementation |
Definition at line 287 of file OOMesh.m.
References _cacheWriteable, _lastBoundingBox, _lastPosition, _lastRotMatrix, baseFile, baseFileOctreeCacheRef, init, kZeroBoundingBox, kZeroMatrix, kZeroVector, and nil.
Referenced by init.
|
implementation |
Provided by category OOMesh(Private).
Definition at line 873 of file OOMesh.m.
|
implementation |
Provided by category OOMesh(Private).
Definition at line 1162 of file OOMesh.m.
- (NSDictionary *) materials |
- (OOMesh *) meshRescaledBy: | (GLfloat) | scaleFactor |
Definition at line 791 of file OOMesh.m.
References rescaleByFactor:.
Referenced by OOVisualEffectEntity::rescaleBy:.
+ (instancetype) meshWithName: | (NSString *) | name | |
cacheKey: | (NSString *) | cacheKey | |
materialDictionary: | (NSDictionary *) | materialDict | |
shadersDictionary: | (NSDictionary *) | shadersDict | |
smooth: | (BOOL) | smooth | |
shaderMacros: | (NSDictionary *) | macros | |
shaderBindingTarget: | (id<OOWeakReferenceSupport>) | object |
Definition at line 233 of file OOMesh.m.
Referenced by OOVisualEffectEntity::setUpVisualEffectFromDictionary:, ShipSetMaterialsInternal(), and VisualEffectSetMaterialsInternal().
+ (instancetype) meshWithName: | (NSString *) | name | |
cacheKey: | (NSString *) | cacheKey | |
materialDictionary: | (NSDictionary *) | materialDict | |
shadersDictionary: | (NSDictionary *) | shadersDict | |
smooth: | (BOOL) | smooth | |
shaderMacros: | (NSDictionary *) | macros | |
shaderBindingTarget: | (id<OOWeakReferenceSupport>) | object | |
scaleFactor: | (float) | factor | |
cacheWriteable: | (BOOL) | cacheWriteable |
Definition at line 252 of file OOMesh.m.
Referenced by ShipEntity(Private)::rescaleBy:writeToCache:.
|
implementation |
Provided by category OOMesh(Private).
Definition at line 996 of file OOMesh.m.
Referenced by OOMesh(Private)::loadData:scaleFactor:.
- (NSString *) modelName |
Definition at line 367 of file OOMesh.m.
References baseFile, and modelName.
Referenced by descriptionComponents, modelName, and PlayerEntity::setUpTrumbles.
|
implementation |
Provided by category OOMesh(Private).
Definition at line 941 of file OOMesh.m.
Referenced by copyWithZone:.
|
implementation |
Definition at line 341 of file OOMesh.m.
References kNormalModeExplicit, kNormalModePerFace, and kNormalModeSmooth.
Referenced by dumpSelfState.
- (Octree *) octree |
|
implementation |
Definition at line 641 of file OOMesh.m.
References baseFile, boundingBox, kBaseOctreeDepth, kMaxOctreeDepth, kOctreeSizeThreshold, kOctreeSmallSizeThreshold, kSmallOctreeDepth, octreeDepth, and OOLog.
Referenced by octreeDepth.
+ (OOMaterial *) placeholderMaterial |
Definition at line 274 of file OOMesh.m.
References ResourceManager::materialDefaults, nil, and placeholderMaterial.
Referenced by placeholderMaterial, and rebindMaterials.
- (void) rebindMaterials |
Definition at line 567 of file OOMesh.m.
References materialCount, materialKeys, materials, OOMaterial::materialWithName:cacheKey:materialDictionary:shadersDictionary:macros:bindingTarget:forSmoothedMesh:, nil, placeholderMaterial, and rebindMaterials.
Referenced by OOMesh(Private)::initWithName:cacheKey:materialDictionary:shadersDictionary:smooth:shaderMacros:shaderBindingTarget:scaleFactor:cacheWriteable:, rebindMaterials, OOMesh(Private)::resetGraphicsState, and ShipEntity::setEntityPersonalityInt:.
|
implementation |
Provided by category OOMesh(Private).
Definition at line 2195 of file OOMesh.m.
Referenced by OOMesh(Private)::loadData:scaleFactor:.
|
implementation |
Reimplemented from OODrawable.
Definition at line 385 of file OOMesh.m.
References _displayLists, OOMaterial::apply, OOMaterial::applyNone, brokenInRender, count, DEBUG_DRAW_NORMALS, DEBUG_OCTREE_DRAW, debugDrawNormals, displayList0, Octree::drawOctree, OOMaterial::ensureFinishedLoading, gDebugFlags, kOOLogException, listsReady, materialCount, octree, OO_ENTER_OPENGL, OOCheckOpenGLErrors(), OOGL, OOLog, OOSetOpenGLState, OOVerifyOpenGLState, OPENGL_STATE_OPAQUE, renderOpaqueParts, triangle_range, and OOMaterial::wantsNormalsAsTextureCoordinates.
Referenced by renderOpaqueParts.
|
implementation |
Provided by category OOMesh(Private).
Definition at line 2022 of file OOMesh.m.
Referenced by meshRescaledBy:.
|
implementation |
Provided by category OOMesh(Private).
Definition at line 988 of file OOMesh.m.
|
implementation |
Reimplemented from OODrawable.
Definition at line 799 of file OOMesh.m.
References kOOMeshMaxMaterials, and OOMaterial::setBindingTarget:.
|
implementation |
Provided by category OOMesh(Private).
Definition at line 1069 of file OOMesh.m.
|
implementation |
Provided by category OOMesh(Private).
Definition at line 2108 of file OOMesh.m.
Referenced by OOMesh(Private)::allocateBytesWithSize:count:key:, and OOMesh(Private)::setModelFromModelData:name:.
|
implementation |
Provided by category OOMesh(Private).
Definition at line 1887 of file OOMesh.m.
- (NSDictionary *) shaders |
Definition at line 617 of file OOMesh.m.
References _shadersDict, and shaders.
Referenced by materials, shaders, ShipSetMaterialsInternal(), VisualEffectGetShaders(), and VisualEffectSetMaterialsInternal().
|
implementation |
Definition at line 863 of file OOMesh.m.
References _faces, _normals, _tangents, boundingBox, and suppressClangStuff.
Referenced by suppressClangStuff.
|
implementation |
Reimplemented from OODrawable.
Definition at line 836 of file OOMesh.m.
References _displayLists, _faces, _normals, _tangents, _vertices, faceCount, materialCount, Octree::totalSize, OODrawable::totalSize, totalSize, and vertexCount.
Referenced by totalSize.
- (size_t) vertexCount |
References faceCount.
|
private |
Definition at line 111 of file OOMesh.h.
Referenced by renderOpaqueParts, and totalSize.
|
private |
Definition at line 108 of file OOMesh.h.
Referenced by suppressClangStuff, and totalSize.
|
private |
Definition at line 134 of file OOMesh.h.
Referenced by findSubentityBoundingBoxWithPosition:rotMatrix:, and init.
|
private |
Definition at line 132 of file OOMesh.h.
Referenced by findSubentityBoundingBoxWithPosition:rotMatrix:, and init.
|
private |
Definition at line 133 of file OOMesh.h.
Referenced by findSubentityBoundingBoxWithPosition:rotMatrix:, and init.
|
private |
|
private |
Definition at line 93 of file OOMesh.h.
Referenced by dumpSelfState.
|
private |
Definition at line 106 of file OOMesh.h.
Referenced by suppressClangStuff, and totalSize.
|
private |
|
private |
|
private |
|
private |
Definition at line 107 of file OOMesh.h.
Referenced by suppressClangStuff, and totalSize.
|
private |
Definition at line 105 of file OOMesh.h.
Referenced by findBoundingBoxRelativeToPosition:basis:ri:rj:selfPosition:selfBasis:si:sj:, findSubentityBoundingBoxWithPosition:rotMatrix:, and totalSize.
|
private |
Definition at line 101 of file OOMesh.h.
Referenced by dealloc, dumpSelfState, init, modelName, and octreeDepth.
|
private |
|
private |
Provided by category OOMesh(Private).
Definition at line 120 of file OOMesh.h.
References OOMesh(Private)::boundingBox.
Referenced by OOMesh(Private)::boundingBox, OOMesh(Private)::calculateBoundingVolumes, octreeDepth, and suppressClangStuff.
|
private |
Definition at line 94 of file OOMesh.h.
Referenced by renderOpaqueParts.
|
private |
Definition at line 628 of file OOMesh.m.
Referenced by descriptionComponents.
|
private |
Definition at line 116 of file OOMesh.h.
Referenced by renderOpaqueParts.
|
private |
Definition at line 379 of file OOMesh.m.
Referenced by descriptionComponents, dumpSelfState, totalSize, and vertexCount.
|
private |
Definition at line 95 of file OOMesh.h.
Referenced by OOMesh(Private)::mutableCopyWithZone:, and renderOpaqueParts.
|
private |
Definition at line 97 of file OOMesh.h.
Referenced by allTextures, rebindMaterials, renderOpaqueParts, and totalSize.
|
private |
Definition at line 114 of file OOMesh.h.
Referenced by dealloc, and rebindMaterials.
|
private |
Definition at line 611 of file OOMesh.m.
Referenced by dealloc, rebindMaterials, ShipSetMaterialsInternal(), VisualEffectGetMaterials(), and VisualEffectSetMaterialsInternal().
|
private |
|
private |
Definition at line 672 of file OOMesh.m.
Referenced by dealloc, faceCount, renderOpaqueParts, and ShipEntity::setMesh:.
|
private |
Definition at line 113 of file OOMesh.h.
Referenced by renderOpaqueParts.
|
private |
Definition at line 373 of file OOMesh.m.
Referenced by descriptionComponents, dumpSelfState, findBoundingBoxRelativeToPosition:basis:ri:rj:selfPosition:selfBasis:si:sj:, findSubentityBoundingBoxWithPosition:rotMatrix:, materials, and totalSize.