Picking a Primitive object!

Hi!
I have a problem with picking objects in my Scene that are instances of class Primitive. If I try picking I get this Exception:
"javax.media.j3d.CapabilityNotSetException: Shape3D: no capability to get geometry"
I tried every possible combination of capabilities for my Primitive-object, but the Exception stays... :-(
Picking with Geometry-Nodes for example seems to work, but not with Primitive-Nodes.
It's also confusing me, that he misses any capability of a Shape3D-Node. But I don't have one in relation to my Primitive... Or is there any way to access a Shape3D-Node related to my Primitive?
Does anybody know how to solve this problem?? It's very important for me!!
Greetz!

to pick using geometry you have to set the ALLOW_INTERSECT capability on the object's geometry. Get the geometry from the shape3D and set the capability - adding some example code:
Primitive primitive = new Primitive();  // note you'll have to edit this specific line to create the primitive as you're using it - creating just a primitive isn't going to give you any specific object
Shape3D shape3D = primitive.getShape();
Geometry geometry = shape3D.getGeometry();
geometry.setCapability(geometry.ALLOW_INTERSECT); //now when you pick the object you should get no errors.

Similar Messages

  • Object and reference accessing for primitives, objects and collections

    Hi,
    I have questions re objects, primitives and collection accessing and references
    I made a simple class
    public class SampleClass {
         private String attribute = "default";
         public SampleClass()
         public SampleClass(SampleClass psampleClass)
              this.setAttribute(psampleClass.getAttribute());
              if (this.getAttribute() == psampleClass.getAttribute())
                   System.out.println("INSIDE CONSTRUCTOR : same object");
              if (this.getAttribute().equals(psampleClass.getAttribute()))
                   System.out.println("INSIDE CONSTRUCTOR : equal values");
         public void setAttribute(String pattribute)
              this.attribute = pattribute;
              if (this.attribute == pattribute)
                   System.out.println("INSIDE SETTER : same object");
              if (this.attribute.equals(pattribute))
                   System.out.println("INSIDE SETTER : equal values");
         public String getAttribute()
              return this.attribute;
         public static void main(String[] args) {
    ...and another...
    public class SampleClassUser {
         public static void main(String[] args) {
              SampleClass sc1 = new SampleClass();
              String test = "test";
              sc1.setAttribute(new String(test));
              if (sc1.getAttribute() == test)
                   System.out.println("SampleClassUser MAIN : same object");
              if (sc1.getAttribute().equals(test))
                   System.out.println("SampleClassUser MAIN : equal values");
              SampleClass sc2 = new SampleClass(sc1);
              sc1.setAttribute("test");
              if (sc2.getAttribute() == sc1.getAttribute())
                   System.out.println("sc1 and sc2 : same object");
              if (sc2.getAttribute().equals(sc1.getAttribute()))
                   System.out.println("sc1 and sc2 : equal values");
    }the second class uses the first class. running the second class outputs the following...
    INSIDE SETTER : same object
    INSIDE SETTER : equal values
    SampleClassUser MAIN : equal values
    INSIDE SETTER : same object
    INSIDE SETTER : equal values
    INSIDE CONSTRUCTOR : same object
    INSIDE CONSTRUCTOR : equal values
    INSIDE SETTER : same object
    INSIDE SETTER : equal values
    sc1 and sc2 : equal values
    ...i'm just curios why the last 3 lines are the way they are.
    INSIDE SETTER : same object
    INSIDE SETTER : equal values
    sc1 and sc2 : equal values
    how come while inside the setter method, the objects are the same object, and after leaving the setter method are not the same objects?
    Can anyone point a good book that shows in detail how objects, primitives and collections are referenced, especially when passed to methods. Online reference is preferred since the availability of books can be a problem for me.
    Thanks very much

    You are confusing references with objects.
    This compares two object references:
    if( obj1 == obj2 ) { // ...Whereas this compares two objects:
    if( obj1.equals(obj2) ) { // ...A reference is a special value which indicates where in memory two objects happen to be. If you create two strings with the same value they won't be in the same place in memory:
    String s1 = new String("MATCHING");
    String s2 = new String("MATCHING");
    System.out.println( s1 == s2 ); // false.But they do match:
    System.out.println( s1.equals(s2) ); // trueIf you're using a primitive then you're comparing the value that you're interested in. E.g.
    int x = 42;
    int y = 42;
    System.out.println(x == y); // trueBut if you're comparing references you're usually more interested in the objects that they represent that the references themselves.
    Does that clarify matters?
    Dave.

  • Why is the Integer wrapper class object and primitive object equal ?

    This is my code :
    package obectorientation;
    public class oo3 {
         public static void main(String[] args) {
              int x=1; float y=1.0F;
              int x1=1;
                                    Integer y1= new Integer(1);
              if(x1==y1)
                   System.out.println("Equal");
              else
                   System.out.println("NOT Equal");
    O/P : EqualMy question is why are x1 and y1 equal ? Won't y1 be a different object and x1 just a primitive variable ?
    Thanks in Advance.

    Specifically, it's because y1 gets unboxed before the comparison. What's really happening is effectively: if ( x1 == y1.intValue() )

  • Picking point on object

    Hi,
    maybe I'm to stupid or I'm looking just in the wrong places.
    I got a 3D scene containing 1 object... now I want to change the point which is the center of my rotation. A click in the scene shall define around which point the object shall rotate.
    I now want to get the point where a ray casted from the point I've clicked hits the object. So that the choosen point is on the surface of this object.
    Maybe someone could point me to any source where I can find info about getting the point on a surface by picking.
    Even better would be if someone could give me a brief example.
    Thanx!

    I have some code that may help:
    from J3D.org
    public static PickRay createPickRay(Canvas3D canvas, int x, int y)
    Point3d eye_pos = new Point3d();
    Point3d mouse_pos = new Point3d();
    canvas.getCenterEyeInImagePlate(eye_pos);
    canvas.getPixelLocationInImagePlate(x, y, mouse_pos);
    Transform3D motion = new Transform3D();
    canvas.getImagePlateToVworld(motion);
    motion.transform(eye_pos);
    motion.transform(mouse_pos);
    Vector3d direction = new Vector3d(mouse_pos);
    direction.sub(eye_pos);
    return new PickRay(eye_pos, direction);
    Given three points in a plane, a camera point Cp, and a camera vector Cv,
    calculate the intersection of the line (defined by passing through the camera point
    and parallel to the camera vector) and the plane
    (defined by the three points p1, p2, p3)
    public static Point3d getIntersection(Point3d p1, Point3d p2, Point3d p3,
    Tuple3d Cp, Tuple3d Cv )
    // normal vector to plane
    // n = (p2-p1)X(p3-p1)
    Vector3d v1 = new Vector3d(p1);
    Vector3d v2 = new Vector3d(p2);
    Vector3d v3 = new Vector3d(p3);
    v3.sub(v1);
    v2.sub(v1);
    Vector3d n = new Vector3d();
    n.cross(v2,v3);
         // parameter for the parametric equation of a line
    // t = ( n.p1 - n.Cp ) / n.Cv
         double t = ( n.dot(v1) - n.dot(new Vector3d(Cp)) ) / n.dot(new Vector3d(Cv));
         // plug parameter t into parametric equation for camera line of sight
    Point3d lineIntersect = new Point3d();
         lineIntersect.x = Cp.x + Cv.x * t;
         lineIntersect.y = Cp.y + Cv.y * t;
         lineIntersect.z = Cp.z + Cv.z * t;
         return lineIntersect;
    Then the above two methods are called from my mouseClicked method (when user clicks on canvas3D, given MouseEvent m)
    Canvas3D canvas = (Canvas3D)m.getSource();
    Point3d cameraPosition = new Point3d();
    Vector3d cameraVector = new Vector3d();
    PickRay ray = createPickRay(canvas, m.getX(), m.getY());
    SceneGraphPath pickedPath = locale.pickClosest(ray);
    Node pickedNode = pickedPath.getObject();
    ray.get(cameraPosition, cameraVector);
    // three arbitrary points from the face you want to intersect
    // I wanted to intersect the xy plane
    Point3d p1 = new Point3d(0,0,0);
    Point3d p2 = new Point3d(1,0,0);
    Point3d p3 = new Point3d(0,1,0);
    Point3d intersect = getIntersection(p1, p2, p3, cameraPosition, cameraVector);
    Let me know if this helps!

  • Pick up metal objects with zen micro headphones? battery life with firmware 1.02

    hey all
    just purchased my zen micro couple days ago.
    the package we got here in downunder is satifying. included were the wired remote and also the stand/case with belt clip. these were the only reasons that made me choose this over the ipod mini.
    this has not occurred to me until tonight, but the headphones seems to act as magnets and were stuck to each other as the phones were dangling
    i never noticed this happening with other phones
    also the battery life of my zen was horrendous. its lasted 5 hrs with eq and smart volume on. the zen was on hold the whole time as the actions were controlled by the wired remote.
    this was with the firmware that was shipped with the player .0.03 i believe
    have just updated the firmware now, and will be testing the battery life to see if the problem is rectified.
    if not, then an exhange for an ipod is inevitable.

    Yep, SV is a battery killer, around a 50% drop in life has been meaured and the effect is known to be pretty negligible.
    And as others have said, them headphones have magnets in, like pretty much any speaker

  • Object Serialization(Materialization and Dematerialization)

    I've encountered some issues with mapping my objects to an RDBMS and am hoping for some advice.
    I've tried various O/R mapping frameworks like Castor(too complex and too slow for my liking), JRF(nice but very repetitive and difficult to extend) and then some, but have yet to find one which I'm comfortable with building an application on.
    Instead, I've chosen to do it the low-tech way, with each domain class, say Book for instance, having a Broker class which knows how to communicate with the chosen form of persistence. So, since I chose an RDBMS, Book class has a BookRelationalBroker class which knows how to materialize and dematerialize Book objects to and from a RDBMS. If so required, I can plug in a BookXMLBroker which knows how to serialize the object in the form of an xml data file.
    I've also implemented a primitive object caching system which (when enabled), caches objects requested so we only have to materialize it from the db once.
    Here are 2 issues I have with my system:
    It is amazingly tedious (not to mention inefficient) to recreate the entire object from the database. This is even more so because I've implemented the Event Notification pattern, such that when say a book is deleted, the members who have reserved it are notified. The whole point of the Event Notification mechanism is so that the object being watched does not need to know of the objects which need to be notified on a state change. However, I've found it necessary to re-attach all the listeners on an object when it is materialized from the DB, defeating the purpose of the pattern.
    Complex object relationships are mapped poorly and recursive materialization leads to slow response times. If a Group object has a Vector of Members and other Groups, then whenever a Group object is materialized, all its constituent Members and Group objects also need to be materialized. (I understand O/R frameworks solve this through lazy instantiation)
    I studied the Jive2 architecture and found that they approached this problem by accessing the DB directly for any complex object relationships. In other words, the Group object does not actually contain a Vector of Members and Groups. Instead, it has a method called say getMembers() which proceeds to retrieve the necessary data from the DB and then materialize these objects.
    I'm not too excited about this approach for 2 reasons:
    How object-oriented is this approach? Seems more like database-oriented programming to me.
    Every call to retrieve Members necessitates a call to the DB. The data isn't cached with the Group object because the Group object does not actually contain the necessary reference to the Members and Groups.
    Can anyone shed some light on this topic?

    How object-oriented is this approach? Seems more like database-oriented programming to me. There is a reason people still use Relational databases rather than OO DBs. First, is that the vast majority of data in the real world maps easily to a relational model, consequently there is no advantage to a OO model. Second, either because of this or simply because OO models are not computationally simple, OO databases tend to be slower than relational DBs.
    It sounds like you are trying to implement a OO DB model using a relational database. So you basically end up with two problems. The DB is not optimized for OO models, and you have to find a way to map it in the OO model itself. And this is slow and messy.
    To solve the slowness problem you could, just like EJB servers, cache the data in memory. Lot of work but if you want to do it then have fun.
    The second way is to give up. Realize that your data model is not inherently OO'd and just implement it efficiently as a relational model. Then provide an interface that loads it into the OO model. And where needed add pass through logic to allow the database itself to do things it is really good at - like queries.

  • BI Content collecting objects from wrong/old source system??

    Hi Gurus! Lovely day here on the westcoast of Sweden - springtime is coming!
    I have selected an infosource for installation in trx RSOR. I also want to pick up some objects in the dataflow before and after that specific infosource. So I guess the system keeps trying to collect metadata from diffrerent source systems that we have assigned.
    I don't know the complete history of the systems - other than it's a bloody mess. We have right now a ECC 6 system connected to BI - but before that we had an older version connected (I guess 4.x something) on a diffrerent server.
    Somehow the collection process picks up some data from the ECC 6 system - but sometimes it asks for a login to the old system as well.
    This is my problem. I don't have an issue with logging on to the old system - because I have all the necessary rights to do that. But I don't want BI trying to collect metadata from our old system. So somewhere there's a pointer of some sort to the old system that I need to delete....
    The old system is not visible in the "source system assignment" view so I can't really find out where to change this settings....
    Any ideas??

    It's probably so. Would I still carry out the instructions Andreas gave me for checking this? Or should I just delete everything and do it all over again, just to get the connections straightened out?
    I'm more or less the only one at  this point using the system - as it is a kind of sandbox environment. So extreme measures is not a problem

  • Does Crystal Report XI R2 comes with Crystal Data Object (CDO)

    Hi,
    Does anyone knows if installation of crystal reports include Crystal Data Object (CDO) ? From the article(http://www.dataaccess.com/kbasepublic/KBPrint.asp?ArticleID=2183) it seems like it doesn't comes with the standard installation package in Crystal Report XI R2. Please advise. Thanks =)
    Regards.

    You need to pick "Crystal Data Objects" from the list of Data Access options offered by Crystal Reports when you are installing it -- that item is not selected by default.
    To add that to your machine:
    - Open Add/Remove Programs
    - Select Crystal Reports 11 and click on the Change button
    - Expand the tree under "Data Access"
    - Select "Crystal Data Objects" and click on it
    - Select it to be installed -- you will probably need your Crystal Reports CD to proceed with the installation.
    Ludek

  • Tool or  idea wanted...how to remove an object in a frame

    After Effects. CC2014.xxx
    Yesterday I effectively removed a small skin mole on a close up of a hand ( in movement) by using Simple wireframe Tool. ( and key frames)
    EAsy as it was at the time... I wondered if there was a better tool or technique to do this but it actually only took me  5 minutes for the 4 second clip anyway. And it was perfect.
    Now I want to remove a wrist watch from a mans wrist ( medium shot with tilt up). Objective is to show him with a bare wrist.  ( food factory hygiene issue !!!)
    There is movement of the wrist as in picking up an object ( a biscuit on a conveyor belt)  from  foreground,  and lifting it up slightly to show to camera.
    Thoughts and ideas wanted  please.
    I cant imagine "painting and restoring it".

    Image sequence represented in these three frames.

  • Putting a Class Object into a Vector

    HI all
    I need to put a class object into another classes vector, then be able to read it and retrieve data.
    I can put the object into the vector but all i seem to be able to retrieve is data like Account@2343c2.
    Is this some sort of tag? How do i get to the data?
    thankz
    joey

    That's what you get when you print an object which does not have its own toString() method to do anything different - it picks up the Object class's toString method instead. For example:
    System.out.println(new Object());It sounds like you're doing something like this:
    Vector v = new Vector();
    v.add(new Account(42));If you were to do the following, you would see that sort of output:
    System.out.println(v.get(0));The appropriate way to do this would be something like the following:
       // Use a List reference instead of a Vector reference, and create
       // an ArrayList object in preference to a Vector object
       List list = new ArrayList();
       list.add(new Account(42));
       // Iterate through the list of accounts - use an
       // iterator because this prevents off-by-one errors
       // that arise with direct indexing.
       Iterator i = list.iterator();
       while(i.hasNext()) {
          // Cast the reference returned by the iterator from
          // Object to Account so that we can call account-specific
          // methods.
          Account current = (Account)i.next();
          // Call the method specific to the Account class (getBalance
          // is just an example that I made up).
          System.out.println(current.getBalance());
       }

  • Best Practices for many Remote Objects?

    Large Object Model doing JDBC over RMI
    Please read the following and provide suggestions for a recommended approach or literature that covers this area well?
    N-Tiered Architecture
    JSP/Servlet (MVC) - Database Access Layer - Database
    Applets - JSp/Servlet Engine - Database Access Layer - Database
    Application Layer - Application Layer - Database Access Layer - Database
    I have an object model developed using Torque (A JDBC Object Relational modeling framework) for over 100 tables (to be over 160) that I am commencing to enable over RMI. I have got several remote methods up and running. For some of the simple methods starting up has been easy. Going forward I forsee issues.
    Each table has a wrapper or data object and a peer object that have setters/getters and special methods as desired. The majority of these classes are extended from Base Objects that have basic common functionality for retrieving, creating, and manipulating with a database using SQL.
    I have started building a Remote Interface and an Implementation class that invoke the necessary methods and classes within the Object Model to pull successfully off or update the database. Additionally the methods will need to return objects that represent non-primitive serializable dataobjects and collections of objects.
    Going forward client applications, servlets, and jsps will be using the database in more complex and comprehensive methods over rmi. Here are a couple of things I am concerned about.
    1) When to use java.rmi.server.codebase for class loading? In my implementation several of the remote methods will return objects (e.g Party, Country, CountryList, AccountList). These objects themselves are composed of other objects that are not part of the jvm. For all remote methods that return non-primitive objects must you include the classes in the codebase for the client to operate upon them. Couldn't this be pointless as you have abstract and extended classes all residing within the codebase? In practice do people generally build very thin proxy objects for the peer/data objects to hold just the basic table elements and sets?
    2) Server Versioning/Identity - Going forward more server classes will be enabled via rmi. Everytime one wants to include more methods on interface that is available must you update the interface, create new implementation classes, and redistribute the Remote Interface, and stubs/skels to client apps to operate on again? Is there some sort of list lookup that a client can do to say which processes are available remotely presently (not just at initialization)? As time changes more or fewer methods might be available?
    Any help is greatly appreciated.

    More on Why other approaches would be better?
    I have implemented some proxy objects for the remote Data Objects produced by Torque. To ease the pain, I have also constructed a proxy Builder that takes the table schema and builds a Proxy Object, an inteface for the proxy, and methods to copy between the Torque Data Object (which only lives on the server) into the Proxy Object (accessible by client and/or server).
    The generated methods are useable in the object implementing the Remote Interface but are themselves not remoteable. Only the Server would use these methods. Clients can only receive primitives, proxy Objects, or collections of ProxyObjects.
    This seems to be fairly light currently. I had to jump hoops to use Torque and enable remote apps to use the proxy objects. What would be the scaling issues that will come up? Why would EJBs with containers and all kinds of things about such as CMP vs BMP to be concerned with be a better approach?
    Methods can be updated to do several operations verses Torque and return appropriately (transactions). In this implementation the client (Servlet, mini App or App) needs the remote stub and the proxy objects (100 or so) to stand in for the Torque generated Data Objects. A much smaller and lighter set of classes, based on common JDK classes, instead of the torque classes (and necessary abstracts/objects/interfaces/exceptions for Torque).

  • Objects serialization

    Suppose I am serializing a custome object of class
    class Employee implements java.io.Serializable{
    long id;
    String name;
    String department;
    //setter and getter methods for each attribute
    if i am serializing the object of Employee
    Employee key = new Employee();
    key.setId(1000);
    key.setName("xyz");
    key.setDepartment("aaa");
    //using serial binding for key, instead of tuple binding - application requirement
    SerialBinding binding = new SerialBinding(new StoredClassCatalog(db),Employee.class);
    DatabaseEntry keyEntry = new DatabaseEntry();
    binding.objectToEntry(key, keyEntry);
    - what is order of serilization, represented by byte array, of each attribute of object?
    - is the byte array contains first, bytes of id then name and so on?
    - If this object key is used to find the record, will it use entire byte array representation of serialized object to compare or it will first, use byte array representation of 'id' then 'name' and so on... to compare

    I don't want to use custom tuple binding for custom
    objects as any arbitrary objects can be stored in
    database. In this case which binding I should use. It
    seems that TupleBinding supports only java primitive
    objects.I don't understand why you're using arbitrary objects for keys. If you do that, I don't know of any way to get a meaningful sort order. So you might as well use SerialBinding.
    If you can think of a way to use arbitrary objects for keys and implement a binding that provides a meaningful sort order, for your application at least, please do so. You are free to implement the EntryBinding and EntityBinding interfaces in any way you choose. It is up to you.
    Any clue for my query? It is unreasonable for you to expect answers so quickly. I suggest that you read the source code in the com.sleepycat.bind package and try to get answers on your own.
    --mark                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Collecting too many objects for info-object catalog.

    We are on BI 7.0 and I'm collecting info-object catalog for 0FIAR_CHA01 & 0FIAR_KYF01.
    Grouping is set to Only necessary objects.
    Collection Mode is set to Collect Automatically
    Info area & info-object folders are collected.
    There is a Package name shown but no previous transport number listed.
    It is not $tmp.
    What is this indicating?
    No objects are checked in the transport box.
    I manually check the folder levels so everything is checked.
    I create the transport.
    I then go to SE10 and check the transport objects and I see several additional objects in the transport that did not appear in the collector window.
    Example:
       Application Components
       LOIO
       PHIO
    Why were these added to the transport when they did not show on the collection window?
    Your expertise is needed.
    Thanks
    Den

    Hi Dennis ,
    The system is by default picking up all object types.Actaully ideally it should pick up the Info Objects from the same Catalog.
    In Transport connection after you select and move the Info Object catalog for collection ,When you select Package the System is Proposing all Objects as a part of Select Objects for Changing Package.
    Effectively you can click on Change Package Icon and see and for Info Objects you selected only should be present in this selection.
    Package ID is R3TR  anad Object is IOBJ and the object name , Deselect all objects selected and select only your objects. Then it would work.
    This will fix your issue and assign points if it heps
    Raja

  • Java3D Picking Problem

    Hi, I have problem with picking. I have two shapes 3D (for example) and if there are separately (not hidden) picking is OK. But when I rotate them using myMouseRotate or rotation.rotY(angle) so one of them is hiden, it's always pick me only one of them, even it's hidden. I use pickClosest() method. What's wrong?
    Please help me
    pozdrawiam
    Wojtek

    It doesn't work because I need to pick one of this shape. I think that it's something with rotation... Check this simply full code below. Press any key to rotate. At the begining you pick ColorCube and it' ok. But if you rotate 180 degrees you will pick ColorCube again and it's wrong. Additionally if you change "angle = 3.14/2;" to "angle = 3*3.14/2;" you can pick Sphere but can't pick ColorCube.
    How can I solve it?? Maybe when I rotate something is change with direction of pick rays.
    Code - Pick_1.java:
    import com.sun.j3d.utils.picking.*;
    import com.sun.j3d.utils.universe.SimpleUniverse;
    import com.sun.j3d.utils.geometry.*;
    import javax.media.j3d.*;
    import javax.vecmath.*;
    import java.awt.event.*;
    import java.awt.*;
    import com.sun.j3d.utils.behaviors.mouse.*;
    import java.util.Enumeration;
    public class Pick_1 extends MouseAdapter {
         private PickCanvas pickCanvas;
         static double angle = 0.0;
         public class SimpleBehavior extends Behavior{
         private TransformGroup targetTG;
         private Transform3D rotation = new Transform3D();
         // private double angle = 0.0;
         // create SimpleBehavior
         SimpleBehavior(TransformGroup targetTG){
         this.targetTG = targetTG;
         // initialize the Behavior
         // set initial wakeup condition
         // called when behavior beacomes live
         public void initialize(){
         // set initial wakeup condition
         this.wakeupOn(new WakeupOnAWTEvent(KeyEvent.KEY_PRESSED));
         // behave
         // called by Java 3D when appropriate stimulus occures
         public void processStimulus(Enumeration criteria){
         // decode event
         // do what is necessary
         angle += 0.1;
         rotation.rotY(angle);
         targetTG.setTransform(rotation);
         //rotation.set(new Vector3f(-0.1f, 0.0f, 0.0f));
         //targetTG.setTransform(rotation);
         this.wakeupOn(new WakeupOnAWTEvent(KeyEvent.KEY_PRESSED));
         public Pick_1()
         Frame frame = new Frame("Box and Sphere");
         GraphicsConfiguration config = SimpleUniverse.getPreferredConfiguration();
         Canvas3D canvas = new Canvas3D(config);
         canvas.setSize(400, 400);
         SimpleUniverse universe = new SimpleUniverse(canvas);
         BranchGroup group = new BranchGroup();
              TransformGroup objTransform = new TransformGroup();     
         objTransform.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
         objTransform.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
         group.addChild(objTransform);     
         /*      MouseRotate myMouseRotate = new MouseRotate();
         myMouseRotate.setTransformGroup(objTransform);
         myMouseRotate.setSchedulingBounds(new BoundingSphere());
         group.addChild(myMouseRotate);
         MouseTranslate myMouseTranslate = new MouseTranslate();
         myMouseTranslate.setTransformGroup(objTransform);
         myMouseTranslate.setSchedulingBounds(new BoundingSphere());
         group.addChild(myMouseTranslate);
         MouseZoom myMouseZoom = new MouseZoom();
         myMouseZoom.setTransformGroup(objTransform);
         myMouseZoom.setSchedulingBounds(new BoundingSphere());
         group.addChild(myMouseZoom);
         SimpleBehavior myRotationBehavior = new SimpleBehavior(objTransform);
         myRotationBehavior.setSchedulingBounds(new BoundingSphere());
              group.addChild(myRotationBehavior);
         //create a sphere
         Vector3f vector2 = new Vector3f(0.6f, 0.0f, 0.0f);
         Transform3D transform2 = new Transform3D();
         transform2.setTranslation(vector2);
         TransformGroup transformGroup2 = new TransformGroup(transform2);
         Appearance appearance = new Appearance();
         appearance.setPolygonAttributes(
         new PolygonAttributes(PolygonAttributes.POLYGON_LINE,
         PolygonAttributes.CULL_BACK,0.0f));
         Sphere sphere = new Sphere(0.1f,appearance);
         transformGroup2.addChild(sphere);
         objTransform.addChild(transformGroup2);
         // create a color cube
         Vector3f vector = new Vector3f(0.3f, 0.0f, 0.0f);
         Transform3D transform = new Transform3D();
         transform.setTranslation(vector);
         TransformGroup transformGroup = new TransformGroup(transform);
         ColorCube cube = new ColorCube(0.1);
         transformGroup.addChild(cube);
         objTransform.addChild(transformGroup);
         //dodatkowo przesuniecie od razu o 90 stopni
              Transform3D obrot = new Transform3D();
                   angle = 3.14/2;
              obrot.rotY(angle);                                   //!!!!! takie przesuniecie dobrze dziala
         objTransform.setTransform(obrot);                //WIEC O CO CHODZI!!!!!!!!!!!!!!!
         universe.getViewingPlatform().setNominalViewingTransform();
         universe.addBranchGraph(group);
         frame.addWindowListener(new WindowAdapter() {
         public void windowClosing(WindowEvent winEvent) {
         System.exit(0);
         frame.add(canvas);
         pickCanvas = new PickCanvas(canvas, group);
         pickCanvas.setMode(PickCanvas.BOUNDS);
         canvas.addMouseListener(this);
         frame.pack();
         frame.show();
         public static void main( String[] args ) {
         new Pick_1();
         public void mouseClicked(MouseEvent e)
         pickCanvas.setShapeLocation(e);
         PickResult result = pickCanvas.pickClosest();
         if (result == null) {
         System.out.println("Nothing picked");
         } else {
         Primitive p = (Primitive)result.getNode(PickResult.PRIMITIVE);
         Shape3D s = (Shape3D)result.getNode(PickResult.SHAPE3D);
         if (p != null) {
         System.out.println(p.getClass().getName());
         } else if (s != null) {
         System.out.println(s.getClass().getName());
         } else{
         System.out.println("null");
         /*pickCanvas.setShapeLocation(e);
         PickResult result = pickCanvas.pickClosest();
         if (result == null) {
         System.out.println("Nothing picked");
         } else {
         // PickIntersection pi = result.getClosestIntersection(
         pickCanvas.getStartPosition();
         Shape3D s = (Shape3D)result.getNode(PickResult.SHAPE3D);
         System.out.println(s.getClass().getName());
    } // end of class Pick

  • Do we transport  0LOGSYS (Source System) Info Object?

    We are transporting the info objects first time to the quality. when we selected the necessarry objects for the required info objects in transport Organization it also picked 0LOGSYS info object.
    My question is do we transport 0LOGSYS info Object?
    And also it has created a Task number which is a type of repair (Yello color if you see in the main screen of SE09).
    why it has created a repair task?
    Can anybody please explain this?
    Thanks
    Sonu.

    [Hello Sonu,|http://chandranonline.blogspot.com]
    Yes, you can transport 0LOGSYS InfoObject.
    If the current system is not the original system of the object, the object will be assigned to a task of the type repair.
    Repair in Change & Transport System
    The modifications of SAP standard objects.
    Repository objects that are changed in a system other than their original system are entered in repairs. Objects can be transferred from their original system by transports.
    For more info see this [Request Types and Task Types|http://help.sap.com/saphelp_nw04/helpdata/en/19/3f5bf8a4b011d285090000e8a57770/content.htm]
    [Thanks|http://chandranonline.blogspot.com]
    [Chandran|http://chandranonline.blogspot.com]

Maybe you are looking for