[Ves] Rotate 3D object to the specifeid angles [iOS]

Pat Marion pat.marion at kitware.com
Wed Feb 6 05:25:18 EST 2013


The version of vesKiwiViewerApp in the master branch doesn't provide a way
to access the representations that are loaded via the loadDataset(filename)
method.  You could modify vesKiwiViewerApp to provide an accessor to the
internal representations, or implement your own data loading method.  If
you grab the version from the stage/kiwi-update branch then you'll find an
accessor method dataRepresentations() that returns the list of reps, but
there isn't a mapping from filename to representation object, that logic
would be up to you to implement.  I highly recommend deriving your own app
class based on vesKiwiViewerApp and implement your own data loading methods
so that you have full control over your models, the loadDataset(filename)
is useful for a basic app, but once you do something more advanced you
definitely want to write your own app class.

Pat



On Wed, Feb 6, 2013 at 8:13 PM, shamsudheen <shamsutk87 at gmail.com> wrote:

> Thanks again for the quick reply .
>
> I think , this is what you mentioned.
>
> *vesSharedPtr<vesActor> actor = vesKiwiPolyDataRepresentationPtr.actor();*
> *actor->setRotation(angleAxis);*
>
> However now I'm unable to get *vesKiwiPolyDataRepresentation* pointer.
>
> I have just used   *bool loadDataset(const std::string& filename);* method
> to load my 3D file.this is a* *vesKiwiViewerApp.h class method.
>
> How can I get the *vesKiwiPolyDataRepresentation*  pointer ? could you
> please help on this.
>
> Thanks again for the quick ,professional and effective responds.
>
>
> On Feb 6, 2013, at 3:19 AM, Pat Marion wrote:
>
> Instead of adjusting the camera, you should set a transform on the
> vesActor object associated with your model.
>
> You can access the vesActor from the vesKiwiPolyDataRepresentation for
> your model, if you are using that class in your app.
>
> For example code, please see the implementation of
> vesKiwiDataRepresentation::setTransformOnActor().
>
> Pat
>
> On Wed, Feb 6, 2013 at 7:10 PM, shamsudheen <shamsutk87 at gmail.com> wrote:
>
>> Hi All,
>>
>> I have successfully built the *VES/Kiwi* and have rendered one 3D obj
>>  in to my* iPad* application from a *.obj* file.
>>
>> Im using *vesKiwiViewerApp* in my application.The Gestures are working
>> and the 3D model is rotating well.
>>
>> *Now I would like to rotate my 3D modal/object through programmatically.*
>>
>> I have  to rotate my 3D object to the following angles,, *
>> 30º,60º,90º,120º,150º,180º,210º,240º,270º,300º,330º,360º*
>>
>> So I have wrote the code as below to rotate the  3D object in to 30º
>>
>>      vesVector3f cameraPosition (30, 0, 1);
>>     self->renderer.app->setCameraPosition(cameraPosition);
>>
>> Its rotated.However not exactly to the 30º and the 3D model is zoomed out.
>>
>> My screen size is *(400, 400).*So the console window displayed the
>> following when 3D model renderes
>> *
>> *
>> *resize(400, 399)*
>> *x:0.000000 y:0.000000 z:-1.000000*
>> *x:0.000000 y:0.000000 z:-439.917145*
>> *
>> *
>> So I have set the camera position as
>> *
>>
>> *
>>     vesVector3f cameraPosition (30, 0,-439.917145);
>>     self->renderer.app->setCameraPosition(cameraPosition);
>>
>> Now the zoom is correct and the 3D model is rotated.However not exactly
>> to 30.
>> **
>>
>> *My target is to rotate the object in different angles.how can achieve
>> this?*
>>
>> Is it possible to access the rendered 3D object and set the positions
>> instead of using the camera ?
>>
>> Any help on this is appreciated.
>>
>> Thanks
>>
>>
>>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/ves/attachments/20130206/5083ace7/attachment-0001.html>


More information about the Ves mailing list