本文整理汇总了C++中Init函数的典型用法代码示例。如果您正苦于以下问题:C++ Init函数的具体用法?C++ Init怎么用?C++ Init使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了Init函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: Init
VBOSquare::VBOSquare(Vector3<float> position, float size, int numDivisions) {
Init();
m_position = position;
m_size = size;
m_numDivisions = numDivisions;
//m_vboMesh = new VBO();
int numVertices = 4 + (m_numDivisions-1)*4 + (m_numDivisions-1)*(m_numDivisions-1);
int numIndices = m_numDivisions*m_numDivisions*6;
m_vertices = new Vertex[numVertices];
m_indices = new GLushort[numIndices];
//float sizeby2 = m_size/2.0f;
m_divisionSize = m_size/m_numDivisions;
//Consider only the first decimals
//m_divisionSize = floor(m_divisionSize * 1000.0f) / 1000.0f;
int cont = 0;
for(float i=0; i<=m_divisionSize * m_numDivisions; i+=m_divisionSize){
for(float j=0; j<=m_divisionSize * m_numDivisions; j+=m_divisionSize){
m_vertices[cont].x = m_position.GetX() +i; m_vertices[cont].y = m_position.GetY() +j ; m_vertices[cont].z = m_position.GetZ();
m_vertices[cont].v = (i) / m_size; m_vertices[cont].u = (j) / m_size;
cont++;
}
}
cont = 0; //counts the number of squares rendered
int coluns = 0; //counts the coluns rendered
//numIndices = 18;
//numVertices = 8;
for(int i=0; i<numIndices; i+=6){
m_indices[i] = cont + coluns;
m_indices[i+1] = cont + coluns + 1 + m_numDivisions;
m_indices[i+2] = cont + coluns + 2 + m_numDivisions;
m_indices[i+3] = cont + coluns + 2 + m_numDivisions;
m_indices[i+4] = cont + coluns + 1;
m_indices[i+5] = cont + coluns;
cont++;
//If it reaches the limit of the square, it adds two to the count
if(cont % m_numDivisions == 0)
coluns++;
}
/*
m_indices[0] = 0;
m_indices[1] = 2;
m_indices[2] = 3;
m_indices[3] = 3;
m_indices[4] = 1;
m_indices[5] = 0;
*/
m_vboMesh = new VBO(m_vertices, numVertices, m_indices, numIndices);
}
开发者ID:SigtunaX,项目名称:procedural,代码行数:68,代码来源:VBOSquare.cpp
示例2: SDLSoundChannel
SoundChannel *SoundChannel::Create(const ByteArray &inBytes,const SoundTransform &inTransform)
{
if (!Init())
return 0;
return new SDLSoundChannel(inBytes,inTransform);
}
开发者ID:Glidias,项目名称:NME,代码行数:6,代码来源:SDLSound.cpp
示例3: Create
ConnectArgsDialog::ConnectArgsDialog(wxWindow *parent,wxWindowID id,const wxString &caption,const wxPoint &pos,const wxSize &size,long style)
{
Create(parent,id,caption,pos,size,style);
Init();
}
开发者ID:GCY,项目名称:wxArduino,代码行数:5,代码来源:connectargsdlg.cpp
示例4: XTransition
//---------------------------------------------------------------------------------------------------------------
XFadeInOut::XFadeInOut( BOOL bHighReso, BOOL bTransIn, float fSec )
: XTransition( bHighReso, fSec, bTransIn )
{
Init();
}
开发者ID:xahgo,项目名称:tama,代码行数:6,代码来源:XTransition.cpp
示例5: m_bFullScreen
//.........这里部分代码省略.........
}
else
{
dwExStyle = WS_EX_APPWINDOW | WS_EX_WINDOWEDGE; // Window Extended Style
dwStyle = WS_OVERLAPPEDWINDOW; // Windows Style
}
AdjustWindowRectEx(&rectWindow, dwStyle, false, dwExStyle); // Adjust Window To true Requested Size
// Create The Window
if (!(m_hWnd=CreateWindowEx(dwExStyle, // Extended Style For The Window
"OpenGL", // Class Name
lpszTitle, // Window Title
dwStyle | // Defined Window Style
WS_CLIPSIBLINGS | // Required Window Style
WS_CLIPCHILDREN, // Required Window Style
0, 0, // Window Position
WindowRect.right-WindowRect.left, // Calculate Window Width
WindowRect.bottom-WindowRect.top, // Calculate Window Height
NULL, // No Parent Window
NULL, // No Menu
m_hInstance, // Instance
NULL))) // Dont Pass Anything To WM_CREATE
{
KillGLWindow(); // Reset The Display
MessageBox(m_hWnd,"Window Creation Error.","ERROR",MB_OK|MB_ICONEXCLAMATION);
return false; // Return false
}
static PIXELFORMATDESCRIPTOR pfd = // pfd Tells Windows How We Want Things To Be
{
sizeof(PIXELFORMATDESCRIPTOR), // Size Of This Pixel Format Descriptor
1, // Version Number
PFD_DRAW_TO_WINDOW | // Format Must Support Window
PFD_SUPPORT_OPENGL | // Format Must Support OpenGL
PFD_DOUBLEBUFFER, // Must Support Double Buffering
PFD_TYPE_RGBA, // Request An RGBA Format
nBits, // Select Our Color Depth
0, 0, 0, 0, 0, 0, // Color Bits Ignored
0, // No Alpha Buffer
0, // Shift Bit Ignored
0, // No Accumulation Buffer
0, 0, 0, 0, // Accumulation Bits Ignored
nZBuffer, // 16/32Bit Z-Buffer (Depth Buffer)
0, // No Stencil Buffer
0, // No Auxiliary Buffer
PFD_MAIN_PLANE, // Main Drawing Layer
0, // Reserved
0, 0, 0 // Layer Masks Ignored
};
if (!(m_hDC=GetDC(m_hWnd))) // Did We Get A Device Context?
{
KillGLWindow(); // Reset The Display
MessageBox(m_hWnd,"Can't Create A GL Device Context.","ERROR",MB_OK|MB_ICONEXCLAMATION);
return false; // Return false
}
if (!(PixelFormat=ChoosePixelFormat(m_hDC,&pfd))) // Did Windows Find A Matching Pixel Format?
{
KillGLWindow(); // Reset The Display
MessageBox(m_hWnd,"Can't Find A Suitable PixelFormat.","ERROR",MB_OK|MB_ICONEXCLAMATION);
return false; // Return false
}
if(!SetPixelFormat(m_hDC,PixelFormat,&pfd)) // Are We Able To Set The Pixel Format?
{
KillGLWindow(); // Reset The Display
MessageBox(m_hWnd,"Can't Set The PixelFormat.","ERROR",MB_OK|MB_ICONEXCLAMATION);
return false; // Return false
}
if (!(hRC=wglCreateContext(m_hDC))) // Are We Able To Get A Rendering Context?
{
KillGLWindow(); // Reset The Display
MessageBox(m_hWnd,"Can't Create A GL Rendering Context.","ERROR",MB_OK|MB_ICONEXCLAMATION);
return false; // Return false
}
if(!wglMakeCurrent(m_hDC,hRC)) // Try To Activate The Rendering Context
{
KillGLWindow(); // Reset The Display
MessageBox(m_hWnd,"Can't Activate The GL Rendering Context.","ERROR",MB_OK|MB_ICONEXCLAMATION);
return false; // Return false
}
ShowWindow(m_hWnd, SW_SHOW); // Show The Window
SetForegroundWindow(m_hWnd); // Slightly Higher Priority
SetFocus(m_hWnd); // Sets Keyboard Focus To The Window
Resize(nWidth, nHeight); // Set Up Our Perspective GL Screen
if (!Init()) // Initialize Our Newly Created GL Window
{
KillGLWindow(); // Reset The Display
MessageBox(m_hWnd,"Initialization Failed.","ERROR",MB_OK|MB_ICONEXCLAMATION);
return false; // Return false
}
return true; // Success
}
开发者ID:wernight,项目名称:cuckoo,代码行数:101,代码来源:GL.cpp
示例6: ThreadProcMain
void CKEventThread::ThreadProcMain(void)
{
if( Init() )
{
while( !m_bWantStop )
{
// Figure out how long we can remain in poll/WFMO, possibly forever
waittimer_t nTimeout = INFTIM;
if( m_nTimers )
{
assert( m_ppTimers[1] );
nTimeout = m_ppTimers[1]->GetTimeout() - CKTimer::CurrentTime();
if( nTimeout < 0 || nTimeout > 0x7FFFFFFF ) nTimeout = 0; // Wrap - it's late
}
#ifdef _UNIX
int rc = poll( m_pWaitObjs, m_nSocks, nTimeout );
if( rc < 0 )
{
dbgout( "poll() failed: error = %i (%s)", errno, strerror(errno) );
break;
}
#endif
#ifdef _WIN32
DWORD rc = ::WaitForMultipleObjects( m_nSocks, m_pWaitObjs, FALSE, nTimeout );
if( rc == WAIT_FAILED )
{
dbgout( "WFMO failed: error = %u", ::GetLastError() );
break;
}
rc = (rc == WAIT_TIMEOUT) ? 0 : 1;
#endif
if( rc == 0 && m_nTimers )
{
assert( m_nTimers && m_nTimerAlloc >= 2 && m_ppTimers[1] );
CKTimer* pTimer = m_ppTimers[1];
if( pTimer->GetMode() == CKTimer::Repeating )
{
pTimer->m_next += pTimer->m_interval;
}
else
{
pTimer->m_mode = CKTimer::Disabled;
m_ppTimers[1] = m_ppTimers[m_nTimers--];
}
Heapify( CKTimer::CurrentTime(), 1 );
pTimer->GetResponse()->OnTimer();
}
if( rc > 0 )
{
UINT n;
for( n = 0; n < m_nSocks; n++ )
{
assert( WAITOBJ_IS_VALID( m_pWaitObjs[n] ) && NULL != m_ppSocks[n] );
int err = SOCKERR_NONE;
waitevents_t wevt;
CKSocket* pSock = m_ppSocks[n];
#ifdef _UNIX
wevt = m_pWaitObjs[n].revents;
if( (wevt & (POLLIN|POLLERR)) && (pSock->m_uSelectFlags & SF_ACCEPT) == SF_ACCEPT )
{
wevt = XPOLLACC;
}
if( (wevt & (POLLOUT|POLLERR)) && (pSock->m_uSelectFlags & SF_CONNECT) == SF_CONNECT )
{
socklen_t errlen = sizeof(err);
#if defined(_SOLARIS) && (_SOLARIS < 58)
getsockopt( pSock->GetHandle(), SOL_SOCKET, SO_ERROR, (char*)&err, &errlen );
#else
getsockopt( pSock->GetHandle(), SOL_SOCKET, SO_ERROR, &err, &errlen );
#endif
wevt = XPOLLCNX;
}
if( (wevt & POLLERR) )
{
wevt = pSock->m_uSelectFlags;
}
#endif
#ifdef _WIN32
::WSAEnumNetworkEvents( pSock->GetHandle(), m_pWaitObjs[n], &wevt );
if( wevt.lNetworkEvents & FD_CONNECT )
{
err = wevt.iErrorCode[FD_CONNECT_BIT];
}
if( wevt.lNetworkEvents & FD_CLOSE )
{
wevt.lNetworkEvents = FD_READ;
DelStream( pSock );
pSock->GetNotify()->OnClosed();
}
#endif
if( WAIT_EVENT_READ( wevt ) )
{
pSock->GetNotify()->OnReadReady();
}
else if( WAIT_EVENT_WRITE( wevt ) )
{
//.........这里部分代码省略.........
开发者ID:AlirezaHaghshenas,项目名称:P2PCenter,代码行数:101,代码来源:KThread.cpp
示例7: memset
CAAUParameter::CAAUParameter(AudioUnit au, AudioUnitParameterID param, AudioUnitScope scope, AudioUnitElement element)
{
memset(this, 0, sizeof(CAAUParameter));
Init (au, param, scope, element);
}
开发者ID:DanielAeolusLaude,项目名称:ardour,代码行数:5,代码来源:CAAUParameter.cpp
示例8: LoadWaterTexture
Water::Water(IDirect3DDevice9 *device, std::string fileName)
:m_device(device)
{
LoadWaterTexture(fileName);
Init();
}
开发者ID:yingyuewuhen,项目名称:D3D,代码行数:6,代码来源:water.cpp
示例9: Iterator
开发者ID:msupernaw,项目名称:FisheriesModelingFramework,代码行数:3,代码来源:RTree.hpp
示例10: CService
CAddress::CAddress(CService ipIn, uint64 nServicesIn) : CService(ipIn)
{
Init();
nServices = nServicesIn;
}
开发者ID:21coin,项目名称:21,代码行数:5,代码来源:protocol.cpp
示例11: Init
INLINE Dictionary<TKey, TValue>::Dictionary(Dictionary<TKey, TValue> const &dict) {
Init();
operator=(dict);
}
开发者ID:chenweihua,项目名称:69net,代码行数:4,代码来源:Dictionary.hpp
示例12: Init
void SurfaceTextureBuffer::RestoreDeviceData()
{
Init();
}
开发者ID:ByeDream,项目名称:pixellight,代码行数:4,代码来源:SurfaceTextureBuffer.cpp
示例13: Init
// 支持version = 1.1 版本
BOOL CCheckRuleXMLParse::LoadNew(const CString &strFilePath,
CheckRuleArray &arrCheckRuleList)
{
arrCheckRuleList.RemoveAll();
if (!IsFileExist(strFilePath))
return FALSE;
BOOL bResult = TRUE;
// 初始化
Init();
// 打开xml文件
if (!m_pXMLDocument->OpenXMLForDocument(strFilePath))
bResult = FALSE;
// 读取数据
if (bResult)
{
CheckRule checkRule;
CString strValue, strIndex;
IBpXMLNode* pRootNode = m_pXMLDocument->GetRootElement();
pRootNode->GetName(strValue);
if (strValue.Compare(L"CheckRule") == 0)
{
IBpXMLNode *pChildNode = NULL;
int nNodeCount = pRootNode->GetElementCount(), nAttrCount;
for (int i = 1; i <= nNodeCount; i++)
{
IBpXMLNode *pRuleNode = pRootNode->GetElementChildByIndex(i);
if (pRuleNode->GetElementCount() >= 3)
{
pRuleNode->GetAttributeByName(L"id", strValue);
checkRule.nID = _wtoi(strValue);
// 检查类型
pRuleNode->GetAttributeByName(L"ruletype", strValue);
checkRule.nRuleType = _wtoi(strValue);
// 检查描述
pChildNode = pRuleNode->GetElementChildByIndex(1);
pChildNode->GetText(checkRule.strRuleDesc);
DestroyXMLNode(pChildNode);
// 检查名称
pChildNode = pRuleNode->GetElementChildByIndex(2);
pChildNode->GetText(checkRule.strRuleName);
DestroyXMLNode(pChildNode);
// 检查内容
pChildNode = pRuleNode->GetElementChildByIndex(3);
nAttrCount = pChildNode->GetAttributeCount();
checkRule.arrRuleContent.SetSize(nAttrCount);
for (int j = 0; j < nAttrCount; j++)
{
strIndex.Format(L"rc%d", j);
pChildNode->GetAttributeByName(strIndex, strValue);
checkRule.arrRuleContent.SetAt(j, strValue);
}
DestroyXMLNode(pChildNode);
if (pRuleNode->GetElementCount() >= 4)
{
// 检查模型过滤
pChildNode = pRuleNode->GetElementChildByIndex(4);
pChildNode->GetText(strValue);
checkRule.dwMdlFilter = _wtoi(strValue);
DestroyXMLNode(pChildNode);
}
arrCheckRuleList.Add(checkRule);
}
DestroyXMLNode(pRuleNode);
}
}
else
{
AfxMessageBox(L"XML文件不匹配!");
bResult = FALSE;
}
DestroyXMLNode(pRootNode);
}
// 释放资源
Uninit();
return bResult;
}
开发者ID:bjliugq,项目名称:SmartDoctor,代码行数:84,代码来源:CheckRuleXMLParse.cpp
示例14: Init
Asteroid::Asteroid()
{
Init();
}
开发者ID:BigEd,项目名称:Cores,代码行数:4,代码来源:Asteroid.cpp
示例15: SafeDeleteFile
BOOL CCheckRuleXMLParse::Save(const CString &strFilePath, const CheckRuleArray &arrCheckRuleList)
{
// 删除老版本生成的未加密xml
CString strOldXmlPath = strFilePath;
strOldXmlPath.Replace(L".bpxml", L"xml");
if (IsFileExist(strOldXmlPath))
SafeDeleteFile(strOldXmlPath);
// 删除新版本生成的加密bpxml
if (IsFileExist(strFilePath))
SafeDeleteFile(strFilePath);
BOOL bResult = TRUE;
// 初始化
Init();
// 创建xml文件
if (!m_pXMLDocument->CreateDocument(L"CheckRule"))
bResult = FALSE;
// 存储数据
if (bResult)
{
IBpXMLNode* pRootNode = m_pXMLDocument->GetRootElement();
pRootNode->SetAttribute(L"version", L"1.1");
DestroyXMLNode(pRootNode);
CString strValue;
for (int i=0; i<arrCheckRuleList.GetSize(); i++)
{
IBpXMLNode* pRuleNode = m_pXMLDocument->CreateElementNode(L"node");
IBpXMLNode* pChildNode = NULL;
if (pRuleNode != NULL)
{
strValue.Format(L"%d", arrCheckRuleList[i].nID);
pRuleNode->SetAttribute(L"id", strValue);
strValue.Format(L"%d", arrCheckRuleList[i].nRuleType);
pRuleNode->SetAttribute(L"ruletype", strValue);
pChildNode = pRuleNode->AppendNewElementChild(L"ruledesc");
pChildNode->SetText(arrCheckRuleList[i].strRuleDesc);
DestroyXMLNode(pChildNode);
pChildNode = pRuleNode->AppendNewElementChild(L"rulename");
pChildNode->SetText(arrCheckRuleList[i].strRuleName);
DestroyXMLNode(pChildNode);
pChildNode = pRuleNode->AppendNewElementChild(L"rulecontent");
for (int j=0; j<arrCheckRuleList[i].arrRuleContent.GetCount(); j++)
{
strValue.Format(L"rc%d", j);
pChildNode->SetAttribute(strValue, arrCheckRuleList[i].arrRuleContent.GetAt(j));
}
DestroyXMLNode(pChildNode);
pChildNode = pRuleNode->AppendNewElementChild(L"MdlFilter");
strValue.Format(L"%d", arrCheckRuleList[i].dwMdlFilter);
pChildNode->SetText(strValue);
DestroyXMLNode(pChildNode);
DestroyXMLNode(pRuleNode);
}
}
}
// 保存为临时xml文件
CString strTempXMLFile;
GetTempFile(strTempXMLFile, L"xml");
m_pXMLDocument->SaveXML(strTempXMLFile);
// xml文件加密
bResult = EncodeFileEx(strTempXMLFile, strFilePath);
SafeDeleteFile(strTempXMLFile);
// 释放资源
Uninit();
return bResult;
}
开发者ID:bjliugq,项目名称:SmartDoctor,代码行数:75,代码来源:CheckRuleXMLParse.cpp
示例16: DeleteReference
void Splat::Reset() {
splatCD.Reset(this, TRUE); // reset all pb2's
DeleteReference(2);
DeleteReference(3);
Init();
}
开发者ID:innovatelogic,项目名称:ilogic-vm,代码行数:6,代码来源:splat.cpp
示例17: InitC
Crypto_Handle InitC(){
AESDecoder* AESdecoder = Init();
return AESdecoder;
}
开发者ID:Jovasa,项目名称:kvazaar,代码行数:4,代码来源:crypto.cpp
示例18: Init
bool wxNativeFontInfo::FromUserString(const wxString& s)
{
// reset to the default state
Init();
// ToUserString() will quote the facename if it contains spaces, commas
// or semicolons: we must be able to understand that quoted text is
// a single token:
wxString toparse(s);
// parse a more or less free form string
wxStringTokenizer tokenizer(toparse, wxT(";, "), wxTOKEN_STRTOK);
wxString face;
unsigned long size;
bool weightfound = false, pointsizefound = false;
#if wxUSE_FONTMAP
bool encodingfound = false;
#endif
bool insideQuotes = false;
while ( tokenizer.HasMoreTokens() )
{
wxString token = tokenizer.GetNextToken();
// normalize it
token.Trim(true).Trim(false).MakeLower();
if (insideQuotes)
{
if (token.StartsWith("'") ||
token.EndsWith("'"))
{
insideQuotes = false;
// add this last token to the facename:
face += " " + token;
// normalize facename:
face = face.Trim(true).Trim(false);
face.Replace("'", "");
continue;
}
}
else
{
if (token.StartsWith("'"))
insideQuotes = true;
}
// look for the known tokens
if ( insideQuotes )
{
// only the facename may be quoted:
face += " " + token;
continue;
}
if ( token == wxT("underlined") || token == _("underlined") )
{
SetUnderlined(true);
}
else if ( token == wxT("strikethrough") || token == _("strikethrough") )
{
SetStrikethrough(true);
}
else if ( token == wxT("light") || token == _("light") )
{
SetWeight(wxFONTWEIGHT_LIGHT);
weightfound = true;
}
else if ( token == wxT("bold") || token == _("bold") )
{
SetWeight(wxFONTWEIGHT_BOLD);
weightfound = true;
}
else if ( token == wxT("italic") || token == _("italic") )
{
SetStyle(wxFONTSTYLE_ITALIC);
}
else if ( token.ToULong(&size) )
{
SetPointSize(size);
pointsizefound = true;
}
else
{
#if wxUSE_FONTMAP
// try to interpret this as an encoding
wxFontEncoding encoding = wxFontMapper::Get()->CharsetToEncoding(token, false);
if ( encoding != wxFONTENCODING_DEFAULT &&
encoding != wxFONTENCODING_SYSTEM ) // returned when the recognition failed
{
SetEncoding(encoding);
encodingfound = true;
}
else
{
#endif // wxUSE_FONTMAP
// assume it is the face name
//.........这里部分代码省略.........
开发者ID:hycrice,项目名称:wxWidgets,代码行数:101,代码来源:fontcmn.cpp
示例19: Init
ConnectArgsDialog::ConnectArgsDialog()
{
Init();
}
开发者ID:GCY,项目名称:wxArduino,代码行数:4,代码来源:connectargsdlg.cpp
示例20: assert
INLINE Dictionary<TKey, TValue>::Dictionary(UInt32 const &len) {
assert ( sizeof(Byte*) + sizeof(Node) * len + sizeof(Node*) * len <= 0xFFFFFFFFu ); // x64下最多允许一次 new 出 4g 的内存空间
if (len <= Dictionary_OriginalNodeLength)
Init();
Init(len);
}
开发者ID:chenweihua,项目名称:69net,代码行数:6,代码来源:Dictionary.hpp
注:本文中的Init函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论