Ejemplo n.º 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;
}
Ejemplo n.º 2
0
void SymmetryMod::EndEditParams (IObjParam *ip,ULONG flags,Animatable *next) {
	mp_ip = NULL;

	TimeValue t = ip->GetTime();
	// NOTE: This flag must be cleared before sending the REFMSG_END_EDIT
	ClearAFlag(A_MOD_BEING_EDITED);
	NotifyDependents(Interval(t,t), PART_ALL, REFMSG_END_EDIT);
	NotifyDependents(Interval(t,t), PART_ALL, REFMSG_MOD_DISPLAY_OFF);

	// Eliminate our command modes.
	ip->DeleteMode(mp_moveMode);
	ip->DeleteMode(mp_rotMode);
	ip->DeleteMode (mp_scaleMode);
	ip->DeleteMode (mp_nuScaleMode);
	ip->DeleteMode (mp_squashMode);
	if ( mp_moveMode ) delete mp_moveMode;
	mp_moveMode = NULL;
	if ( mp_rotMode ) delete mp_rotMode;
	mp_rotMode = NULL;
	if ( mp_scaleMode ) delete mp_scaleMode;
	mp_scaleMode = NULL;
	if ( mp_nuScaleMode ) delete mp_nuScaleMode;
	mp_nuScaleMode = NULL;
	if ( mp_squashMode ) delete mp_squashMode;
	mp_squashMode = NULL;

	// For PB2 we ask the ClassDesc2 to take care of the EndEditParams - NH
	symDesc.EndEditParams(ip,this,flags,next);
}
Ejemplo n.º 3
0
void MirrorMod::EndEditParams(
		IObjParam *ip,ULONG flags,Animatable *next)
	{
	this->ip = NULL;
	editMod  = NULL;

	TimeValue t = ip->GetTime();

	// NOTE: This flag must be cleared before sending the REFMSG_END_EDIT
	ClearAFlag(A_MOD_BEING_EDITED);

	NotifyDependents(Interval(t,t), PART_ALL, REFMSG_END_EDIT);
	NotifyDependents(Interval(t,t), PART_ALL, REFMSG_MOD_DISPLAY_OFF);

	ip->DeleteMode(moveMode);
	ip->DeleteMode(rotMode);
	ip->DeleteMode(uscaleMode);
	ip->DeleteMode(nuscaleMode);
	ip->DeleteMode(squashMode);	
	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;

	DestroyCPParamMap(pmapParam);
	}
Ejemplo n.º 4
0
void ExtrudeMod::EndEditParams( IObjParam *ip, ULONG flags,Animatable *next)
	{
	this->ip = NULL;
	editMod = NULL;
	
	TimeValue t = ip->GetTime();

	ClearAFlag(A_MOD_BEING_EDITED);
	NotifyDependents(Interval(t,t), PART_ALL, REFMSG_END_EDIT);
	NotifyDependents(Interval(t,t), PART_ALL, REFMSG_MOD_DISPLAY_OFF);

	DestroyCPParamMap(pmapParam);

	// Save these values in class variables so the next object created will inherit them.
	pblock->GetValue(PB_AMOUNT,ip->GetTime(),dlgAmount,FOREVER);
	pblock->GetValue(PB_SEGS,ip->GetTime(),dlgSegs,FOREVER);
	if (dlgSegs<1) dlgSegs = 1;
	pblock->GetValue(PB_CAPSTART,ip->GetTime(),dlgCapStart,FOREVER);
	pblock->GetValue(PB_CAPEND,ip->GetTime(),dlgCapEnd,FOREVER);
	pblock->GetValue(PB_CAPTYPE,ip->GetTime(),dlgCapType,FOREVER);
	pblock->GetValue(PB_OUTPUT,ip->GetTime(),dlgOutput,FOREVER);
	pblock->GetValue(PB_MAPPING,ip->GetTime(),dlgMapping,FOREVER);
	pblock->GetValue(PB_GEN_MATIDS,ip->GetTime(),dlgGenMatIDs,FOREVER);
	pblock->GetValue(PB_USE_SHAPEIDS,ip->GetTime(),dlgUseShapeIDs,FOREVER);
	pblock->GetValue(PB_SMOOTH,ip->GetTime(),dlgSmooth,FOREVER);
	}
void UnwrapMod::fnRegularMapStartNewCluster(INode *node, int faceIndex)
{

	MeshTopoData *md = NULL;
	for (int ldID = 0; ldID < mMeshTopoData.Count(); ldID++)
	{
		if (node == mMeshTopoData.GetNode(ldID))
			md = mMeshTopoData[ldID];
	}


	bool recomputeLocalData = false;
	if (md != mRegularMap.GetLocalData())
		recomputeLocalData = true;


	theHold.Begin();
	mRegularMap.Hold(recomputeLocalData);
	ClearAFlag(A_HELD);
	HoldPointsAndFaces();	
	theHold.Accept(GetString(IDS_UNFOLDMAP));

	if (recomputeLocalData)
		mRegularMap.Init(this,md);

	mRegularMap.StartNewCluster(faceIndex);
	fnFit();
}
Ejemplo n.º 6
0
void BombMod::EndEditParams( IObjParam *ip, ULONG flags,Animatable *next )
	{	
	// aszabo|feb.05.02
	TimeValue t = ip->GetTime();
	ClearAFlag(A_MOD_BEING_EDITED);
	NotifyDependents(Interval(t,t), PART_ALL, REFMSG_END_EDIT);
	NotifyDependents(Interval(t,t), PART_ALL, REFMSG_MOD_DISPLAY_OFF);
	}
Ejemplo n.º 7
0
void SmoothMod::EndEditParams( IObjParam *ip, ULONG flags,Animatable *next) {
   ClearAFlag (A_MOD_BEING_EDITED);
   TimeValue t = ip->GetTime();
   NotifyDependents(Interval(t,t), PART_ALL, REFMSG_END_EDIT);

   smoothDesc.EndEditParams (ip, this, flags, next);
   theSmoothDlgProc.SetMod (NULL);
}
Ejemplo n.º 8
0
int BlobMesh::RenderEnd(TimeValue t)
{
	ClearAFlag(A_RENDER);
	inRender = FALSE;
	ivalid.SetEmpty();
	NotifyDependents(FOREVER,PART_ALL,REFMSG_CHANGE);
	return 0;

}
Ejemplo n.º 9
0
int ParticleMesherObject::RenderEnd(TimeValue t)
   {
   ClearAFlag(A_RENDER);
   lastTime = t - 99999;
   ivalid.SetEmpty();
   NotifyDependents(FOREVER,PART_ALL,REFMSG_CHANGE);
   return 0;

   }
Ejemplo n.º 10
0
void LuxCam::EndEditParams( IObjParam *ip, ULONG flags, Animatable *next)
{
	GetLuxCamDesc()->EndEditParams(ip, this, flags, next);

	TimeValue t = ip->GetTime();
	ClearAFlag(A_MOD_BEING_EDITED);
	NotifyDependents(Interval(t,t), PART_ALL, REFMSG_END_EDIT);
	NotifyDependents(Interval(t,t), PART_ALL, REFMSG_MOD_DISPLAY_OFF);
}
Ejemplo n.º 11
0
void EChamferMod::EndEditParams (IObjParam *ip,ULONG flags,Animatable *next) {
	TimeValue t = ip->GetTime();
	// NOTE: This flag must be cleared before sending the REFMSG_END_EDIT
	ClearAFlag(A_MOD_BEING_EDITED);
	NotifyDependents(Interval(t,t), PART_ALL, REFMSG_END_EDIT);
	NotifyDependents(Interval(t,t), PART_ALL, REFMSG_MOD_DISPLAY_OFF);

	// For PB2 we ask the ClassDesc2 to take care of the EndEditParams - NH
	echamferDesc.EndEditParams(ip,this,flags,next);
}
Ejemplo n.º 12
0
void ProjectionHolderUVW::EndEditParams( IObjParam *ip, ULONG flags,Animatable *next)
{
	ProjectionHolderUVWDesc.EndEditParams(ip, this, flags, next);

	TimeValue t = ip->GetTime();
	ClearAFlag(A_MOD_BEING_EDITED);
	NotifyDependents(Interval(t,t), PART_ALL, REFMSG_END_EDIT);
	NotifyDependents(Interval(t,t), PART_ALL, REFMSG_MOD_DISPLAY_OFF);
	this->ip = NULL;
}
Ejemplo n.º 13
0
void XModifier::EndEditParams( IObjParam *ip, ULONG flags,Animatable *next)
{
	// aszabo|feb.05.02 This flag must be cleared before sending the REFMSG_END_EDIT
	ClearAFlag(A_MOD_BEING_EDITED);
	TimeValue t = ip->GetTime();
	NotifyDependents(Interval(t,t), PART_ALL, REFMSG_END_EDIT);
	//NotifyDependents(Interval(t,t), PART_ALL, REFMSG_MOD_DISPLAY_OFF);

	XModifierDesc.EndEditParams(ip, this, flags, next);
	this->ip = NULL;
}
Ejemplo n.º 14
0
void ApplyVCMod::EndEditParams( IObjParam *ip, ULONG flags,Animatable *next )
{	
	this->ip = NULL;

	TimeValue t = ip->GetTime();
	ip->DeleteRollupPage(hPanel);
	hPanel = NULL;
	ClearAFlag(A_MOD_BEING_EDITED);
 	NotifyDependents(Interval(t,t), PART_ALL, REFMSG_END_EDIT);
	NotifyDependents(Interval(t,t), PART_ALL, REFMSG_MOD_DISPLAY_OFF);
}
Ejemplo n.º 15
0
void PaintDeformTest::EndEditParams( IObjParam *ip, ULONG flags,Animatable *next)
{
	PaintDeformTestDesc.EndEditParams(ip, this, flags, next);
	this->ip = NULL;
	// NOTE: This flag must be cleared before sending the REFMSG_END_EDIT
	ClearAFlag(A_MOD_BEING_EDITED);

	TimeValue t = ip->GetTime();

	NotifyDependents(Interval(t,t), PART_ALL, REFMSG_END_EDIT);
	NotifyDependents(Interval(t,t), PART_ALL, REFMSG_MOD_DISPLAY_OFF);
}
void UnwrapMod::fnRegularMapExpand(int expandBy) 
{
	theHold.Begin();
	mRegularMap.Hold();

	ClearAFlag(A_HELD);
	HoldPointsAndFaces();


	theHold.Accept(GetString(IDS_UNFOLDMAP));

	mRegularMap.Expand((RegularMapExpansions)expandBy);
}
void UnwrapMod::fnRegularMapAdvanceSelected(BOOL singleStep)
{

	
	theHold.Begin();
	mRegularMap.Hold();

	ClearAFlag(A_HELD);
	HoldPointsAndFaces();

	theHold.Accept(GetString(IDS_UNFOLDMAP));

	mRegularMap.Advance(FALSE, FALSE, FALSE, FALSE, TRUE, singleStep);
}
void UnwrapMod::fnRegularMapAdvanceUV(BOOL uPosDir, BOOL vPosDir, BOOL uNegDir, BOOL vNegDir, BOOL singleStep)
{
	
	theHold.Begin();
	mRegularMap.Hold();

	ClearAFlag(A_HELD);
	HoldPointsAndFaces();


	theHold.Accept(GetString(IDS_UNFOLDMAP));

	mRegularMap.Advance(uPosDir, vPosDir, uNegDir, vNegDir, FALSE, singleStep);
}
Ejemplo n.º 19
0
void RelaxMod::EndEditParams( IObjParam *ip, ULONG flags,Animatable *next) {
	this->ip = NULL;
	editMod = NULL;
	
	TimeValue t = ip->GetTime();

	// aszabo|feb.05.02 This flag must be cleared before sending the REFMSG_END_EDIT
	ClearAFlag(A_MOD_BEING_EDITED);
	NotifyDependents(Interval(t,t), PART_ALL, REFMSG_END_EDIT);
	NotifyDependents(Interval(t,t), PART_ALL, REFMSG_MOD_DISPLAY_OFF);

	DestroyCPParamMap(pmapParam);
	pmapParam = NULL;
}
Ejemplo n.º 20
0
void RendSpline::EndEditParams( IObjParam *ip, ULONG flags,Animatable *next)
{
	RendSplineDesc.EndEditParams(ip, this, flags, next);

	TimeValue t = ip->GetTime();

	paramDlgProc = NULL;
	ip->EnableShowEndResult(TRUE);


	ClearAFlag(A_MOD_BEING_EDITED);
	NotifyDependents(Interval(t,t), PART_ALL, REFMSG_END_EDIT);
	NotifyDependents(Interval(t,t), PART_ALL, REFMSG_MOD_DISPLAY_OFF);
	this->ip = NULL;
}
Ejemplo n.º 21
0
int OptMod::RenderEnd(TimeValue t)
	{
	int views, render;
	pblock->GetValue(PB_VIEWS,0,views,FOREVER);
#ifndef NO_OUTPUTRENDERER
	pblock->GetValue(PB_RENDER,0,render,FOREVER);	
#else
	render = views;
#endif
	ClearAFlag(A_RENDER);
	if (views!=render) {
		NotifyDependents(FOREVER,PART_ALL,REFMSG_CHANGE);
		}
	return 0;
	}
Ejemplo n.º 22
0
IOResult TorusObject::Load(ILoad *iload) 
	{
	ClearAFlag(A_PLUGIN1);

	IOResult res;
	while (IO_OK==(res=iload->OpenChunk())) {
		switch (iload->CurChunkID()) {	
			case NEWMAP_CHUNKID:
				SetAFlag(A_PLUGIN1);
				break;
			}
		iload->CloseChunk();
		if (res!=IO_OK)  return res;
		}

	iload->RegisterPostLoadCallback(
		new ParamBlockPLCB(versions,NUM_OLDVERSIONS,&curVersion,this,0));
	return IO_OK;
	}
Ejemplo n.º 23
0
void EditFaceDataMod::EndEditParams (IObjParam *ip,ULONG flags,Animatable *next) {
	if (flags&END_EDIT_REMOVEUI ) {
		if (hParams) {
			ip->DeleteRollupPage(hParams);
			hParams = NULL;
		}
	}

	if (selectMode) {
		ip->DeleteMode(selectMode);
		delete selectMode;
	}
	selectMode = NULL;

	this->ip = NULL;
	editMod  = NULL;

	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);
}
Ejemplo n.º 24
0
void PointHelpObject::EndEditParams(
		IObjParam *ip, ULONG flags,Animatable *next)
	{	
	editOb   = NULL;
	this->ip = NULL;
	pointHelpObjDesc.EndEditParams(ip, this, flags, next);
	ClearAFlag(A_OBJ_CREATING);

	/*
	dlgShowAxis = IsDlgButtonChecked(hParams, IDC_SHOWAXIS );
	ISpinnerControl *spin = GetISpinner(GetDlgItem(hParams,IDC_AXISLENGHSPIN));
	dlgAxisLength = spin->GetFVal();
	ReleaseISpinner(spin);
	if (flags&END_EDIT_REMOVEUI) {
		ip->UnRegisterDlgWnd(hParams);
		ip->DeleteRollupPage(hParams);
		hParams = NULL;
	} else {
		SetWindowLongPtr(hParams,GWLP_USERDATA,0);
		}
	iObjParams = NULL;
	*/
	}
Ejemplo n.º 25
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;
}
void MorphByBone::EndEditParams( IObjParam *ip, ULONG flags,Animatable *next)
{
	editMorph = FALSE;
	MorphByBoneDesc.EndEditParams(ip, this, flags, next);

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

	ip->ClearPickMode();

	ip->DeleteMode(moveMode);	
	if (moveMode) delete moveMode;
	moveMode = NULL;	

	ip->DeleteMode(rotMode);	
	if (rotMode) delete rotMode;
	rotMode = NULL;

	ip->DeleteMode(uscaleMode);
	ip->DeleteMode(nuscaleMode);
	ip->DeleteMode(squashMode);
	ip->DeleteMode(selectMode);

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


	ReleaseICustButton(iEditButton);
	iEditButton = NULL;

	ReleaseICustButton(iNodeButton);
	iNodeButton = NULL;

	ReleaseICustButton(iPickBoneButton);
	iPickBoneButton = NULL;

	ReleaseICustButton(iMultiSelectButton);
	iMultiSelectButton = NULL;


	ReleaseICustButton(iDeleteMorphButton);
	iDeleteMorphButton = NULL;

	ReleaseICustButton(iResetMorphButton);
	iResetMorphButton = NULL;

	ReleaseICustButton(iClearVertsButton);
	iClearVertsButton = NULL;

	ReleaseICustButton(iRemoveVertsButton);
	iRemoveVertsButton = NULL;

	ReleaseICustButton(iGraphButton);
	iGraphButton = NULL;

	ReleaseICustEdit(iNameField);
	iNameField = NULL;

	ReleaseISpinner(iInfluenceAngleSpinner);
	iInfluenceAngleSpinner = NULL;

	


	this->ip = NULL;

	//Defect 727409 If the user turn off the skin morph modifier, we need to get the 
	//localDataList for using the copy/paste mirror option.   
	if(!TestAFlag(A_MOD_DISABLED))
	{
		for (int i = 0; i < localDataList.Count(); i++)
		{
			if (localDataList[i])
				localDataList[i]->FreeConnectionList();
		}
		localDataList.ZeroCount();
	}
	

}
Ejemplo n.º 27
0
void SimpleObject::EndEditParams( IObjParam *ip, ULONG flags,Animatable *next)
	{
	editOb = NULL;
	ClearAFlag(A_OBJ_CREATING);
	}
Ejemplo n.º 28
0
void BendManip::EndEditParams( IObjParam *ip, ULONG flags,Animatable *next)
{
	ClearAFlag(A_OBJ_CREATING);
}