这篇教程C++ FZ_ASSERT函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中FZ_ASSERT函数的典型用法代码示例。如果您正苦于以下问题:C++ FZ_ASSERT函数的具体用法?C++ FZ_ASSERT怎么用?C++ FZ_ASSERT使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了FZ_ASSERT函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: p_targetCallback CallFuncN::CallFuncN(SELProtocol *t, SELECTOR_PTR s) : p_targetCallback(t) , p_selector(s) { FZ_ASSERT( p_targetCallback != NULL, "Selector must be non-NULL"); FZ_ASSERT( p_selector != NULL, "Target must be non-NULL"); }
开发者ID:bambamyi,项目名称:FORZE2D,代码行数:7,
示例2: FZ_ASSERT void AutoList::insert(fzListItem *position, fzListItem *newItem) { FZ_ASSERT(newItem != NULL, "New item cannot be NULL"); if(position != NULL) { FZ_ASSERT(m_count > 0, "Strange bug: List is empty"); // POSITION != NULL -> INSERT AT POSITION newItem->p_next = position; newItem->p_prev = position->p_prev; if(position->p_prev) position->p_prev->p_next = newItem; position->p_prev = newItem; }else { // POSITION == NULL -> PUSH_BACK if(p_back) p_back->p_next = newItem; newItem->p_prev = p_back; newItem->p_next = NULL; p_back = newItem; } if(newItem->p_prev == NULL) p_front = newItem; ++m_count; }
开发者ID:bambamyi,项目名称:FORZE2D,代码行数:32,
示例3: FZ_ASSERT void Director::runWithScene(Scene *scene) { FZ_ASSERT( scene != NULL, "Scene must be non-NULL"); FZ_ASSERT( p_runningScene == NULL, "You can't run an scene if another Scene is running. Use replaceScene or pushScene instead"); pushScene(scene); }
开发者ID:bambamyi,项目名称:FORZE2D,代码行数:7,
示例4: FZ_ASSERTfzBuffer ResourcesManager::loadResource(const char *filename, fzUInt *outFactor) const{ FZ_ASSERT(filename != NULL, "Filename can not be NULL."); FZ_ASSERT(outFactor != NULL, "outFactor can not be NULL."); // REMOVING FORCED FLAGS char *filenameCpy = fzStrcpy(filename); IO::removeFileSuffix(filenameCpy); // LOOK FOR TEXTURE *outFactor = 0; char absolutePath[STRING_MAX_SIZE]; fzUInt factor, priority = 0; while (getPath(filenameCpy, priority, absolutePath, &factor)) { fzBuffer buffer = IO::loadFile(absolutePath); if(!buffer.isEmpty()) { *outFactor = factor; delete filenameCpy; return buffer; } ++priority; } FZLOGERROR("IO: /"%s/" not found.", filename); delete filenameCpy; return fzBuffer::empty();}
开发者ID:manucorporat,项目名称:FORZE2D,代码行数:29,
示例5: FZ_ASSERT void MS::pop() { FZ_ASSERT(_initialized, "The matrix stack is not initialized."); FZ_ASSERT(_modelview_stack.num > 1, "Cannot pop an empty stack"); --_modelview_stack.num; }
开发者ID:bambamyi,项目名称:FORZE2D,代码行数:7,
示例6: fzMath_mat4Vec4 void fzMath_mat4Vec4(const float* m1, const float* m2, float* mat) { FZ_ASSERT(m1 != NULL, "Input matrix 1 cannot be NULL."); FZ_ASSERT(m2 != NULL, "Input matrix 2 cannot be NULL."); FZ_ASSERT(mat != NULL, "Output pointer cannot be NULL."); #if defined(__ARM_NEON__) _NEON_mat4Vec4(m1, m2, mat); #else mat[0] = m1[0] * m2[0] + m1[4] * m2[1] + m1[12]; mat[1] = m1[1] * m2[0] + m1[5] * m2[1] + m1[13]; mat[2] = m1[2] * m2[0] + m1[6] * m2[1] + m1[14]; mat[4] = m1[0] * m2[2] + m1[4] * m2[3] + m1[12]; mat[5] = m1[1] * m2[2] + m1[5] * m2[3] + m1[13]; mat[6] = m1[2] * m2[2] + m1[6] * m2[3] + m1[14]; mat[8] = m1[0] * m2[4] + m1[4] * m2[5] + m1[12]; mat[9] = m1[1] * m2[4] + m1[5] * m2[5] + m1[13]; mat[10] = m1[2] * m2[4] + m1[6] * m2[5] + m1[14]; mat[12] = m1[0] * m2[6] + m1[4] * m2[7] + m1[12]; mat[13] = m1[1] * m2[6] + m1[5] * m2[7] + m1[13]; mat[14] = m1[2] * m2[6] + m1[6] * m2[7] + m1[14]; #endif }
开发者ID:javierprovecho,项目名称:FORZE2D,代码行数:30,
示例7: fzMath_mat4Multiply void fzMath_mat4Multiply(const float* m1, const float* m2, float* mat) { FZ_ASSERT(m1 != NULL, "Input matrix 1 cannot be NULL."); FZ_ASSERT(m2 != NULL, "Input matrix 2 cannot be NULL."); FZ_ASSERT(m1 != mat, "Input matrix and output matrix cannot be the same one."); mat[0] = m1[0] * m2[0] + m1[4] * m2[1] + m1[8] * m2[2] + m1[12] * m2[3]; mat[1] = m1[1] * m2[0] + m1[5] * m2[1] + m1[9] * m2[2] + m1[13] * m2[3]; mat[2] = m1[2] * m2[0] + m1[6] * m2[1] + m1[10] * m2[2] + m1[14] * m2[3]; mat[3] = m1[3] * m2[0] + m1[7] * m2[1] + m1[11] * m2[2] + m1[15] * m2[3]; mat[4] = m1[0] * m2[4] + m1[4] * m2[5] + m1[8] * m2[6] + m1[12] * m2[7]; mat[5] = m1[1] * m2[4] + m1[5] * m2[5] + m1[9] * m2[6] + m1[13] * m2[7]; mat[6] = m1[2] * m2[4] + m1[6] * m2[5] + m1[10] * m2[6] + m1[14] * m2[7]; mat[7] = m1[3] * m2[4] + m1[7] * m2[5] + m1[11] * m2[6] + m1[15] * m2[7]; mat[8] = m1[0] * m2[8] + m1[4] * m2[9] + m1[8] * m2[10] + m1[12] * m2[11]; mat[9] = m1[1] * m2[8] + m1[5] * m2[9] + m1[9] * m2[10] + m1[13] * m2[11]; mat[10] = m1[2] * m2[8] + m1[6] * m2[9] + m1[10] * m2[10] + m1[14] * m2[11]; mat[11] = m1[3] * m2[8] + m1[7] * m2[9] + m1[11] * m2[10] + m1[15] * m2[11]; mat[12] = m1[0] * m2[12] + m1[4] * m2[13] + m1[8] * m2[14] + m1[12] * m2[15]; mat[13] = m1[1] * m2[12] + m1[5] * m2[13] + m1[9] * m2[14] + m1[13] * m2[15]; mat[14] = m1[2] * m2[12] + m1[6] * m2[13] + m1[10] * m2[14] + m1[14] * m2[15]; mat[15] = m1[3] * m2[12] + m1[7] * m2[13] + m1[11] * m2[14] + m1[15] * m2[15]; }
开发者ID:javierprovecho,项目名称:FORZE2D,代码行数:27,
示例8: fzMath_mat4Copy void fzMath_mat4Copy(const float* src, float* dst) { FZ_ASSERT(src != NULL, "Source matrix cannot be NULL."); FZ_ASSERT(dst != NULL, "Destination matrix cannot be NULL."); _inline_mat4Copy(src, dst); }
开发者ID:manucorporat,项目名称:FORZE2D,代码行数:7,
示例9: fzMath_mat4Vec4 void fzMath_mat4Vec4(const float* m1, const float* v1, float* vOut) { FZ_ASSERT(m1 != NULL, "Input matrix 1 cannot be NULL."); FZ_ASSERT(v1 != NULL, "Input matrix 2 cannot be NULL."); FZ_ASSERT(vOut != NULL, "Output vertices cannot be NULL."); _inline_mat4Vec4(m1, v1, vOut); }
开发者ID:manucorporat,项目名称:FORZE2D,代码行数:8,
示例10: m_shaderType GLShader::GLShader(const char *source, GLenum type) : m_shaderType(type), m_shader(0) { FZ_ASSERT(m_shaderType == GL_VERTEX_SHADER || m_shaderType == GL_FRAGMENT_SHADER, "Invalid shader type"); FZ_ASSERT(source != NULL, "Argumment must be non-NULL"); if(!compileShader(source)) FZ_RAISE("GLProgram: Error compiling shader."); }
开发者ID:bambamyi,项目名称:FORZE2D,代码行数:9,
示例11: fzMath_mat4MultiplySafe void fzMath_mat4MultiplySafe(const float* m1, const float* m2, float* mOut) { FZ_ASSERT(m1 != NULL, "Input matrix 1 cannot be NULL."); FZ_ASSERT(m2 != NULL, "Input matrix 2 cannot be NULL."); FZ_ASSERT(mOut != NULL, "Output matrix cannot be NULL."); FZ_ASSERT(m1 != mOut, "Input and output can not have the same pointer."); _inline_mat4MultiplySafe(m1, m2, mOut); }
开发者ID:manucorporat,项目名称:FORZE2D,代码行数:9,
示例12: FZ_ASSERT Event* EventManager::addEvent(const Event& newEvent) { FZ_ASSERT(newEvent.getOwner(), "Event owner can not be NULL."); if(!(newEvent.getType() & m_flags)) return NULL; switch (newEvent.getState()) { case kFZEventState_Began:#if FORZE_DEBUG > 0 { eventList::const_iterator it(m_events.begin()); for(; it != m_events.end(); ++it) { if(newEvent.getIdentifier() == it->getIdentifier() && newEvent.getOwner() == it->getOwner()) { FZLOGERROR("EventManager: Event duplicated:"); it->log(); } } }#endif case kFZEventState_Indifferent: { FZ_ASSERT(newEvent.getDelegate() == NULL, "Event delegate should be NULL."); m_events.push_back(newEvent); return &(m_events.back()); } case kFZEventState_Updated: case kFZEventState_Ended: case kFZEventState_Cancelled: { eventList::iterator it(m_events.begin()); for(; it != m_events.end(); ++it) { Event *e = &(*it); if(newEvent.getIdentifier() == e->getIdentifier() && newEvent.getOwner() == e->getOwner() && newEvent.getType() == e->getType()) { e->update(newEvent); return e; } } return NULL; } default: { FZ_ASSERT(false, "Invalid event state."); return NULL; } } }
开发者ID:manucorporat,项目名称:FORZE2D,代码行数:53,
示例13: FZ_ASSERTvoid Grabber::begin(){ FZ_ASSERT(m_fbo != 0, "FBO is uninitilialez, you must grab a texture first."); FZ_ASSERT(m_oldFBO == -1, "This FBO is already opened"); // cache current framebuffer m_oldFBO = fzGLGetFramebuffer(); // bind FBO fzGLBindFramebuffer(m_fbo); CHECK_GL_ERROR_DEBUG();}
开发者ID:ricardoquesada,项目名称:FORZE2D,代码行数:13,
示例14: FZ_ASSERT bool MenuItem::event(Event& event) { FZ_ASSERT(event.isType(kFZEventType_Tap), "Event is a touch event"); if(!isVisible()) return false; switch (event.getState()) { case kFZEventState_Began: { if( !m_isWaiting || !isVisible() ) return false; if(getBoundingBox().contains(event.getPoint())) { selected(); m_isWaiting = false; return true; } break; } case kFZEventState_Updated: { FZ_ASSERT(!m_isWaiting, "[Event updated] -- invalid state"); bool isSelected = getBoundingBox().contains(event.getPoint()); if (isSelected != m_isSelected) { if(isSelected) selected(); else unselected(); } break; } case kFZEventState_Ended: if(m_isSelected) activate(); case kFZEventState_Cancelled: if(m_isSelected) unselected(); m_isWaiting = true; break; default: break; } return false; }
开发者ID:bambamyi,项目名称:FORZE2D,代码行数:51,
示例15: p_innerAction Speed::Speed(Action *a, fzFloat s) : p_innerAction(a) , m_speed(s) { FZ_ASSERT(p_innerAction != NULL, "ActionInterval cannot be NULL."); p_innerAction->retain(); }
开发者ID:manucorporat,项目名称:FORZE2D,代码行数:7,
示例16: fzMath_mat4PerspectiveProjection void fzMath_mat4PerspectiveProjection(fzFloat fovY, fzFloat aspect, fzFloat zNear, fzFloat zFar, float *output) { FZ_ASSERT(output != NULL, "Output matrix cannot be NULL."); fzFloat r = FZ_DEGREES_TO_RADIANS(fovY / 2); fzFloat deltaZ = zFar - zNear; fzFloat s = fzMath_sin(r); fzFloat cotangent = 0; if (deltaZ == 0 || s == 0 || aspect == 0) { FZLOGERROR("Perpertive impossible."); return; } cotangent = fzMath_cos(r) / s; fzMath_mat4Identity(output); output[0] = cotangent / aspect; output[5] = cotangent; output[10] = -(zFar + zNear) / deltaZ; output[11] = -1; output[14] = -2 * zNear * zFar / deltaZ; output[15] = 0; }
开发者ID:manucorporat,项目名称:FORZE2D,代码行数:26,
示例17: FZ_ASSERT void Sprite::draw() { FZ_ASSERT(m_mode == kFZSprite_SelfRendering, "If Sprite is being rendered by SpriteBatch, Sprite::draw SHOULD NOT be called."); // Bind texture fzGLSetMode(kFZGLMode_TextureNoColor); if(mode.A.p_texture) mode.A.p_texture->bind(); fzGLBlendFunc( m_blendFunc ); #if FZ_GL_SHADERS p_glprogram->use(); p_glprogram->setUniform4f(kFZUniformColor_s, m_color.r/255.0f, m_color.g/255.0f, m_color.b/255.0f, (m_cachedOpacity * m_alpha)/255.0f); // atributes glVertexAttribPointer(kFZAttribTexCoords, 2, GL_FLOAT, GL_FALSE, 0, m_texCoords); glVertexAttribPointer(kFZAttribPosition, 2, GL_FLOAT, GL_FALSE, sizeof(fzVec4), mode.A.m_finalVertices); #else glLoadIdentity(); // atributes fzGLColor(m_color); glVertexPointer(3, GL_FLOAT, sizeof(fzVec4), mode.A.m_finalVertices); glTexCoordPointer(2, GL_FLOAT, 0, m_texCoords);#endif // Rendering glDrawArrays(GL_TRIANGLE_STRIP, 0, 4); }
开发者ID:javierprovecho,项目名称:FORZE2D,代码行数:32,
示例18: FZ_ASSERT fzBuffer IO::loadFile(const char *absolutePath) { FZ_ASSERT(absolutePath, "Absolute path cannot be NULL."); if(absolutePath[0] == '/0') return fzBuffer::empty(); FILE *f = fopen(absolutePath, "rb"); if( f == NULL ) return fzBuffer::empty(); fseek(f, 0, SEEK_END); size_t size = ftell(f); fseek(f, 0, SEEK_SET); char *buffer = new(std::nothrow) char[size+1]; if(buffer == NULL) { fclose(f); FZLOGERROR("IO: Impossible to allocate memory."); return fzBuffer::empty(); } size_t read = fread(buffer, 1, size, f); fclose(f); if( read != size ) { FZLOGERROR("IO: Abnormal reading error. Probably the path is not a file."); delete [] buffer; return fzBuffer::empty(); } // NULL TERMINATED buffer[size] = '/0'; return fzBuffer(buffer, size+1); }
开发者ID:bambamyi,项目名称:FORZE2D,代码行数:34,
示例19: switch bool Menu::event(Event& event) { if(!event.isType(kFZEventType_Tap)) return false; fzPoint point = event.getPoint(); switch (event.getState()) { case kFZEventState_Began: { if( m_isWaiting == false || !isVisible() ) return false; p_selectedItem = itemForPosition(point); if( p_selectedItem ) { p_selectedItem->selected(); m_isWaiting = false; return true; } break; } case kFZEventState_Updated: { FZ_ASSERT(!m_isWaiting, "[Event updated] -- invalid state."); MenuItem *currentItem = itemForPosition(point); if (currentItem != p_selectedItem) { if(p_selectedItem) p_selectedItem->unselected(); p_selectedItem = currentItem; if(p_selectedItem) p_selectedItem->selected(); } break; } case kFZEventState_Ended: if(p_selectedItem) p_selectedItem->activate(); case kFZEventState_Cancelled: if(p_selectedItem) p_selectedItem->unselected(); m_isWaiting = true; break; default: break; } return false; }
开发者ID:bambamyi,项目名称:FORZE2D,代码行数:59,
示例20: calculateDeltaTime bool Director::drawScene() { // CALCULATE DELTA TIME calculateDeltaTime(); // DISPATCH EVENTS EventManager::Instance().dispatchEvents(); // SCHEDULE if(!m_isPaused) { Scheduler::Instance().tick( m_dt ); ActionManager::Instance().update( m_dt ); } if(m_dirtyFlags) updateProjection(); if(p_nextScene) setNextScene(); // RENDERING#if FZ_RENDER_ON_DEMAND bool newContent = m_sceneIsDirty; if(m_sceneIsDirty) {#endif #if !FZ_GL_SHADERS glLoadIdentity();#endif MS::loadBaseMatrix(m_transformMV); // CLEAR OPENGL BUFFERS fzGLClearColor(m_clearColor); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); if(p_runningScene) { p_runningScene->internalVisit(); CHECK_GL_ERROR_DEBUG(); } FZ_ASSERT(MS::getLevel() == 1, "A matrix hasn't been popped. Review the push/pop code."); // SHOW FPS if( m_displayFPS ) showFPS(); #if FZ_RENDER_ON_DEMAND m_sceneIsDirty = false; }#endif PerformManager::Instance().clean(); #if FZ_RENDER_ON_DEMAND return newContent;#else return true;#endif }
开发者ID:bambamyi,项目名称:FORZE2D,代码行数:59,
注:本文中的FZ_ASSERT函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ F_CLR函数代码示例 C++ FX_WSTRC函数代码示例 |