当前位置: 首页>>代码示例>>C++>>正文


C++ NotifyDependents函数代码示例

本文整理汇总了C++中NotifyDependents函数的典型用法代码示例。如果您正苦于以下问题:C++ NotifyDependents函数的具体用法?C++ NotifyDependents怎么用?C++ NotifyDependents使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了NotifyDependents函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: SetAFlag

void TriObject::RescaleWorldUnits(float f) {
	if (TestAFlag(A_WORK1))
		return;
	SetAFlag(A_WORK1);
	for (int i=0; i<mesh.numVerts; i++)
		mesh.verts[i] *= f;	
	mesh.buildBoundingBox();
	NotifyDependents(FOREVER,PART_ALL,REFMSG_CHANGE);
	}
开发者ID:artemeliy,项目名称:inf4715,代码行数:9,代码来源:triobj.cpp

示例2: ApplyPaintWeights

BOOL  BonesDefMod::EndStroke()
	{
	theHold.Restore();
	ApplyPaintWeights(painterData[0].alt, NULL);
	theHold.Accept(GetString(IDS_PW_WEIGHTCHANGE));
	NotifyDependents(FOREVER, GEOM_CHANNEL, REFMSG_CHANGE);
	RebuildPaintNodes();
	return TRUE;
	}
开发者ID:2asoft,项目名称:xray,代码行数:9,代码来源:PainterInterface.cpp

示例3: switch

void MirrorMod::ActivateSubobjSel(int level, XFormModes& modes)
	{
	switch (level) {
		case 1: // Mirror center
			modes = XFormModes(moveMode,rotMode,nuscaleMode,uscaleMode,squashMode,NULL);
			break;		
		}
	NotifyDependents(FOREVER,PART_DISPLAY,REFMSG_CHANGE);
	}
开发者ID:2asoft,项目名称:xray,代码行数:9,代码来源:mirror.cpp

示例4: switch

void PFOperatorMaterialFrequency::SetReference(int i, RefTargetHandle rtarg)
{
	bool doUIRefresh = false;

	switch (i)
	{
	case kMaterialFrequency_reference_pblock:	
		_pblock() = (IParamBlock2*)rtarg;	
		break;
	case kMaterialFrequency_reference_material:	
		_material() = (Mtl *)rtarg;			
		if (updateFromRealMtl()) {
			NotifyDependents(FOREVER, PART_MTL, kPFMSG_UpdateMaterial, NOTIFY_ALL, TRUE);
			NotifyDependents(FOREVER, 0, kPFMSG_DynamicNameChange, NOTIFY_ALL, TRUE);
		}
		break;
	}
}
开发者ID:DimondTheCat,项目名称:xray,代码行数:18,代码来源:PFOperatorMaterialFrequency.cpp

示例5: MoveModBoxCMode

void SymmetryMod::BeginEditParams (IObjParam  *ip, ULONG flags,Animatable *prev) {
	mp_ip = ip;

	// Create sub object editing modes.
	mp_moveMode    = new MoveModBoxCMode(this,ip);
	mp_rotMode     = new RotateModBoxCMode(this,ip);
	mp_scaleMode = new UScaleModBoxCMode (this, ip);
	mp_nuScaleMode = new NUScaleModBoxCMode (this, ip);
	mp_squashMode = new SquashModBoxCMode (this, ip);

	TimeValue t = ip->GetTime();
	NotifyDependents(Interval(t,t), PART_ALL, REFMSG_BEGIN_EDIT);
	NotifyDependents(Interval(t,t), PART_ALL, REFMSG_MOD_DISPLAY_ON);
	SetAFlag(A_MOD_BEING_EDITED);

	// For PB2 we ask the ClassDesc2 to take care of the BeginEditParams
	symDesc.BeginEditParams(ip,this,flags,prev);
}
开发者ID:innovatelogic,项目名称:ilogic-vm,代码行数:18,代码来源:Symmetry.cpp

示例6: ClearAFlag

int BlobMesh::RenderEnd(TimeValue t)
{
	ClearAFlag(A_RENDER);
	inRender = FALSE;
	ivalid.SetEmpty();
	NotifyDependents(FOREVER,PART_ALL,REFMSG_CHANGE);
	return 0;

}
开发者ID:artemeliy,项目名称:inf4715,代码行数:9,代码来源:BlobMesh.cpp

示例7: switch

void FExtrudeMod::ActivateSubobjSel(int level, XFormModes& modes)
	{
	switch (level) {
		case 1: // Points
			modes = XFormModes(moveMode,NULL,NULL,NULL,NULL,NULL);
			break;		
		}
	NotifyDependents(FOREVER,PART_DISPLAY,REFMSG_CHANGE);
	}
开发者ID:artemeliy,项目名称:inf4715,代码行数:9,代码来源:fextrude.cpp

示例8: NotifyDependents

void SolidifyPW::ActivateSubobjSel(int level, XFormModes& modes)
{
	if (ip)
	{
		ip->PipeSelLevelChanged();
		NotifyDependents(FOREVER, PART_SELECT|PART_DISPLAY|PART_SUBSEL_TYPE, REFMSG_CHANGE);
	}

}
开发者ID:innovatelogic,项目名称:ilogic-vm,代码行数:9,代码来源:SolidifyPW.cpp

示例9: ClearAFlag

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

   }
开发者ID:innovatelogic,项目名称:ilogic-vm,代码行数:9,代码来源:particlemesher.cpp

示例10: ClearAFlag

void FExtrudeMod::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);

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

	// For PB2 we ask the ClassDesc2 to take care of the EndEditParams - NH
	fextrudeDesc.EndEditParams(ip,this,flags,next);
}
开发者ID:innovatelogic,项目名称:ilogic-vm,代码行数:18,代码来源:fextrude.cpp

示例11: NotifyDependents

void RelaxMod::BeginEditParams( IObjParam *ip, ULONG flags,Animatable *prev ) {
	this->ip = ip;
	editMod = this;

	TimeValue t = ip->GetTime();
	NotifyDependents(Interval(t,t), PART_ALL, REFMSG_BEGIN_EDIT);
	NotifyDependents(Interval(t,t), PART_ALL, REFMSG_MOD_DISPLAY_ON);
	SetAFlag(A_MOD_BEING_EDITED);

	pmapParam = CreateCPParamMap(
		descParam,PARAMDESC_LENGTH,
		pblock,
		ip,
		hInstance,
		MAKEINTRESOURCE(IDD_RELAX),
		GetString (IDS_PARAMETERS),
		0);
}
开发者ID:innovatelogic,项目名称:ilogic-vm,代码行数:18,代码来源:relax.cpp

示例12: SubAnim

BOOL BaseLimitCtrl::AssignController(Animatable *in_control, int in_subAnim)
{
	if(GetLocked()==false)
	{
		if (in_subAnim == BASELIMIT_LIMITEDCTRL_SUBANIM) {
			Animatable *cont = SubAnim(in_subAnim);
			if(cont&&GetLockedTrackInterface(cont)&&GetLockedTrackInterface(cont)->GetLocked()==true)//the control is locked, don't assign over it.
				return FALSE;
			// Accept and replace the previous limited controller with the new one
			ReplaceReference(SubNumToRefNum(in_subAnim), (RefTargetHandle)in_control);
			NotifyDependents(FOREVER, 0, REFMSG_CHANGE);
			NotifyDependents(FOREVER, 0, REFMSG_SUBANIM_STRUCTURE_CHANGED);
			return TRUE;
		}
		return TRUE;
	}
	return FALSE;
}
开发者ID:innovatelogic,项目名称:ilogic-vm,代码行数:18,代码来源:LimitController.cpp

示例13: NotifyDependents

void ApplyVCMod::BeginEditParams(IObjParam *ip, ULONG flags,Animatable *prev)
{
	this->ip = ip;

	TimeValue t = ip->GetTime();
	NotifyDependents(Interval(t,t), PART_ALL, REFMSG_BEGIN_EDIT);
	NotifyDependents(Interval(t,t), PART_ALL, REFMSG_MOD_DISPLAY_ON);
	SetAFlag(A_MOD_BEING_EDITED);

	hPanel = ip->AddRollupPage(
		hInstance,
		MAKEINTRESOURCE(IDD_VCMOD_PANEL),
		panelDlgProc,
		GetString(IDS_AVCM_PANELTITLE),
		0);

	iValid.SetEmpty();
}
开发者ID:artemeliy,项目名称:inf4715,代码行数:18,代码来源:avcmod.cpp

示例14: DiscardTexHandle

// This is called as the user ends a strokes when the users has it set to always update
BOOL  PainterTextureSample::EndStroke()
	{

	texHandleValid.Empty();
	DiscardTexHandle();
	NotifyDependents(FOREVER, PART_TEXMAP, REFMSG_CHANGE);

	return TRUE;
	}
开发者ID:2asoft,项目名称:xray,代码行数:10,代码来源:PainterTextureSamplePainterInterface.cpp

示例15: NumKeys

void LinkTimeControl::MapKeys(TimeMap *map,DWORD flags)
{
    int n = NumKeys();
    BOOL changed = FALSE;
    if (n)
	{
		fOwner->ActivateSort(false);
		if (flags&TRACK_DOALL) {
				for (int i = 0; i < n; i++) {
						ChangeKeyTime( i, map->map( GetKeyTime(i) ) );
						changed = TRUE;
				}
		} else if (flags&TRACK_DOSEL) {
				BOOL slide = flags&TRACK_SLIDEUNSEL;
				TimeValue delta = 0, prev;
				int start, end, inc;
				if (flags&TRACK_RIGHTTOLEFT) {
						start = n-1;
						end = -1;
						inc = -1;
				}
				else {
						start = 0;
						end = n;
						inc = 1;
				}
				for (int i = start; i != end; i += inc) {
						if ( IsKeySelected(i) ) {
								prev = GetKeyTime(i);
								ChangeKeyTime( i,
										map->map( GetKeyTime(i) ) );
								delta = GetKeyTime(i) - prev;
								changed = TRUE;
								static int a=2;
								if (i!=a)
								{
									int b =0;
									b++;
								}

						}
						else if (slide) {
								ChangeKeyTime( i, GetKeyTime(i) + delta );
								changed = TRUE;
						}
				}
		}
		fOwner->ActivateSort(true);
		if (changed) {
			fOwner->LinkTimeChanged();
			NotifyDependents(FOREVER, PART_ALL,
						REFMSG_CHANGE);
		}
	}
    StdControl::MapKeys(map,flags);
}
开发者ID:artemeliy,项目名称:inf4715,代码行数:56,代码来源:link_timectrl.cpp


注:本文中的NotifyDependents函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。