MODULE = Ogre PACKAGE = Ogre::Mesh
SubMesh *
Mesh::createSubMesh(...)
CODE:
if (items == 1) {
RETVAL = THIS->createSubMesh();
}
else if (items == 2) {
char * xstmpchr = (char *) SvPV_nolen(ST(1));
String name = xstmpchr;
RETVAL = THIS->createSubMesh(name);
}
else {
croak("Usage: Ogre::Mesh::createSubMesh(CLASS, [name])\n");
}
OUTPUT:
RETVAL
void
Mesh::nameSubMesh(name, index)
String name
unsigned short index
unsigned short
Mesh::getNumSubMeshes()
### xxx: for some reason, it won't let the unsigned short version convert...
##SubMesh *
##Mesh::getSubMesh(...)
## CODE:
## if (items == 2) {
## // xxx: hope they don't use a numeric name...
## if (looks_like_number(ST(1))) {
## unsigned short i = (unsigned short)SvUV(ST(1));
## RETVAL = THIS->createSubMesh(i);
## }
## else {
## char * xstmpchr_$var = (char *) SvPV_nolen(ST(1));
## String name = xstmpchr_$var;
## RETVAL = THIS->createSubMesh(name);
## }
## }
## else {
## croak("Usage: Ogre::Mesh::getSubMesh(CLASS, name) or getSubMesh(CLASS, index)\n");
## }
## OUTPUT:
## RETVAL
SubMesh *
Mesh::getSubMesh(name)
String name
## SubMeshIterator Mesh::getSubMeshIterator(void)
Mesh *
Mesh::clone(newName, newGroup=StringUtil::BLANK)
String newName
String newGroup
CODE:
RETVAL = THIS->clone(newName, (const String)newGroup).getPointer();
OUTPUT:
RETVAL
## const AxisAlignedBox & Mesh::getBounds(void)
Real
Mesh::getBoundingSphereRadius()
void
Mesh::setSkeletonName(skelName)
String skelName
bool
Mesh::hasSkeleton()
bool
Mesh::hasVertexAnimation()
Skeleton *
Mesh::getSkeleton()
CODE:
RETVAL = THIS->getSkeleton().getPointer();
OUTPUT:
RETVAL
String
Mesh::getSkeletonName()
## xxx: VertexBoneAssignment is a struct; could just pass three numbers instead
##void
##Mesh::addBoneAssignment(const VertexBoneAssignment &vertBoneAssign)
void
Mesh::clearBoneAssignments()
## BoneAssignmentIterator Mesh::getBoneAssignmentIterator(void)
## xxx: LodDistanceList is a std::vector, so need to pass in aref
##void Mesh::generateLodLevels(const LodDistanceList &lodDistances, ProgressiveMesh::VertexReductionQuota reductionMethod, Real reductionValue)
unsigned short
Mesh::getNumLodLevels()
## xxx: MeshLodUsage is a struct
##const MeshLodUsage & Mesh::getLodLevel(ushort index)
void
Mesh::createManualLodLevel(fromDepth, meshName)
Real fromDepth
String meshName
void
Mesh::updateManualLodLevel(index, meshName)
unsigned short index
String meshName
unsigned short
Mesh::getLodIndex(Real depth)
unsigned short
Mesh::getLodIndexSquaredDepth(Real squaredDepth)
bool
Mesh::isLodManual()
void
Mesh::removeLodLevels()
void
Mesh::setVertexBufferPolicy(int usage, bool shadowBuffer=false)
C_ARGS:
(HardwareBuffer::Usage)usage, shadowBuffer
void
Mesh::setIndexBufferPolicy(int usage, bool shadowBuffer=false)
C_ARGS:
(HardwareBuffer::Usage)usage, shadowBuffer
int
Mesh::getVertexBufferUsage()
int
Mesh::getIndexBufferUsage()
bool
Mesh::isVertexBufferShadowed()
bool
Mesh::isIndexBufferShadowed()
void
Mesh::buildTangentVectors(int targetSemantic=VES_TANGENT, unsigned short sourceTexCoordSet=0, unsigned short index=0)
C_ARGS:
(VertexElementSemantic)targetSemantic, sourceTexCoordSet, index
bool
Mesh::suggestTangentVectorBuildParams(int targetSemantic, OUTLIST unsigned short outSourceCoordSet, OUTLIST unsigned short outIndex)
C_ARGS:
(VertexElementSemantic)targetSemantic, outSourceCoordSet, outIndex
void
Mesh::buildEdgeList()
void
Mesh::freeEdgeList()
void
Mesh::prepareForShadowVolume()
# there are two versions, this too:
#const EdgeData * Mesh::getEdgeList(unsigned int lodIndex=0)
EdgeData *
Mesh::getEdgeList(unsigned int lodIndex=0)
bool
Mesh::isPreparedForShadowVolumes()
bool
Mesh::isEdgeListBuilt()
## HashMap<String, ushort>
##const SubMeshNameMap & Mesh::getSubMeshNameMap(void)
void
Mesh::setAutoBuildEdgeLists(bool autobuild)
bool
Mesh::getAutoBuildEdgeLists()
int
Mesh::getSharedVertexDataAnimationType()
Animation *
Mesh::createAnimation(name, length)
String name
Real length
## this too, but I assume it will have the same problem as getSubMesh:
## Animation * Mesh::getAnimation(unsigned short index)
Animation *
Mesh::getAnimation(name)
String name
bool
Mesh::hasAnimation(name)
String name
void
Mesh::removeAnimation(name)
String name
unsigned short
Mesh::getNumAnimations()
void
Mesh::removeAllAnimations()
VertexData *
Mesh::getVertexDataByTrackHandle(unsigned short handle)
void
Mesh::updateMaterialForAllSubMeshes()
Pose *
Mesh::createPose(target, name=StringUtil::BLANK)
unsigned short target
String name
CODE:
RETVAL = THIS->createPose(target, (const String)name);
OUTPUT:
RETVAL
size_t
Mesh::getPoseCount()
## also this: Pose * Mesh::getPose(ushort index)
Pose *
Mesh::getPose(name)
String name
## also this: void Mesh::removePose(ushort index)
void
Mesh::removePose(name)
String name
void
Mesh::removeAllPoses()
## PoseIterator Mesh::getPoseIterator(void)
## ConstPoseIterator Mesh::getPoseIterator(void)
## std::vector<Pose*>
## const PoseList & Mesh::getPoseList(void)