Exemple #1
0
void PaintPatchMod::EndEditParams(IObjParam *ip, ULONG flags, Animatable *next)
{
	if (hOpsPanel)
	{
		rsOps = IsRollupPanelOpen(hOpsPanel);
		ip->DeleteRollupPage(hOpsPanel);
		hOpsPanel = NULL;
	}
	
	// Enable show end result
	ip->EnableShowEndResult(TRUE);
	
	CancelEditPatchModes(ip);

	if (ip->GetCommandMode()->ID()==CID_EP_PAINT)
		ip->SetStdCommandMode(CID_OBJMOVE);
	
	TimeValue t = ip->GetTime();
	NotifyDependents(Interval(t, t), PART_ALL, REFMSG_END_EDIT);
	NotifyDependents(Interval(t, t), PART_ALL, REFMSG_MOD_DISPLAY_OFF);
	ClearAFlag(A_MOD_BEING_EDITED);
	
	DeletePatchDataTempData();
	this->ip = NULL;
	
	ip->DeleteMode(paintMode);
	
	if (paintMode)
		delete paintMode;
	paintMode = NULL;
}
Exemple #2
0
void EditPatchMod::EndEditParams(IObjParam *ip, ULONG flags, Animatable *next)
{
    if (hSelectPanel)
    {
        rsSel = IsRollupPanelOpen(hSelectPanel);
        ip->DeleteRollupPage(hSelectPanel);
        hSelectPanel = NULL;
    }
    if (hOpsPanel)
    {
        rsOps = IsRollupPanelOpen(hOpsPanel);
        ip->DeleteRollupPage(hOpsPanel);
        hOpsPanel = NULL;
    }
    if (hSurfPanel)
    {
        rsSurf = IsRollupPanelOpen(hSurfPanel);
        ip->DeleteRollupPage(hSurfPanel);
        hSurfPanel = NULL;
    }
    if (hTilePanel)
    {
        rsTile = IsRollupPanelOpen(hTilePanel);
        ip->DeleteRollupPage(hTilePanel);
        hTilePanel = NULL;
    }
    if (hEdgePanel)
    {
        rsEdge = IsRollupPanelOpen(hEdgePanel);
        ip->DeleteRollupPage(hEdgePanel);
        hEdgePanel = NULL;
    }

    // Enable show end result
    ip->EnableShowEndResult(TRUE);

    CancelEditPatchModes(ip);

    if (ip->GetCommandMode()->ID()==CID_EP_PAINT)
        ip->SetStdCommandMode(CID_OBJMOVE);

    TimeValue t = ip->GetTime();
    NotifyDependents(Interval(t, t), PART_ALL, REFMSG_END_EDIT);
    NotifyDependents(Interval(t, t), PART_ALL, REFMSG_MOD_DISPLAY_OFF);
    ClearAFlag(A_MOD_BEING_EDITED);

    DeletePatchDataTempData();
    this->ip = NULL;

    //	if ( ip->GetCommandMode()->ID() == CID_EP_EXTRUDE ) ip->SetStdCommandMode( CID_OBJMOVE );
    //	if ( ip->GetCommandMode()->ID() == CID_EP_BEVEL ) ip->SetStdCommandMode( CID_OBJMOVE );

    ip->DeleteMode(moveMode);
    ip->DeleteMode(rotMode);
    ip->DeleteMode(uscaleMode);
    ip->DeleteMode(nuscaleMode);
    ip->DeleteMode(squashMode);
    ip->DeleteMode(selectMode);
    ip->DeleteMode(extrudeMode);
    ip->DeleteMode(bevelMode);
    ip->DeleteMode(bindMode);

    if (moveMode)
        delete moveMode;
    moveMode = NULL;
    if (rotMode)
        delete rotMode;
    rotMode = NULL;
    if (uscaleMode)
        delete uscaleMode;
    uscaleMode = NULL;
    if (nuscaleMode)
        delete nuscaleMode;
    nuscaleMode = NULL;
    if (squashMode)
        delete squashMode;
    squashMode = NULL;
    if (selectMode)
        delete selectMode;
    selectMode = NULL;

    if (extrudeMode)
        delete extrudeMode;
    extrudeMode = NULL;

    if (bevelMode)
        delete bevelMode;
    bevelMode = NULL;
    if (bindMode)
        delete bindMode;
    bindMode = NULL;
}