本文整理汇总了C++中Mat4::setRotZ方法的典型用法代码示例。如果您正苦于以下问题:C++ Mat4::setRotZ方法的具体用法?C++ Mat4::setRotZ怎么用?C++ Mat4::setRotZ使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Mat4
的用法示例。
在下文中一共展示了Mat4::setRotZ方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: setMove
void Object::setMove(const Vector2D &velocity)
{
//var dec
Mat4 mrot;
//set rot
mrot.setRotZ(transform.alpha);
//calc dir
transform.position+=mrot.mul2D(velocity);
//send info
change();
}
示例2: build
void Emitter::build()
{
//restart
mesh->restart();
//texture?
if(!getTexture()) return;
//add particles
for(Particle* p=active.getLast();p;p=p->prev)
{
Mat4 model;
model.setRotZ(p->spin);
model[12]=p->pos.x;
model[13]=p->pos.y;
model.addScale(p->scale);
//
mesh->addMesh(model,getTexture()->getPO2Sprite(),p->color);
}
}
示例3: setPosition
void Object::setPosition(const Vector2D &position,bool global)
{
if( !global || !parent || !(parentMode & ENABLE_POSITION))
transform.position=position;
else
{
Vector2D newposition;
switch (parentMode)
{
//rotation
default:
{
//get word position
Mat4 wordPos;
Transform2D toWord;
computeMatrix(toWord, wordPos);
wordPos.inverse();
newposition=wordPos.mul2D(position);
if(!(parentMode & ENABLE_SCALE))
newposition/=getGlobalParentScale();
}
break;
//no rotation
case ENABLE_POSITION:
case ENABLE_POSITION|ENABLE_SCALE:
{
Mat4 pRotation;
pRotation.setRotZ(Angle(Radian(Math::PI2))- parent->getGlobalMatrix().getRotZ());
newposition = pRotation.mul2D( position - parent->getPosition(true)) / getGlobalParentScale();
}
break;
}
transform.position=newposition;
}
change();
}