SceneKit DAE Animation Crop by Frames - ios

In my Project I have a DAE object that includes all the Animations (as 1 long animation).
I am able to split out the animation using time in seconds with help of this:
Answer
However I want to split the animations using Frames instead of seconds
I have an XML file that defines frames for each animation
<?xml version="1.0" encoding="utf-8"?>
<Anim>
<Data id="1" name="Bar_COMBAT_mode" startFrame="0f" endFrame="50f" />
<Data id="2" name="Bar_banging_shield" startFrame="51f" endFrame="71f" />
<Data id="3" name="Bar_PutWeapon_Back" startFrame="72f" endFrame="112f" />
<Data id="4" name="Bar_IDLE" startFrame="113f" endFrame="213f" />
<Data id="5" name="Bar_TookWeaponOut" startFrame="214f" endFrame="254f" />
<Data id="6" name="Bar_sword_swing_high_right" startFrame="255f" endFrame="295f" />
<Data id="7" name="Bar_sword_swing_high_straight_down" startFrame="296f" endFrame="331f" />
<Data id="8" name="Bar_Die_fall_forward" startFrame="332f" endFrame="412f" />
<Data id="9" name="Bar_walk" startFrame="413f" endFrame="448f" />
<Data id="10" name="Bar_Combat_walk" startFrame="449f" endFrame="484f" />
<Data id="11" name="Bar_Combat_walk_B" startFrame="485f" endFrame="520f" />
<Data id="12" name="Bar_Cautious_walk" startFrame="521f" endFrame="561f" />
</Anim>
Is there a way to split the animation in to multiple CAAnimationGroups using the Start and End frames properties of the long Animation?

Related

branch deeplink not working if 2 apps installed on same device and handling same domain

I have 2 apps MainApp and SubApp, both have the same domain https://abc.in
what I want if https://abc.in/cart gets clicked it should trigger MainApp, and if https://abc.in/subapp/cart clicked it should trigger SubApp.
below is the intent filter declaration of both apps :-
MainApp
<intent-filter
android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="http" />
<data android:scheme="https" />
<data android:host="*.abc.in" />
<data android:host="abc.in" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:host="app" android:scheme="abc.mainapp" />
</intent-filter>
SubApp
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="http" />
<data android:scheme="https" />
<data
android:host="*.abc.in"
android:pathPrefix="/subapp"
android:scheme="https" />
<data
android:host="abc.in"
android:pathPrefix="/subapp"
android:scheme="https" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="abc.in"
android:pathPrefix="/subapp"
android:scheme="abc.subapp" />
</intent-filter>
Now the problem is both the
links https://abc.in/cart
and
https://abc.in/subapp/cart
opening in MainApp most of the time.
In only 2 cases the SubApp is getting triggered with https://abc.in/subapp/cart :-
In Android 12 -> if it gets installed later after installing MainApp
Below Android 12 -> going to app info of SubApp and opening the supported links (just open and view, nothing else)
else is all the cases the MainApp getting priority.
NOTE :- I have prepared the assetlink.json file by merging both apps package name and other detail into one, and uploaded to https://abc.in/.well-known/assetlinks.json

Gremlin: Read edge GraphML file and node GraphML file in separate queries

I have two files that I want to load by using g.io(<name file>).read().iterate(): nodes.xml and edges.xml.
The nodes.xml file contains the nodes of the graph I want to upload, and its contents are this:
<?xml version='1.0' encoding='utf-8'?>
<graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://graphml.graphdrawing.org/xmlns/1.0/graphml.xsd">
<key id="labelV" for="node" attr.name="labelV" attr.type="string" />
<key id="name" for="node" attr.name="name" attr.type="string" />
<key id="age" for="node" attr.name="age" attr.type="int" />
<graph id="G" edgedefault="directed">
<node id="1">
<data key="labelV">person</data>
<data key="name">marko</data>
<data key="age">29</data>
</node>
<node id="2">
<data key="labelV">person</data>
<data key="name">vadas</data>
<data key="age">27</data>
</node>
</graph>
</graphml>
The edges.xml file contains the edges of the graph I want to upload, and its content are this:
<?xml version='1.0' encoding='utf-8'?>
<graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://graphml.graphdrawing.org/xmlns/1.0/graphml.xsd">
<key id="labelE" for="edge" attr.name="labelE" attr.type="string" />
<key id="weight" for="edge" attr.name="weight" attr.type="double" />
<graph id="G" edgedefault="directed">
<edge id="7" source="1" target="2">
<data key="labelE">knows</data>
<data key="weight">0.5</data>
</edge>
</graph>
</graphml>
I want to upload the nodes first by running g.io('nodes.xml').read().iterate() and then the edges by running g.io('edges.xml').read().iterate(). But when I upload the edges.xml, instead of adding edges to the previously created nodes, it creates new nodes.
It is possible to easily load the nodes first and then the edges in separate queries with a similar command in Gremlin? I know this can be accomplished with complex queries that involve reading and creating edge by edge the edges in the edges.xml file via user queries, but I'm wondering if there is something easier. Also, I wouldn't want to upload a single file with all the nodes and edges.
I'm afraid that the GraphMLReader doesn't work that way. It's not designed to read into an existing graph. I honestly can't remember if this was done purposefully or not.
The code isn't too complicated though. You could probably just modify it to work they way that you want. You can see here where the code checks the vertex cache for the id. That cache is empty on your second execution because it is only filled by way of new vertex additions - it doesn't remember any from your first run and it doesn't read from the graph directly for your second run. Simply change that to logic to better suit your needs.

Cordova ios App: how to open app when xml link are clicked in Safari

With Android, the application opens when links xml, rss or atom are selected in Safari.
To do this, I use the Cordovan-webintent plugin, and I add following case in AndroidManifest.xml:
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="http" />
<data android:mimeType="text/xml" />
<data android:mimeType="application/rss+xml" />
<data android:mimeType="application/atom+xml" />
<data android:mimeType="application/xml" />
</intent-filter>
And I get the file in the application with the Cordovan-webintent plugin
I can not find a solution to do the same with IOS, ie open a file with the app when the "mine type" is met.
URL scheme does not seem to fit the need.

xmltask error encoding

I´m trying to get the value of node in the xml file. I observed that value is wrong. I´m belive that problem is the encoding. Someaone can help me ? below is my code:
In xml File:
<?xml version="1.0" encoding="UTF-8" ?>
<projects>
<project>
<application>Padrão</application> <!-- The problem is the character ~ -->
<name>padrao</name>
<icon>c:\buffer</icon>
<market>br.com.tls.test</market>
</project>
</projects>
My ant code
<xmltask source="config.xml" encoding="UTF-8">
<call path="//project">
<param name="name" path="name/text()" />
<param name="market" path="market/text()" />
<param name="icon" path="icon/text()" />
<param name="application" path="application/text()" />
<actions>
<echo message="#{application}" />
<init-release name="#{name}" market="#{market}" icon="#{icon}" application="#{application}"/>
</actions>
</call>
</xmltask>
Result
[echo]: padr#o
expected
[echo]: padrão
Solution
I changing the file to UTF-8 and I´d sucess in the replace.
I haven't used xmltask, but echo task also has encoding property, have you tried setting that as well?
e.g. <echo message="#{application}" encoding="UTF-8" />

How to schedule a job in Quartz that repeats forever?

Is it possible to repeat a job in Quartz forever in a serial way?
Now, if I don't set RepeatInterval I get an error saying that RepeatInterval cannot be zero.
Is it possible to configure this using Spring.NET? What I have now is this:
<?xml version="1.0" encoding="utf-8" ?>
<objects xmlns="http://www.springframework.net">
<object id="ExampleBusinessObject" type="Edu3.Core.Job.ExampleJob, Edu3.Core"/>
<object id="JobDetail"
type="Spring.Scheduling.Quartz.MethodInvokingJobDetailFactoryObject,
Spring.Scheduling.Quartz">
<property name="TargetObject" ref="ExampleBusinessObject" />
<property name="TargetMethod" value="DoIt" />
<property name="Concurrent" value="false" />
</object>
<object id="SimpleTrigger"
type="Spring.Scheduling.Quartz.SimpleTriggerObject,
Spring.Scheduling.Quartz">
<!-- see the example of method invoking job above -->
<property name="JobDetail" ref="JobDetail" />
<!-- 10 seconds -->
<!--<property name="StartDelay" value="5s" />-->
<!-- repeat every 50 seconds -->
<property name="RepeatInterval" value="10s" />
</object>
<object id="quartzSchedulerFactory"
type="Spring.Scheduling.Quartz.SchedulerFactoryObject,
Spring.Scheduling.Quartz">
<property name="triggers">
<list>
<ref object="SimpleTrigger" />
</list>
</property>
</object>
</objects>
I don't want different threads executing the same job. I just want DoIt to be triggered. If DoIt is finished, then DoIt is triggered again. Like a infinitive while loop.
'RepeatCount' set to '-1'

Resources