Exemplo n.º 1
0
void CC3TouchBox::populateBox( const CC3Box& aBox )
{
	CC3Mesh* mesh = prepareParametricMesh();
	
	// Now update the vertex locations with the box data
	GLuint vIdx = 0;
	CC3Vector bbMin = aBox.minimum;
	CC3Vector bbMax = aBox.maximum;
	mesh->setVertexLocation( cc3v(bbMin.x, bbMin.y, bbMin.z), vIdx++ );
	mesh->setVertexLocation( cc3v(bbMin.x, bbMin.y, bbMax.z), vIdx++ );
	mesh->setVertexLocation( cc3v(bbMin.x, bbMax.y, bbMin.z), vIdx++ );
	mesh->setVertexLocation( cc3v(bbMin.x, bbMax.y, bbMax.z), vIdx++ );
	mesh->setVertexLocation( cc3v(bbMax.x, bbMin.y, bbMin.z), vIdx++ );
	mesh->setVertexLocation( cc3v(bbMax.x, bbMin.y, bbMax.z), vIdx++ );
	mesh->setVertexLocation( cc3v(bbMax.x, bbMax.y, bbMin.z), vIdx++ );
	mesh->setVertexLocation( cc3v(bbMax.x, bbMax.y, bbMax.z), vIdx++ );
	
	mesh->updateVertexLocationsGLBuffer();
	markBoundingVolumeDirty();
}
Exemplo n.º 2
0
void CC3MeshNode::populateAsHollowConeWithRadius( GLfloat radius, GLfloat height, const CC3Tessellation& angleAndHeightDivs )
{
	CC3Mesh* pMesh = prepareParametricMesh();
	if ( pMesh )
		pMesh->populateAsHollowConeWithRadius( radius, height, angleAndHeightDivs );
}
Exemplo n.º 3
0
void CC3MeshNode::populateAsCubeMappedSolidBox( const CC3Box& box )
{
	CC3Mesh* pMesh = prepareParametricMesh();
	if ( pMesh )
		pMesh->populateAsCubeMappedSolidBox( box );
}
Exemplo n.º 4
0
void CC3MeshNode::populateAsSolidBox( const CC3Box& box, const CCPoint& corner )
{
	CC3Mesh* pMesh = prepareParametricMesh();
	if ( pMesh )
		pMesh->populateAsSolidBox( box, corner );
}
Exemplo n.º 5
0
void CC3MeshNode::populateAsDiskWithRadius( GLfloat radius, const CC3Tessellation& radialAndAngleDivs )
{
	CC3Mesh* pMesh = prepareParametricMesh();
	if ( pMesh )
		pMesh->populateAsDiskWithRadius( radius, radialAndAngleDivs );
}
Exemplo n.º 6
0
void CC3MeshNode::populateAsWireBox( const CC3Box& box )
{
	CC3Mesh* pMesh = prepareParametricMesh();
	if ( pMesh )
		pMesh->populateAsWireBox( box );
}
Exemplo n.º 7
0
void CC3MeshNode::populateAsLineStripWith( GLuint vertexCount, CC3Vector* vertices, bool shouldRetainVertices )
{
	CC3Mesh* pMesh = prepareParametricMesh();
	if ( pMesh )
		pMesh->populateAsLineStripWith( vertexCount, vertices, shouldRetainVertices );
}
Exemplo n.º 8
0
void CC3MeshNode::populateAsRectangleWithSize( const CCSize& rectSize, const CCPoint& origin, const CC3Tessellation& divsPerAxis )
{
	CC3Mesh* pMesh = prepareParametricMesh();
	if ( pMesh )
		pMesh->populateAsRectangleWithSize( rectSize, origin, divsPerAxis );
}
Exemplo n.º 9
0
void CC3MeshNode::populateAsRectangleWithSize( const CCSize& rectSize, const CCPoint& origin )
{
	CC3Mesh* pMesh = prepareParametricMesh();
	if ( pMesh )
		pMesh->populateAsRectangleWithSize( rectSize, origin );
}
Exemplo n.º 10
0
void CC3MeshNode::populateAsCenteredRectangleWithSize( const CCSize& rectSize )
{
	CC3Mesh* pMesh = prepareParametricMesh();
	if ( pMesh )
		pMesh->populateAsCenteredRectangleWithSize( rectSize );
}
Exemplo n.º 11
0
void CC3MeshNode::populateAsSphereWithRadius( GLfloat radius, const CC3Tessellation& divsPerAxis )
{
	CC3Mesh* pMesh = prepareParametricMesh();
	if ( pMesh )
		pMesh->populateAsSphereWithRadius( radius, divsPerAxis );
}
Exemplo n.º 12
0
void CC3MeshNode::populateAsTriangle( const CC3Face& face, ccTex2F* texCoords, GLuint divsPerSide )
{
	prepareParametricMesh()->populateAsTriangle( face, texCoords, divsPerSide );
}