MCPcopy Create free account
hub / github.com/GarageGames/Torque3D / refreshShape

Method refreshShape

Engine/source/gui/editor/guiShapeEdPreview.cpp:678–721  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

676}
677
678void GuiShapeEdPreview::refreshShape()
679{
680 if ( mModel )
681 {
682 // Nodes or details may have changed => refresh the shape instance
683 mModel->setMaterialList( mModel->mMaterialList );
684 mModel->initNodeTransforms();
685 mModel->initMeshObjects();
686
687 TSShape* shape = mModel->getShape();
688
689 mProjectedNodes.setSize( shape->nodes.size() );
690
691 if ( mSelectedObject >= shape->objects.size() )
692 {
693 mSelectedObject = -1;
694 mSelectedObjDetail = 0;
695 }
696
697 // Re-compute the collision mesh stats
698 mColMeshes = 0;
699 mColPolys = 0;
700 for ( S32 i = 0; i < shape->details.size(); i++ )
701 {
702 const TSShape::Detail& det = shape->details[i];
703 const String& detName = shape->getName( det.nameIndex );
704 if ( ( det.subShapeNum < 0 ) || !detName.startsWith( "collision-" ) )
705 continue;
706
707 mColPolys += det.polyCount;
708
709 S32 od = det.objectDetailNum;
710 S32 start = shape->subShapeFirstObject[det.subShapeNum];
711 S32 end = start + shape->subShapeNumObjects[det.subShapeNum];
712 for ( S32 j = start; j < end; j++ )
713 {
714 const TSShape::Object &obj = shape->objects[j];
715 const TSMesh* mesh = ( od < obj.numMeshes ) ? shape->meshes[obj.startMeshIndex + od] : NULL;
716 if ( mesh )
717 mColMeshes++;
718 }
719 }
720 }
721}
722
723void GuiShapeEdPreview::updateSun()
724{

Callers 7

ShapeEditorFunction · 0.80
shapeEditor.ed.csFile · 0.80
ShapeEditorFunction · 0.80
shapeEditor.ed.csFile · 0.80

Calls 8

setMaterialListMethod · 0.80
initNodeTransformsMethod · 0.80
initMeshObjectsMethod · 0.80
startsWithMethod · 0.80
getShapeMethod · 0.45
setSizeMethod · 0.45
sizeMethod · 0.45
getNameMethod · 0.45

Tested by

no test coverage detected