本文整理汇总了C++中NotifyDependents函数的典型用法代码示例。如果您正苦于以下问题:C++ NotifyDependents函数的具体用法?C++ NotifyDependents怎么用?C++ NotifyDependents使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了NotifyDependents函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的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
示例16: SetNode
void MorphByBone::fnSetExternalNode(INode *node, const TCHAR *name,INode *exnode)
{
int whichBone = this->GetBoneIndex(node);
int whichMorph = this->GetMorphIndex(node,name);
SetNode(exnode,whichBone,whichMorph);
NotifyDependents(FOREVER, PART_ALL, REFMSG_CHANGE);
GetCOREInterface()->RedrawViews(GetCOREInterface()->GetTime());
UpdateLocalUI();
}
开发者ID:innovatelogic,项目名称:ilogic-vm,代码行数:10,代码来源:MorphByBonePublishedFunctions.cpp
示例17: NotifyDependents
void Jiggle::SetMass(float mass, bool update)
{
partsys->GetParticle(0)->SetMass(mass);
partsys->Invalidate();
if (update)
{
NotifyDependents(FOREVER, (PartID)PART_ALL, REFMSG_CHANGE);
if(ip) ip->RedrawViews(ip->GetTime());
}
}
开发者ID:artemeliy,项目名称:inf4715,代码行数:10,代码来源:jigglefunctions.cpp
示例18: NotifyDependents
void UnwrapMod::fnShowVertexConnectionList()
{
if (showVertexClusterList)
showVertexClusterList = FALSE;
else showVertexClusterList = TRUE;
NotifyDependents(FOREVER,PART_SELECT,REFMSG_CHANGE);
InvalidateView();
}
开发者ID:2asoft,项目名称:xray,代码行数:10,代码来源:ToolUnfold.cpp
示例19: NotifyDependents
void RendSpline::BeginEditParams( IObjParam *ip, ULONG flags,Animatable *prev )
{
this->ip = ip;
ip->EnableShowEndResult(FALSE);
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);
RendSplineDesc.BeginEditParams(ip, this, flags, prev);
// pointcache_param_blk.SetUserDlgProc(new PointCacheParamsMapDlgProc(this));
paramDlgProc = new RendSplineParamsMapDlgProc(this);
rendspline_param_blk.SetUserDlgProc(paramDlgProc);
}
开发者ID:innovatelogic,项目名称:ilogic-vm,代码行数:19,代码来源:rendspline.cpp
示例20: NotifyDependents
// This is called as the user ends a strokes when the users has it set to always update
BOOL PaintDeformTest::EndStroke()
{
//accept hold
NotifyDependents(FOREVER, PART_GEOM, REFMSG_CHANGE);
theHold.Accept(_T(GetString(IDS_PW_PAINT)));
//since this changes the mesh we need to update the mesh
pPainter->UpdateMeshes(TRUE);
return TRUE;
}
开发者ID:vasilenkomike,项目名称:xray,代码行数:11,代码来源:PaintDeformTestPainterInterface.cpp
注:本文中的NotifyDependents函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论