3d scene 3d object
Hi all,
I have this problem: I'm creating a functional global variable that creates a 3d scene with x,y,z axes, then updates it adding 110 little 3d spheres. My problem is that when I create the scene with axes the result is a scene node refnum, and so I cannot add to this scene the spheres, because their property is scene object refnum. How could I manage it?
Here's the vi. The main is called Main Test.vi
Thank you!
Luke
Attachments:
ODScaler LabVIEW.zip 118 KB
Instead of having a 3D picture as a terminal on your sub-VI right-click the wire from the axis and select "Create Indocator". then delete the 3D picture on your sub-VI and use the newly-created control instead.
Shane.
Say hello to my little friend.
RFC 2323 FHE-Compliant
Similar Messages
-
3D repousse objects and linking / rotation question
In Photoshop CS5 Ext, I have 4 layers, each with a 3D repousse object on them. I want to somehow link them, so that I can rotate the object as a whole (or the camera), but also want to still be able to manipulate the objects separately (like rotate and position). Is there a way to do this in PS, or does this need to be done in another program like Flash? Tried unsuccessfully using merge 3D, linking, grouping...
Thanks,
JohnThanks Steve for the reply and screenshot.
I see that 3D panel will let me rotate, etc., but it doesn't look like I will be able to rotate objects separately using animation from the timeline, will it? That is another thing I forgot to mention that I want to do, is be able to animate (rotate and move) the objects separately.
Thanks,
John
From: SG... <[email protected]>
To: PSJK2011 <[email protected]>
Sent: Sunday, September 25, 2011 9:37 PM
Subject: 3D repousse objects and linking / rotation question
Re: 3D repousse objects and linking / rotation question created by SG... in Photoshop Windows - View the full discussion
Hi John,
Merging 3D layers should be what you want. When you tried this what failed? If it was that you could only transform all of the objects instead of each separate object, then you'll need to make sure you are using the appropriate 3D tool. The UI needs some work to make this a bit easier to discover.
There are 3D Mesh tools in the 3D panel that allow you to manipulate individual meshes, instead of the whole scene (3D Object tools).
http://forums.adobe.com/servlet/JiveServlet/downloadImage/2-3937802-84277/176-600/3DMeshTo ll.png
regards,
steve
Replies to this message go to everyone subscribed to this thread, not directly to the person who posted the message. To post a reply, either reply to this email or visit the message page: http://forums.adobe.com/message/3937802#3937802
To unsubscribe from this thread, please visit the message page at http://forums.adobe.com/message/3937802#3937802. In the Actions box on the right, click the Stop Email Notifications link.
Start a new discussion in Photoshop Windows by email or at Adobe Forums
For more information about maintaining your forum email notifications please go to http://forums.adobe.com/message/2936746#2936746. -
Hello! The title of this message says it all, really (When I typed the above, I thought that I was typing the actual message, since I had been invited to ask a question). So, can anyone please help with this problem. The plates look as if they have wedges of the spread-type cheeses that can be bought in a circular pack, only they are bigger than those would be on a plate, and black.
With thanks in anticipation,
True To FormI started with 3D in my teens (Amiga Sculpt/Animate 4D 1987) - from a personal perspective I "grew up" with 3d applications.
I have taught Blender (and other 3d application) classes, though, and like any other software it depends a bit on the person. If you have never used a 3d application before, then Blender is relatively easy to pick up. The basic tutorials on Blender Cookie (and many other sites) are easy to follow. Learning 3D is fun, and can also be intimidating at times, because there is so much to learn in terms of scope.
My advice is to pick your battles: the above image is not that hard to recreate in Blender (together with that tutorial) once you understood the basic GUI and handling of Blender.
The funny thing is that when 3D was introduced in Photoshop, I kept thinking and wondering why the developers made it so unintuitive and hard to use. It is quite slow and cumbersome - compared to Cinema 4D, Blender, Max, Lightwave, and so on, Photoshop's 3d always kills me. I just do not want to deal with it - and the quality is well below par compared with the current state of rendering technology. I am not saying it is useless (far from it), just that once you become aware of what is out there, and are dazzled by what even free software such as Blender can pull off, it sort-of becomes a "frog leaves the well" paradigm shift.
Point in case: the above image is completely CG and done in Blender. And if you have a decent Nvidia GPU you can even render on the GPU (many times faster). In the above tutorial the instructor looks around the scene while it is rendering in almost real-time - thanks to Blender's GPU renderer. Change a material, and see it update in almost real-time. Splendid! Compare that to Photoshop's archaic and dead-slow renderer, and you will never want to go back.
Here are the demo reels for 2014 and 2013 to get a basic idea of what Blender is capable of nowadays. It's insane to think this is freely available to anyone! And if you like After Effects: Blender has smoke and fluid sims, as well as a nodal compositor with full 3d scene and object tracking. Passes can be sent to After Effects and Photoshop for further editing. -
Hi there,
Using FCP7.
After compressing a FCP project with Compressor and burning DVDSP with DVDSP, I realized that scenes containing objects or people in rapid movement where showing jerked images.
The slow motion scenes are fine.
I checked the following
settings for DVDSP burning: VBR two pass;
averageBit rate 4,0,
max rate 7,0
1) the self-contained QT that I started with is not showing this problem.
2) the m2v file obtained from compressor (I use preset setting for high quality compression) does not show this problem when I view it with MPEG streamclip
3) I tried to burn directly the QT file with Toast 10 …get same problem if not worse !.
settings for Toast
automatic re-encoding
average rate 4,0 Mbps
max bit rate 8,0 Mbps
MPEG-2
I guess my problem comes from the bit rate I used ?
I am now confused and I am not sure I understood the impact of the bit rate setting on the quality of the resulting DVD, and I believe that using a high bit rate in DVDSP might result in problems for some clients to play the DVD on their player ?
Could it be something else ?
could someone please give me advice ?
Many thanks in advance
IvanI can only think of two possibilities based on the info available:
1. Old DVD player (choking on the bitrate spike)
2. You need to set some compression markers around the scenes while in FCP. This would flag Compressor to pay extra attention to that area. After you output the new clip, I suggest you use the standard High Quality preset (in Compressor) for your program duration e.g., "Highest Quality 90 minute". Don't get creative with the encoding set-up. And ALWAYS used AC-3 audio. -
Printing w/ Scale Width & Height Setting?
With CS4 and CS5.
When I put in a percentage in the Height Box and then Print the InDesign document, InDesign remembers the percentage. But when I put a percentage in the Width Box InDesign does not remember the number, ie, if I put in 98.52% it reverts to 98% in the Width Box. The Height remembers all digits.
Thanks for any one's helpCSS documentation (http://docs.oracle.com/javafx/2.0/api/javafx/scene/doc-files/cssref.html) states:
"JavaFX CSS does not support CSS layout properties such as float, position, overflow, and width. However, the CSS padding and margins properties are supported on some JavaFX scene graph objects. All other aspects of layout are handled programmatically in JavaFX code."
I thought you might be able to do something using the -fx-shape property, but the shape does not affect the size of the button - so that didn't work.
I had more luck with the -fx-graphic property - you could try to enhance the stylesheet below to get what you want.
.root { -fx-background-color: azure; -fx-padding: 20; }
#smurf-button { -fx-graphic: url("http://bluebuddies.com/smurf_fun/smurf_race/jpg/Smurf_Race_100x100.jpg"); -fx-background-color: transparent; }
#smurf-button:hover { -fx-effect: dropshadow( three-pass-box , rgba(184,134,11,0.6) , 20, 0.0 , 0 , 0 ); }
#smurf-button:armed { -fx-effect: innershadow( three-pass-box , rgba(0,200,0,0.6) , 30, 0.0 , 0 , 0 ); }
public class ButtonStyle extends Application {
public static void main(String[] args) throws Exception { launch(args); }
public void start(final Stage stage) throws Exception {
final Button button = new Button();
button.setId("smurf-button");
final Scene scene = new Scene(StackPaneBuilder.create().children(button).build());
scene.getStylesheets().add(this.getClass().getResource("style.css").toExternalForm());
stage.setScene(scene);
stage.show();
} -
Tool Bar too jacked-up for consumer level PDF
Sooner or later 3D interactive will saturate our culture. And Acrobat 3D is a great step, but it is targeted toward engineers and not consumer level marketing.
I want to produce these great PDFs for consumer level product marketing, but the Tool Bar is too feature rich for consumers. The tools are okay, let’s keep them, but the default tool, ROTATE, is just infuriating (not a good thing).
I have been on the creative end of advertising for over 30 years, working with 3D for last ten years, and I do some coding from time to time, so I am not afraid of a challenge. I know this: a picture is worth a thousand words, a moving picture is worth ten thousand words, a 3D interactive needs NO words.
Adobe has taken a giant 3D step with Acrobat, but the company now seems to be pulling away. Broad consumer level acceptance will generate the demand for Acrobat 3D, the engineering market is not big enough by itself. Here is my problem, the TOOL BAR requires an engineering degree, it is far beyond the consumer’s attention span and comprehension. Consumers are not engineers, but they do know how to use a mouse.
So here is my consumer level wish list for Adobe Acrobat 3D:
Remove the TOOL BAR and the RIGHT CLICK SUBMENU entirely from the annotation. When I say "Remove" I want it disabled, and make it not visible on a tool-by-tool basis. Keep the TOOL BAR as part of Acrobat 3D, but I need to manage it for the sake of consumers and my product. I don't want customers seeing it and wondering why they can get a tool to work, or wondering what they are missing because of a grayed-out feature. I want their attention on the product offered in the PDF. (I can NOT do this yet)
Make SPIN the default movement tool and the only tool. (I CAN do this, thanks to this forum and javascript discussions)
I need to restrict the rotation of the SPIN tool from going below the ground plane, and adjust the friction of the SPIN tool, some models move too fast in the environment. (I can NOT do this yet)
The default arrowhead cursor does nothing to promote (set apart, distinguish, or announce) the 3D environment. When a consumer has a cursor over an activated 3D annotation the cursor should communicate that fact. The right cursor for this job is the "move" cursor (looks like the PAN TOOL icon). I need to set the MOVE icon as the default 3D icon (I can NOT do this yet)
Create a 2D layer in front of the 3D scene to place stationary JPGs and TEXT in front of the 3D annotation. This can be useful for placing custom view buttons, ON/OFF buttons, transparency sliders in the scene, or toggling between one or two model render modes or different lighting schemes. (I can NOT do this yet)
As I said before, “remove the RIGHT CLICK SUBMENU entirely” because it is the can of worms as the TOOL BAR. But I do want to be able to customize the RC SUBMENU when a consumer clicks on a part of the 3D model. When they right click, they should get a submenu of features, options, properties that relate to my product offer. (I can NOT do this yet)
And finally, URL connectivity. That RIGHT CLICK SUBMENU has a feature like: make reservation, order this part, add to cart. (I can NOT do this yet)
Now that will accelerate Acrobat 3D. Anybody know how to accomplish these features?
GregOK, in order:
1 - you can disable the toolbar using the 3D annotation's properties, but you cannot disable the context (right-click) menu or edit the entries. You can add buttons to the toolbar to a very limited extent using JS, and can en/disable tools by name, but can't replace the entire thing and can't affect the other dropdowns (like the lighting or rendering menus)
2 - easy with JS, as you already know: runtime.setCurrentTool('Spin');
3 - also possible with JS, but complex to implement as you have to re-write the camera handling functions and do some polar geometry math. There are some examples from Directlight which use a ground-collision script for architectural renders inside a "sky bubble", but the script they use is copyrighted.
4 - we don't give any access to the cursor icons, period.
5 - You can do this in several ways; either with a watermark layer on the PDF, or using a SWF embedded in the 3D scene and some JS to load the SWF as a "scene foreground object". I've covered a lot of this on the Acrobatusers.com tutorials, but will be talking more about it in upcoming shows.
6 - see q1
7 - very commonly-done using JS, and probably the main thing scripts in 3D PDFs are used for. There are "3D order form" examples all over the Web, which use a script to override the default selection handler in the 3D scene, check the name of the mesh node being clicked, and then fire something out to the PDF (such as filling in a form field, opening a document, etc.) - suggest you grab one and poke about inside, as the handlers are all pretty much the same.
It's important to note that the display of a 3D annot is handled by a plugin shipped with Acrobat and Adobe Reader, and this plugin decides what toolbars, menus, etc. appear. Because plugins don't generally expose themselves to each other, you couldn't override the default 3D toolbar even if you wrote a "plugin plugin", and there are no plans to change the customization options (or lack thereof). I agree with you that some of the tools and context items are a little obscure for Joe Public, but they were indeed designed for use by engineers! 3D PDF came about so CAD/CAM data could be exchanged and reviewed, so it was realistic to expect people opening the files were savvy in how to work with 3D models. They've grown to be more public-facing, but even today the vast majority of 3D PDFs are passed from one engineer to another, who both probably use a Space Pilot instead of the toolbar commands. -
How to add layout constraints in CSS?
Is there a way to specify layout constraints in CSS? For example how can I specify that the first column in a GridPane should be aligned right? This can be done programmatically by adding a column constraint to a GridPane, like here:
GridPane gridpane = new GridPane();
ColumnConstraints column = new ColumnConstraints();
column.setHalignment(HPos.RIGHT);
gridpane.getColumnConstraints().add(column);As far as I understand it this is not supported in CSS. In general size and layout is not included in JFX CSS by design:
JavaFX CSS does not support CSS layout properties such as float, position, overflow, and width. However, the CSS padding and margins properties are supported on some JavaFX scene graph objects. All other aspects of layout are handled programmatically in JavaFX code.
This is from: http://download.oracle.com/javafx/2.0/api/javafx/scene/doc-files/cssref.html
This is a bit limiting at times as they are often heavily related. I imagine it was a decision around separation of concerns - I'm not sure yet whether this is a good idea or not.
[url http://download.oracle.com/javafx/2.0/api/javafx/fxml/doc-files/introduction_to_fxml.html]FXML is worth a look at for making layouts as scripts, that non-Java programmers can work with. It doesn't solve the 'style' issue but might go some way to help you.
Cheers,
zonski
Did you find this answer useful? If so, please mark as 'Correct' or 'Helpful'. -
<!--
@page { margin: 2cm }
P { margin-bottom: 0.21cm }
H1 { margin-bottom: 0.21cm }
H1.western { font-family: "Times New Roman", serif }
H1.cjk { font-family: "Lucida Sans Unicode" }
H1.ctl { font-family: "Tahoma" }
-->Review/”wish-list” for JavaFX/NetBeans
The following “wish-list” for JavaFX (1.1) and NetBeans (1.5), was made based on my experience doing three - smaller - projects in JavaFX. I plan to submit these projects (“DestroyerFX”, “AceOfSpadeFX” and “SteamPunkWatch”) to the “JavaFX Coding Challenge” (see “http://www.javafx.com/challenge/”):
- a ”recreate”-method for “CustomNodes” in style of the ”repaint”-method of ”java.awt.Component”. Should force the (re)call of “create”-
method of a “CustomNode”-objects (normally “create” is only called once – the first time the “CustomNode” is drawn).
Useful for “CustomNodes” changing their graphical expression over time, other than what may be expressed by using transformations.
Solutions to the problem (using the existing system) could be:
- reconstruct “CustomNode”'s for each iteration, or when they need to change their graphics. This would force a (re)call to the “create”-
method
- using a “Group” (or “Sequence”) to group different graphical representations/”Nodes”. The “visible”-attributes are manipulated to change
between different representations
- better support in NetBeans for export of projects as executable JAR-files. Useful for people wanting to distribute their application more in
the style of traditional applications
- default-values “http://localhost:8082/servlet/...” in generated *.jnlp files (by NetBeans) should be changed to relative-path “file:.”. This would
make distribution of projects easier.
I don't know if this already is possible in present system, by for instance setting up NetBeans
- merge of Java and JavaFX (-script language). Basically features of JavaFX should be included in Java.
For object-construction-syntax, I suggest some thing like:
(new) MyClass(parm1,parm2, ...) {
attr1: ...,
attr2: ...,
i.e. first the normal Java-constructor is called, hereafter attributes are assigned in JavaFX-style.
JavaFX “bindings” could be a good alternative to “Beans Bindings” (JSR 295).
I think both technologies (object-construction and bindings), would be a great addition to the Java-language, and could prove useful in other
areas than just GUI's.
The JavaFX API should further be accessible from Java
- having a project of mixed Java- and JavaFX-files, I wasn't able to “see” JavaFX-files from Java-files in NetBeans. It would be nice to be able
to do this, since I still consider Java as a better general-purpose language (for larger projects); and people might have older Java-code they
may want to incorporate in their JavaFX-projects. I think, I recall some forums talk about this topic, but the solution isn't obvious anyway
- problems playing sound-clips with the JavaFX “MediaPlayer” (multiple clips are played at the same time in my application). According to
forums, this could be due to the sound-files being placed in JAR-files.
In my projects I “cheated” by using the JavaSE-primtives for this (“javax.sound.sampled”). It would be nice if this could be fixed
- in one of my applications (“DestroyerFX”), I wanted to use dynamic binding of the “Scene” of the central “Stage”-object, allowing the
application to switch between a number of difference “Scene”'s according to functionality and context (“introduction”, “level-up”, actual game
and “final score”). When running the application as a web-browser applet, this approach didn't seem to work (the application was stuck on
first shown “Scene”). I recall some forums-posts discussing this.
My solution to the problem was to reformulate the difference “Scene”-objects to “Group”-objects, swifting between the different
“Scene”/”Group”'s by manipulating their “visible”-attribute.
A performance problem was discovered in a “Group” having a “content” consistent of “Sequences” with dynamic changing content. I solved
this by extracting the “Sequences” from the group, making them “first-generation” children of the “Stage”, i.e. going from:
var grp1 : Group = Group {
content: [ seq1, seq2, ...],
var grp2 : Group = Group { ... };
var actualGroup : Group = ...;
Stage {
scene: Scene {
content: bind [ actualGroup],
... to:
var grp1 : Group = Group {
content: [ ...],
var grp2 : Group = Group { ... };
var actualGroup : Group = ...;
Stage {
scene: Scene {
content: bind [ seq1, seq2, actualGroup],
With the critics giving, I owe people to say that my overall impression of the JavaFX-system (and NetBeans) has been very positive and
satisfying. I hope for future development and deployment on diverse platform of the system.
Fell free to comment, give solutions to problems and make new “wishes”.
RegardsDarn Rich Text-editor:
Review/wish-list for JavaFX/NetBeans
The following wish-list for JavaFX (1.1) and NetBeans (1.5) was made
based on my experience doing three - smaller - projects in JavaFX. I plan
to submit these projects (DestroyerFX, AceOfSpadeFX and
SteamPunkWatch) to the JavaFX Coding Challenge
(see http://www.javafx.com/challenge/):
- a recreate-method for CustomNodes in style of the repaint-method
of java.awt.Component. Should force the (re)call of create-method
of a CustomNode-object (normally create is only called once at
the first time the CustomNode is drawn)
Useful for CustomNodes changing their graphical expression over time,
other than what may be expressed by using transformations.
Solutions to the problem (using the existing system) could be:
-- reconstruct CustomNode's for each iteration, or when they need
to change their graphics. This would force a (re)call to the create-method
-- using a Group (or Sequence) to group different graphical representations/
Nodes. The visible-attributes are manipulated to change between
different representations
- better support in NetBeans for exporting of projects as executable
JAR-files. Useful for people wanting to distribute their application
more in the style of traditional applications
- default-values http://localhost:8082/servlet/... in generated *.jnlp-
files (by NetBeans) should be changed to relative-path file:.. This
would make distribution of projects easier.
I don't know if this already is possible in present system, by for
instance setting up NetBeans
- merge of Java and JavaFX (-script language). Basically features of
JavaFX should be included in Java.
For object-construction-syntax, I suggest some thing like:
(new) MyClass(parm1,parm2, ...) {
attr1: ...,
attr2: ...,
}i.e. first the normal Java-constructor is called, hereafter attributes
are assigned in JavaFX-style.
JavaFX bindings could be useful as an alternative to Beans Bindings
(JSR 295).
I think both technologies (object-construction and bindings) would be a
great addition to the Java-language, and could prove useful in other
areas than just GUI's.
The JavaFX API should further be accessible from Java
- having a project of mixed Java- and JavaFX-files, I wasn't able to
see JavaFX-files from Java-files in NetBeans. It would be nice to be
able to do this, since I still consider Java as a better general-purpose
language (for larger projects); and people might have older Java-code
they may want to incorporate in their JavaFX-projects. I think I
recall some forums talk about this topic, but the solution isn't
obvious anyway
- problems playing sound-clips with the JavaFX MediaPlayer (multiple
clips are played at the same time). According to forums, this could be
due to the sound-files being placed in JAR-files.
In my projects I cheated by using the JavaSE-primitives for this
(javax.sound.sampled). It would be nice if this could be fixed
- in one of my applications (DestroyerFX), I wanted to use dynamic
binding of the Scene of the central Stage-object, allowing the
application to switch between a number of difference Scene's
according to functionality and context (introduction, level-up,
actual game and final score). When running the application as a
web-browser applet, this approach didn't seem to work (the application
was stuck on first shown Scene). I recall some forums-posts discussing
this.
My solution to the problem was to reformulate the different Scene-objects
to Group-objects, swifting between the different Scene/Group's by
manipulating their visible-attribute.
A performance problem was discovered in a Group having a content
consistent of Sequences with dynamic changing content. I solved this
by extracting the Sequences from the group, making them
first-generation children of the Stage, i.e. going from:
var grp1 : Group = Group {
content: [ seq1, seq2, ...],
var grp2 : Group = Group { ... };
var actualGroup : Group = ...;
Stage {
scene: Scene {
content: bind [ actualGroup],
}... to:
var grp1 : Group = Group {
content: [ ...],
var grp2 : Group = Group { ... };
var actualGroup : Group = ...;
Stage {
scene: Scene {
content: bind [ seq1, seq2, actualGroup],
}With the critics giving, I owe people to say that my overall impression of
the JavaFX-system (and NetBeans) has been very positive and satisfying. I
hope for future development and deployment on diverse platform of the system.
Fell free to comment, give solutions to problems and make new wishes.
Regards -
Setting width/height of a control with CSS
Hi,
I am styling a button a button in CSS and set a background-image for the button in my stylesheet.
The problem is, that the button should scale to the width/height of the image.
I added:
-fx-width: 32px;
-fx-height: 32px;
but it has no effect.
I also tried it with
-fx-min-width: 32px;
-fx-min-height: 32px;
If I use setMinWidth(32); in Java, it works.
But I rather want to set it in my stylesheets, because the image can change, if we use another skin.CSS documentation (http://docs.oracle.com/javafx/2.0/api/javafx/scene/doc-files/cssref.html) states:
"JavaFX CSS does not support CSS layout properties such as float, position, overflow, and width. However, the CSS padding and margins properties are supported on some JavaFX scene graph objects. All other aspects of layout are handled programmatically in JavaFX code."
I thought you might be able to do something using the -fx-shape property, but the shape does not affect the size of the button - so that didn't work.
I had more luck with the -fx-graphic property - you could try to enhance the stylesheet below to get what you want.
.root { -fx-background-color: azure; -fx-padding: 20; }
#smurf-button { -fx-graphic: url("http://bluebuddies.com/smurf_fun/smurf_race/jpg/Smurf_Race_100x100.jpg"); -fx-background-color: transparent; }
#smurf-button:hover { -fx-effect: dropshadow( three-pass-box , rgba(184,134,11,0.6) , 20, 0.0 , 0 , 0 ); }
#smurf-button:armed { -fx-effect: innershadow( three-pass-box , rgba(0,200,0,0.6) , 30, 0.0 , 0 , 0 ); }
public class ButtonStyle extends Application {
public static void main(String[] args) throws Exception { launch(args); }
public void start(final Stage stage) throws Exception {
final Button button = new Button();
button.setId("smurf-button");
final Scene scene = new Scene(StackPaneBuilder.create().children(button).build());
scene.getStylesheets().add(this.getClass().getResource("style.css").toExternalForm());
stage.setScene(scene);
stage.show();
} -
I am somwhat new to photoshop 3d and lost my 3D tool. I clicked on the x on the scrubbie above the tool and it disappeared. Does anyone know how to get it back?
There are five 3D tools in PS CS5: Object, Camera, Mesh, Light, and Material, each of them with sub-tools such as Rotate, Roll etc.
You can access them from the 3D panel (Window > 3D), and can watch/change their options in the PS Options bar.
If you refer strictly to the 3D Axis widget, this tool allows on-canvas manipulation of the 3d object, camera, mesh or light, depending on what is your
currently selected item in the 3D panel: Scene for Object and Camera tools, a mesh or a light for the Mesh and Light tools. With the 3D axis, you can
rotate, roll, pan, slide, zoom directly on canvas.
In order for the 3D axis widget to be activated, you need to be in GPU mode (check Preferences > Performance > Enable OpenGL Drawing).
To show the 3D axis, go to View > Show > 3D Axis, or click on the grid icon at the bottom of the 3D panel (tooltip "Toggle misc 3D extras"). -
Why are MediaPlayer callbacks all Runnables rather than EventHandlers?
Every other API in JavaFX with event processing callbacks implements EventTarget and allows EventHandlers to be registered to handle events.
However the MediaPlayer does not implement EventTarget and callbacks for things which look like they should be events (e.g. onPlaying, onStopped, onPaused) are handled by registering a Runnable.
Why is MediaPlayer different? Are there any extra considerations which need to be taken into account when programming the MediaPlayer?
For instance, in code such as this (from forum post How can I solve the error "media corruption error"? =>
mpLogo.setOnEndOfMedia(new Runnable() {
public void run() {
mpLogo.stop();
mediaView.setMediaPlayer(mpSaludo);
mpSaludo.play();
root.getChildren().remove(grupo2);
});Is the runnable always guaranteed to be run on the JavaFX Application thread? or should you wrap the code in a Platform.runLater call to ensure that the actions manipulating active scene graph objects taken on end of media only happen on the JavaFX Application thread?
mpLogo.setOnEndOfMedia(new Runnable() {
public void run() {
Platform.runLater(new Runnable() {
public void run() {
mpLogo.stop();
mediaView.setMediaPlayer(mpSaludo);
mpSaludo.play();
root.getChildren().remove(grupo2);
});I don't know, I think this is an error. I know that there was one part of the media APIs that was called very frequently (the stuff related to histograms) that we didn't use events, but this most certainly should have been events. Dang. If I could find it in email history there must be something on it, but looking at it here I was both surprised and shocked that this one slipped through (since I don't know under what circumstance it would have made sense to use a Runnable here). In fact at first I thought maybe you were looking at some old code (before I knew it was you who posted).
OK, suppose we all agree this was an error and we need to fix this. What to do? We can deprecate all these methods, but the new methods we'd want to supply would then have the wrong names. We could introduce a proper Event subclass for this and also a special EventHandler which also implements Runnable, just so it can be reused here. We'd then deprecate the methods and just change the hierarchy when we JSR the thing?
I'm not sure how to recover, any other ideas? -
Where to put removeChild (Away3d 4.x)
Hey guys i need some help on how to change primitives and removing the previous primitive showing in the scene and also changing materials on the primitive with a click of a button.
Mainly just where to put removeChild.
This is for Away3d
package
import away3d.cameras.*;
import away3d.containers.*;
import away3d.controllers.*;
import away3d.core.base.SubGeometry;
import away3d.core.base.data.Vertex;
import away3d.debug.*;
import away3d.entities.Mesh;
import away3d.extrusions.*;
import away3d.filters.*;
import away3d.lights.*;
import away3d.materials.*;
import away3d.materials.lightpickers.*;
import away3d.materials.methods.*;
import away3d.primitives.*;
import away3d.textures.*;
import away3dplus.controllers.SimpleHoverController;
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.geom.Vector3D;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.text.TextFormat;
[SWF(backgroundColor="#000000",frameRate="30",quality="LOW")]
public class Main extends Sprite
//engine variables
private var view:View3D;
private var scene:Scene3D;
// debug
private var awayStats:AwayStats;
//light objects
private var pointLight:PointLight;
private var lightPicker:StaticLightPicker;
//material objects
private var redColorMaterial:ColorMaterial;
private var skyBoxCubeTexture:BitmapCubeTexture;
//Buttons
private var btnCube:Sprite = new Sprite
private var btnSphere:Sprite = new Sprite
private var btnCylinder:Sprite = new Sprite
private var btnTorus:Sprite = new Sprite
private var btnMaterial:Sprite = new Sprite
private var btnWireframe:Sprite = new Sprite
public function Main() {
init();
private function init():void {
initEngine();
initLights();
initCamera();
initMaterials();
initObjects();
initListeners();
drawButton()
btnCube.addEventListener(MouseEvent.CLICK, changeCube);
btnCube.x = 400;
btnCube.y = 25;
addChild(btnCube);
btnSphere.addEventListener(MouseEvent.CLICK, changeSphere);
btnSphere.x = 400;
btnSphere.y = 60;
addChild(btnSphere);
btnCylinder.addEventListener(MouseEvent.CLICK, changeCylinder);
btnCylinder.x = 400;
btnCylinder.y = 95;
addChild(btnCylinder);
btnTorus.addEventListener(MouseEvent.CLICK, changeTorus);
btnTorus.x = 400;
btnTorus.y = 130;
addChild(btnTorus);
//btnMaterial.addEventListener(MouseEvent.CLICK, changeMaterial);
btnMaterial.x = 15;
btnMaterial.y = 95;
addChild(btnMaterial);
btnWireframe.addEventListener(MouseEvent.CLICK, changeWireframe);
btnWireframe.x = 15;
btnWireframe.y = 130;
addChild(btnWireframe);
* Initialise the engine
private function initEngine():void {
//stage setup
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
// 3d view - window into 3d scene
view = new View3D();
addChild(view);
// 3d scene.
scene = view.scene;
// stats
awayStats = new AwayStats(view);
addChild(awayStats);
* Initialise the lights
private function initLights():void {
//point light
pointLight = new PointLight();
scene.addChild(pointLight);
lightPicker = new StaticLightPicker([pointLight]);
private function initCamera():void {
var hoverCameraManager:SimpleHoverController = new SimpleHoverController(view, 700, [pointLight]);
* Initialise Buttons
private function drawButton():void {
var textLabel:TextField = new TextField()
btnCube.graphics.clear();
btnCube.graphics.beginFill(0xFFFFFF); // white
btnCube.graphics.drawRoundRect(0, 0, 80, 25, 10, 10); // x, y, width, height, ellipseW, ellipseH
textLabel.text = "CUBE";
textLabel.x = 22;
textLabel.y = 4;
textLabel.selectable = false;
btnCube.addChild(textLabel)
var textLabel01:TextField = new TextField()
btnSphere.graphics.clear();
btnSphere.graphics.beginFill(0xFFFFFF); // white
btnSphere.graphics.drawRoundRect(0, 0, 80, 25, 10, 10); // x, y, width, height, ellipseW, ellipseH
textLabel01.text = "SPHERE";
textLabel01.x = 18;
textLabel01.y = 3;
textLabel01.selectable = false;
btnSphere.addChild(textLabel01)
var textLabel03:TextField = new TextField()
btnCylinder.graphics.clear();
btnCylinder.graphics.beginFill(0xFFFFFF); // white
btnCylinder.graphics.drawRoundRect(0, 0, 80, 25, 10, 10); // x, y, width, height, ellipseW, ellipseH
textLabel03.text = "CYLINDER";
textLabel03.x = 10;
textLabel03.y = 3;
textLabel03.selectable = false;
btnCylinder.addChild(textLabel03)
var textLabel04:TextField = new TextField()
btnTorus.graphics.clear();
btnTorus.graphics.beginFill(0xFFFFFF); // white
btnTorus.graphics.drawRoundRect(0, 0, 80, 25, 10, 10); // x, y, width, height, ellipseW, ellipseH
textLabel04.text = "TORUS";
textLabel04.x = 17;
textLabel04.y = 3;
textLabel04.selectable = false;
btnTorus.addChild(textLabel04)
var textLabel05:TextField = new TextField()
btnMaterial.graphics.clear();
btnMaterial.graphics.beginFill(0xFFFFFF); // white
btnMaterial.graphics.drawRoundRect(0, 0, 80, 25, 10, 10); // x, y, width, height, ellipseW, ellipseH
textLabel05.text = "MATERIAL";
textLabel05.x = 6;
textLabel05.y = 3;
textLabel05.selectable = false;
btnMaterial.addChild(textLabel05)
var textLabel06:TextField = new TextField()
btnWireframe.graphics.clear();
btnWireframe.graphics.beginFill(0xFFFFFF); // white
btnWireframe.graphics.drawRoundRect(0, 0, 80, 25, 10, 10); // x, y, width, height, ellipseW, ellipseH
textLabel06.text = "WIREFRAME";
textLabel06.x = 2;
textLabel06.y = 3;
textLabel06.selectable = false;
btnWireframe.addChild(textLabel06)
* Initialise the materials
private function initMaterials():void {
// red color
redColorMaterial = new ColorMaterial(0xFF0000, 0.8);
redColorMaterial.lightPicker = lightPicker;
skyBoxCubeTexture = new BitmapCubeTexture(new EnvPosX().bitmapData, new EnvNegX().bitmapData, new EnvPosY().bitmapData, new EnvNegY().bitmapData, new EnvPosZ().bitmapData, new EnvNegZ().bitmapData);
* Initialise the scene objects
private function initObjects():void {
var trident:Trident = new Trident(100);
trident.x = 0;
trident.y = 0;
scene.addChild(trident);
//Geometry - Geometry is a collection of SubGeometries, each of which contain the actual geometrical data such as vertices, normals, uvs, etc.
////PrimitiveBase - PrimitiveBase is an abstract base class for mesh primitives, which are prebuilt simple meshes.
//CubeGeometry A Cube primitive mesh.
var newCubeGeometry:CubeGeometry = new CubeGeometry(200, 200, 200, 50, 50, 50, true);
//SphereGeometry - A UV Sphere primitive mesh.
var newSphereGeometry:SphereGeometry = new SphereGeometry(50, 16, 12, true);
//CapsuleGeometry A UV Capsule primitive mesh.
var newCapsuleGeometry:CapsuleGeometry = new CapsuleGeometry(50, 100, 16, 12, true);
//ConeGeometry A UV Cone primitive mesh.
//var newConeGeometry:ConeGeometry = new ConeGeometry(50, 100, 16, 1, true, true);
//CylinderGeometry A UV Cylinder primitive mesh.
var newCylinderGeometry:CylinderGeometry = new CylinderGeometry(50, 50, 100, 16, 1, true, true);
//PlaneGeometry A Plane primitive mesh.
var newPlaneGeometry:PlaneGeometry = new PlaneGeometry(100, 100, 1, 1, true);
//RegularPolygonGeometry A UV RegularPolygon primitive mesh.
var newRegularPoligonGeometry:RegularPolygonGeometry = new RegularPolygonGeometry(100, 16, true);
//TorusGeometry A UV Torus primitive mesh.
var newTorusGeomentry:TorusGeometry = new TorusGeometry(50, 50, 15, 8, true);
// Entity - The Entity class provides an abstract base class for all scene graph objects that are considered having a "presence" in the scene,
// in the sense that it can be considered an actual object with a position and a size (even if infinite or idealised), rather than a grouping.
//Mesh - Mesh agregates instance of a Geometry, augmenting it with a presence in the scene graph, a material, and an animations tate.
// It consists out of SubMeshes, which in turn correspond to SubGeometries. SubMeshes allow different parts of the geometry to be assigned different materials.
//var cube:Mesh = new Mesh(newCubeGeometry, redColorMaterial);
//cube.x = 100;
//cube.y = 100;
//cube.z = 100;
//scene.addChild(cube);
//var sphere:Mesh = new Mesh(newSphereGeometry, redColorMaterial);
//sphere.x = -75;
//sphere.y = -150;
//scene.addChild(sphere);
//var capsule:Mesh = new Mesh(newCapsuleGeometry, redColorMaterial);
//capsule.x = -200;
//capsule.y = -150
//scene.addChild(capsule);
//var cone:Mesh = new Mesh(newConeGeometry, redColorMaterial);
//cone.x = -200;
//cone.y = 150;
//cone.showBounds = true;
//scene.addChild(cone);
//var cylinder:Mesh = new Mesh(newCylinderGeometry, redColorMaterial);
//cylinder.x = -75;
//cylinder.y = 150;
//scene.addChild(cylinder);
//var plane:Mesh = new Mesh(newPlaneGeometry, redColorMaterial);
//plane.x = -75;
//plane.y = 275;
//scene.addChild(plane);
//var poligon:Mesh = new Mesh(newRegularPoligonGeometry, redColorMaterial);
//poligon.x = -275;
//poligon.y = 275;
//scene.addChild(poligon);
//var torus:Mesh = new Mesh(newTorusGeomentry, redColorMaterial);
//torus.x = -275;
//scene.addChild(torus);
//SkyBox A SkyBox class is used to render a sky in the scene.
//var skyBox:SkyBox = new SkyBox(skyBoxCubeTexture);
//scene.addChild(skyBox);
// SegmentSet
//WireframeAxesGrid - Class WireframeAxesGrid generates a grid of lines on a given planeWireframeAxesGrid
//var wireFrameAxesGrid:WireframeAxesGrid = new WireframeAxesGrid(4, 400, 1);
//scene.addChild(wireFrameAxesGrid);
//WireframeGrid Class WireframeGrid generates a grid of lines on a given planeWireframeGrid
//var wireframeGrid:WireframeGrid = new WireframeGrid(10, 100, 5, 0x0000FF);
//wireframeGrid.x = 75;
//wireframeGrid.y = 275;
//scene.addChild(wireframeGrid);
//WireframePrimitiveBase
//WireframeCube - Class WireFrameGrid generates a grid of lines on a given planeWireFrameGrid
//var wireFrameCube:WireframeCube = new WireframeCube(100, 100, 100, 0x0000FF, 5);
//wireFrameCube.x = 75;
//scene.addChild(wireFrameCube);
//WireframeSphere - Class WireFrameGrid generates a grid of lines on a given planeWireFrameGrid
//var wireFrameSphere:WireframeSphere = new WireframeSphere(50, 16, 12, 0x0000FF, 5);
//wireFrameSphere.x = 75;
//wireFrameSphere.y = -150;
//scene.addChild(wireFrameSphere);
//WireframePlane
//var wireframePlane:WireframePlane = new WireframePlane(100, 100, 10, 10, 0x0000FF, 5);
//wireframePlane.x = 175;
//wireframePlane.y = 275;
//scene.addChild(wireframePlane);
* Initialise the listeners
private function initListeners():void {
addEventListener(Event.ENTER_FRAME, onEnterFrame);
* render loop
private function onEnterFrame(event:Event):void {
view.render();
* Intialise the buttons events
private function changeCube(event:MouseEvent):void {
var newCubeGeometry:CubeGeometry = new CubeGeometry(200, 200, 200, 50, 50, 50, true);
var cube:Mesh = new Mesh(newCubeGeometry, redColorMaterial);
cube.x = 100;
cube.y = 100;
cube.z = 100;
scene.addChild(cube);
private function changeSphere(event:MouseEvent):void {
var newSphereGeometry:SphereGeometry = new SphereGeometry(50, 16, 12, true);
var sphere:Mesh = new Mesh(newSphereGeometry, redColorMaterial);
scene.addChild(sphere);
private function changeCylinder(event:MouseEvent):void {
var newCylinderGeometry:CylinderGeometry = new CylinderGeometry(50, 50, 100, 16, 1, true, true);
var cylinder:Mesh = new Mesh(newCylinderGeometry, redColorMaterial);
scene.addChild(cylinder);
private function changeTorus(event:MouseEvent):void {
var newTorusGeomentry:TorusGeometry = new TorusGeometry(50, 50, 15, 8, true);
var torus:Mesh = new Mesh(newTorusGeomentry, redColorMaterial);
scene.addChild(torus);
private function changeWireframe(event:MouseEvent):void {
var wireFrameCube:WireframeCube = new WireframeCube(100, 100, 100, 0x0000FF, 5);
scene.addChild(wireFrameCube);
Thanks, MatthewFraudulent seller.
I received an empty package.- -
Back to the drawing board.
Thanks for your replies.
eBay is going through their required steps.
It will take a week or better to get my refund.
Thanks
Shopping for another "Mac Pro Late 2013" or I might settle for my "Mac Mini 2012 i7 16 Gig 256 SSD Intel 4000" refurb with warranty bought from Apple that I already have on hand.
Thank You
I don't know how this ended upon two threads.
I'm pretty sure I'm going to go with my 2012 Mac Mini i7 16 gig 256 SSD and Lacie Little Big Thunderbolt 1 512 SSD
That will be pretty punchy for me.
I'll only have about $1,000 in the computer itself with a three year Apple Care Warranty.
It should sell for $500 a year from now if I choose too.
I think it's going to work great.
I'm going to load it up with all of the software just like I was going to do on the Mac Pro.
It's good for three computers in the future so no money lost on the software
I'll probably just keep the Mini indefinitely for a backup even after I upgrade to the newer 2015 Mac Pro later next year.
Thanks -
Hi all this is beyond my skill so I am hoping you can help. I
have a
scrolling movie clip that scolls left or right depending on
where your mouse
moves on the ENTIRE stage. I want to confine it to only work
when the mouse
is over the scorlling clip. I am told I need "ymouse test
restriction" in
the enginehandler. This is the code for the first lines of
the engine
handler
the MC sits on X of -10.9 and Y of 420 THANK YOU so much.
function startEngine() {
this.onEnterFrame = engineHandler;}
function addObjects() { //add objects in the scene
var objects = xmlObj.firstChild.childNodes;
for(var i=0; i<objects.length; i++) {
var link = objects
.attributes.source; //the image link in the xml file
if (useFixedImageSize==1) source1 = "imgMc"; //image mc
linkage id from the
library
else source1 = "imgMc_01"; var sourceType1 = "library";
var regName1 = "p"+i; //the registration name used in Flash
this.attachMovie(source1,regName1,1000+i);
var x1 = (this["p0"]._width/2 + xOffset) + (i *
(this[regName1]._width +
offset));
var y1 = this["p0"]._height/2;
this[regName1]._x = x1;
this[regName1]._y = y1;
//this[regName1]["imgBox"].loadMovie(link); //load external
image
if (useZoom) { //set some variables used in object zoom
calculation
this[regName1]["currZoom"] = 0;
this[regName1]["info"] = objects;//keep the XML node
info
nodes
= this[regName1]; //add object to nodes array
//this[regName1].onPress = pressHandler;
//this[regName1].onRelease = this[regName1].onReleaseOutside
=
releaseHandler;
var nr = objects.length;
var inst = "p"+nr;
var pos = sc.getCoordinates(inst);
totalDistance = (nr * (this["p0"]._width + offset)) -
offset;
//trace(totalDistance+" "+this["p0"]._width);use the attach code option to display code in this forum. and
i don't seen any handlers, but you can use a hitTest() between your
scrolling movieclip and the mouse to determine if you want to
scroll. -
Hi,
I am making a custom renderer using the copyPixels function for my
Haxe/Flash game. So I have this kind of code :
buffer.bitmapData.copyPixels(m_CurrentSkin, RECT3, POINT, null, null,
true);
where :
-buffer is the bitmap where all my scene's objects are drawn
-m_CurrentSkinis the BitmapData that contains the current frame of the
object to be drawn
Every time m_CurrentSkin contains a BitmapData that have never been
drawn (the first time that an animation frame is drawn for example), I
have a memory leak that is not garbage.
However if m_CurrentSkin contains a BitmapData that have already been
drawn (when the animation is played a second time for example), there
isn't any memory leak.
If I comment this line there is no leak so the problem comes from
there.
It seems that a copy of the BitmapData is cached in memory but I have
checked in my code and there is no cacheAsBitmap explicitely set to
true.
Anyone have idea of what is happening?
Thank you,
Régis.How do you know it's leaking? As I copyPixels and watch the profile in FlashBuilder I see flash caching and it doesn't garbage collect until it feels it's necessary. If it continuously acceesses the same thing it's not behaving improper to continuously keep it in cache.
That being said, if you press the manual garbage collection button and don't see it release within a few seconds, it might be a leak. The only way you'll really know is to isolate this, clear the bitmapdata objects and null them out while pressing garbage collection to see if flash properly disposes of the bitmapdata instances. Just make sure you're disposing of them properly. -
Load/Unload FXML like plugins
Hi, I'm a programmer coming from .NET, using technologies like WPF and DirectX among others... One of the reasons for leaving .NET is the mismanagement and inability to release usercontrols in a logical and easy way. Each of these usercontrols in the world. NET are .dll files that are instantiated via reflection and loaded into the main window as a plugin. Let's look at each of these plugins as a multimedia application with video, graphics, sound, or any other resources that can be loaded and later unloaded after serving its purpose.
My question is, this is possible in JavaFX? I imagine a Stage that loads each of these plugins as FXML, release them and replace it with a new plugin when required. It's like media player that plays FXML's, instead of songs or movies.
Again, I'm a Java newbie and my only reason to learn it is that if it works as I think, JavaFX will have no competitor.
Thanks for your help,
Roel WeaponsJavaFX takes FXML file and runs in real time in the style of an interpreted language? I'd think of the FXMLLoader as more like a web browser loading HTML.
In the HTML world, the browser will parse the HTML and then create a document object model based on the HTML.
In the FXML world, the FXMLLoader will parse the HTML and create a JavaFX scenegraph object model based on the FXML.
If the FXML features inline JavaScript scripts, then the execution model is pretty much like HTML with JavaScript. For a browser, the JavaScript is executed on a JavaScript VM such as Chrome V8. For FXML, the JavaScript will be executed by a JavaScript engine bundled with the Java System, e.g. a Rhino derivative (http://en.wikipedia.org/wiki/Rhino_%28JavaScript_engine%29) or nashorn (http://en.wikipedia.org/wiki/Nashorn_%28JavaScript_engine%29).
If the FXML features a separate controller in Java code, then that Java code is pre-compiled to java byte code - which is an intermediate representation between source code and machine code. The java byte code is executed by a Java Virtual Machine at a speed that (in most cases) for all intents and purposes is comparable to machine code execution.
For me, the ability to simply and easily choose and use from FXML both a scripting language and a compiled language from any of the many available languages executable on the JVM is one of the major technical advantages of JavaFX over HTML. For example you can write scripting and controller logic in Ruby if you liked: http://stackoverflow.com/questions/13831708/using-fxml-with-jruby.
How I can do to load a FXML that haves a controller but both are in a different path to the application that invokes it?The FXMLLoader load method has a url paramater to specify the location of where the source FXML file originates - it works in the same way as entering a URL into your web browser's location bar.
http://docs.oracle.com/javafx/2/api/javafx/fxml/FXMLLoader.html#FXMLLoader%28java.net.URL%29
I understand that using FXMLLoader.load(getClass().getResource()), we are invoking a resource within the project prepackaged, or am I wrong? Pretty much correct. getClass().getResource() will use the originating codebase of the classloader, which will generally be the source jar for the application. But you don't have to load a resource like this, you can use any url you like (within the Java security sandbox which currently doesn't really apply to FXML anyway as FXML won't execute within any kind of security sandbox as of JavaFX 2.2).
If so, what is the best practice to load drivers that are referenced FXML and what is the way to unload them?With FXML, you can define your own components and tags to extend the language; i.e. it does not have a fixed tagset. In addition to the extensive set of components provided by the JavaFX system, you can easily define your own custom components. Perhaps these are like your notion of drivers and plugins (which I have to admit is hard for me to understand)?
http://docs.oracle.com/javafx/2/api/javafx/fxml/doc-files/introduction_to_fxml.html#custom_components
So that covers what happens when you load FXML. With regard to unloading FXML, there is no such explicit thing. Essentially, like other memory management tasks in Java, it's automatically handled by the Java garbage collector. The JavaFX system automatically handles low level stuff like freeing up GPU texture memory for scene graph objects which are no longer required. Java and JavaFX are essentially higher level abstractions than writing in something like C code with OpenGL and the Java and JavaFX runtimes take care of many of the mundane tasks such as garbage collection and system resource cleanup for you.
If a custom FXML component made use of some resource such as a database connection which you wanted to explicitly release when the component is no longer used, then you could add a listener to the component's scene property. When the component is no longer part of an active scene, the listener would be triggered and you could run some code there to free up your resources (e.g. release the database connection).
For an example of a system which dynamically loads fxml files and lets the Java system garbage collect them when they are no longer needed, see the webfx project: https://github.com/brunoborges/webfx. WebFX also provides some interesting examples of fxml without controllers.
Maybe you are looking for
-
I'm trying to watch a movie from my iPad on my tv with Hdmi cable. Do I need to do anything to the tv to make this work?
-
Error message when sending photos as attachments in mail
When sending photos from i photo in mail I get an error message "Can't get paragraph 8 of content of outgoing message id 142504208. Invalid Index" I can send one photo at a time but no more than one. I have recently upgraded to leopard from panther.
-
Message Split -- File to Idoc Scenario - ( Without BPM )
I have multiple records coming to XI in a File and I have to create Multiple Idocs to R/3. Due to Complexity of mapping I'm splitting Maaping step into 2 message Mappings. A-->B B-->C In the 2nd Mapping step I'm doing message Split meaning for each
-
How do I get rid of Nav Link virus which ONLY seems to affect Firefox (not Safari)?
This virus or malware shows up as green underlined text in articles. If you click on it or accidentally highlight it by moving your mouse over it, an add pops up. Also, a new blank window will open showing the following heading: http://rvzr-a.akamaih
-
Finding out logged in Org Unit?
If a user is assigned to multiple org units within a single business role, he/she is given the option to select among the org units when Web UI is launched. After selecting, in the subsequent screens, how to find out dynamically which particular Org