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

Method refreshShape

Engine/source/gui/editor/guiShapeEdPreview.cpp:736–779  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

734}
735
736void GuiShapeEdPreview::refreshShape()
737{
738 if ( mModel )
739 {
740 // Nodes or details may have changed => refresh the shape instance
741 mModel->setMaterialList( mModel->mMaterialList );
742 mModel->initNodeTransforms();
743 mModel->initMeshObjects();
744
745 TSShape* shape = mModel->getShape();
746
747 mProjectedNodes.setSize( shape->nodes.size() );
748
749 if ( mSelectedObject >= shape->objects.size() )
750 {
751 mSelectedObject = -1;
752 mSelectedObjDetail = 0;
753 }
754
755 // Re-compute the collision mesh stats
756 mColMeshes = 0;
757 mColPolys = 0;
758 for ( S32 i = 0; i < shape->details.size(); i++ )
759 {
760 const TSShape::Detail& det = shape->details[i];
761 const String& detName = shape->getName( det.nameIndex );
762 if ( ( det.subShapeNum < 0 ) || !detName.startsWith( "collision-" ) )
763 continue;
764
765 mColPolys += det.polyCount;
766
767 S32 od = det.objectDetailNum;
768 S32 start = shape->subShapeFirstObject[det.subShapeNum];
769 S32 end = start + shape->subShapeNumObjects[det.subShapeNum];
770 for ( S32 j = start; j < end; j++ )
771 {
772 const TSShape::Object &obj = shape->objects[j];
773 const TSMesh* mesh = ( od < obj.numMeshes ) ? shape->meshes[obj.startMeshIndex + od] : NULL;
774 if ( mesh )
775 mColMeshes++;
776 }
777 }
778 }
779}
780
781void GuiShapeEdPreview::updateSun()
782{

Callers 1

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