|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object javax.imageio.spi.IIOServiceProvider javax.imageio.spi.ImageOutputStreamSpi
public abstract class ImageOutputStreamSpi
The service provider interface (SPI) for
ImageOutputStream
s. For more information on service
provider interfaces, see the class comment for the
IIORegistry
class.
This interface allows arbitrary objects to be "wrapped" by
instances of ImageOutputStream
. For example, a
particular ImageOutputStreamSpi
might allow a generic
OutputStream
to be used as a destination; another
might output to a File
or to a device such as a serial
port.
By treating the creation of ImageOutputStream
s as
a pluggable service, it becomes possible to handle future output
destinations without changing the API. Also, high-performance
implementations of ImageOutputStream
(for example,
native implementations for a particular platform) can be installed
and used transparently by applications.
IIORegistry
,
ImageOutputStream
| Field Summary | |
|---|---|
protected Class<?> |
outputClass
A Class object indicating the legal object type
for use by the createInputStreamInstance method. |
| Fields inherited from class javax.imageio.spi.IIOServiceProvider |
|---|
vendorName, version |
| Constructor Summary | |
|---|---|
protected |
ImageOutputStreamSpi()
Constructs a blank ImageOutputStreamSpi . |
|
ImageOutputStreamSpi(String vendorName,
String version,
Class<?> outputClass)
Constructs an ImageOutputStreamSpi with a given
set of values. |
| Method Summary | |
|---|---|
boolean |
canUseCacheFile()
Returns true if the ImageOutputStream
implementation associated with this service provider can
optionally make use of a cache File for improved
performance and/or memory footrprint. |
ImageOutputStream |
createOutputStreamInstance(Object output)
Returns an instance of the ImageOutputStream
implementation associated with this service provider. |
abstract ImageOutputStream |
createOutputStreamInstance(Object output,
boolean useCache,
File cacheDir)
Returns an instance of the ImageOutputStream
implementation associated with this service provider. |
Class<?> |
getOutputClass()
Returns a Class object representing the class or
interface type that must be implemented by an output
destination in order to be "wrapped" in an
ImageOutputStream via the
createOutputStreamInstance method. |
boolean |
needsCacheFile()
Returns true if the ImageOutputStream
implementation associated with this service provider requires
the use of a cache File . |
| Methods inherited from class javax.imageio.spi.IIOServiceProvider |
|---|
getDescription, getVendorName, getVersion, onDeregistration, onRegistration |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected Class<?> outputClass
Class
object indicating the legal object type
for use by the createInputStreamInstance
method.
| Constructor Detail |
|---|
protected ImageOutputStreamSpi()
ImageOutputStreamSpi
. It is up
to the subclass to initialize instance variables and/or
override method implementations in order to provide working
versions of all methods.
public ImageOutputStreamSpi(String vendorName, String version, Class<?> outputClass)
ImageOutputStreamSpi
with a given
set of values.
vendorName
- the vendor name.version
- a version identifier.outputClass
- a Class
object indicating the
legal object type for use by the
createOutputStreamInstance
method.
IllegalArgumentException
- if vendorName
is null
.
IllegalArgumentException
- if version
is null
.| Method Detail |
|---|
public Class<?> getOutputClass()
Class
object representing the class or
interface type that must be implemented by an output
destination in order to be "wrapped" in an
ImageOutputStream
via the
createOutputStreamInstance
method.
Typical return values might include
OutputStream.class
or File.class
, but
any class may be used.
Class
variable.createOutputStreamInstance(Object, boolean, File)
public boolean canUseCacheFile()
true
if the ImageOutputStream
implementation associated with this service provider can
optionally make use of a cache File
for improved
performance and/or memory footrprint. If false
,
the value of the cacheFile
argument to
createOutputStreamInstance
will be ignored.
The default implementation returns false
.
true
if a cache file can be used by the
output streams created by this service provider.public boolean needsCacheFile()
true
if the ImageOutputStream
implementation associated with this service provider requires
the use of a cache File
.
The default implementation returns false
.
true
if a cache file is needed by the
output streams created by this service provider.public abstract ImageOutputStream createOutputStreamInstance(Object output, boolean useCache, File cacheDir) throws IOException
ImageOutputStream
implementation associated with this service provider. If the
use of a cache file is optional, the useCache
parameter will be consulted. Where a cache is required, or
not applicable, the value of useCache
will be ignored.
output
- an object of the class type returned by
getOutputClass
.useCache
- a boolean
indicating whether a
cache file should be used, in cases where it is optional.cacheDir
- a File
indicating where the
cache file should be created, or null
to use the
system directory.
ImageOutputStream
instance.
IllegalArgumentException
- if output
is
not an instance of the correct class or is null
.
IllegalArgumentException
- if a cache file is needed,
but cacheDir
is non-null
and is not a
directory.
IOException
- if a cache file is needed but cannot be
created.getOutputClass()
public ImageOutputStream createOutputStreamInstance(Object output) throws IOException
ImageOutputStream
implementation associated with this service provider. A cache
file will be created in the system-dependent default
temporary-file directory, if needed.
output
- an object of the class type returned by
getOutputClass
.
ImageOutputStream
instance.
IllegalArgumentException
- if output
is
not an instance of the correct class or is null
.
IOException
- if a cache file is needed but cannot be
created.getOutputClass()
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Copyright © 2004, 2010 Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.


How do I customize my components?
You should use modifier classes to change the spacing between a component and its siblings, or a component and its children. Modifier classes can also be used to change simple attributes such as background color or text color. But, if you start making more in-depth modifications, this is the time to subclass your component. For example: 'simple', 'basic', and 'shadow' are all types of panels. They do more than just change colors or spacing, so it makes sense to make them a separate component. It also makes them easier to work with, because you can achieve the new look and feel by just adding one class name to the outer wrapper.
Caveat: Using lots of modifier classes is really tempting because you don't have to write your own CSS, but it can quickly get messy as someone attempting to reuse the component would need to get all the classes right on the different dom nodes in order to match your style. It also means that there is no longer a way to globally change the styles, as there isn't a class name 'hook' into that component.
TLDR; Use modifier classes only for simple overrides. For anything more complicated, make a sub-component.
Using modifier classes
|
|
|
|---|---|
|
|
Using custom classes
Unless otherwise specified, when passing in className, id, and style on a component, these props are placed on the outermost div of the rendered component.
How do I pass custom styles to a component?
This is not recommended. We'd suggest you try to customize your component using modifier or custom classes.
If you're sure you want to do this...


| 183 | (A) | Stirre thou Nero with noye to newe thaym witħ sorowe |
| (C) | ---- no text ---- | |
| 179 | (D) | To note Nero with noy to newyn his sorwe |
| 177 | (E) | to stere nero witħ noy . & newyn his sorwe |
| (Ex) | ---- no text ---- | |
| 182 | (L) | To stire nero with noye & newen his sorowe |
| 176 | (P) | Sir Nero to noye & new hym sorow |
| 177 | (U) | To stir Nero with noye / to newen her sorougħ |
| (V) | ---- no text ---- |


FPIT
Section: Devices and Network Interfaces (4)Updated: xf86-input-fpit 1.4.0
Index Return to Main Contents
NAME
fpit - Fujitsu Stylistic input driverSYNOPSIS
Section N'34'InputDeviceN'34' Identifier N'34'idevnameN'34' Driver N'34'fpitN'34' Option N'34'DeviceN'34' N'34'devpathN'34' ... EndSection
DESCRIPTION
fpit is an Xorg input driver for Fujitsu Stylistic Tablet PCs.The fpit driver functions as a pointer input device, and may be used as the X server's core pointer.
SUPPORTED HARDWARE
This driver supports the touchscreen of the Stylistic LT and (with special options) of the Stylistic 500, 1000, 1200, 2300, and 3400. Modern FinePoint MP800 devices will also work with this driver.Under Linux the Fujitsu's serial port is not, by default, detected. Therefore the port must be configured manually as described in the accompanying readme.txt file.
For example, add the following to your startup scripts for Stylistic xx00 devices:
- setserial /dev/ttyS3 autoconfig
- setserial /dev/ttyS3 IRQ 15 baud_base 115200 port 0xfce8
This driver now supports Stylistic 3400 (and possibly other passive-pen systems) with a special "Passive" paramter. Try this serial configuration for the 3400:
- setserial /dev/ttyS3 autoconfig
- setserial /dev/ttyS3 uart 16450 irq 5 port 0xfd68
-
CONFIGURATION DETAILS
Please refer to xorg.conf(5x) for general configuration details and for options that can be used with all input drivers. This section only covers configuration details specific to this driver.The device supports the following options:
-
- Option MaximumXPosition number
- Sets the maximum X position, use this to calibrate your touchscreen's right hand edge.
- Option MinimumXPosition number
- Sets the minimum X position, use this to calibrate your touchscreen's left hand edge.
- Option MaximumYPosition number
- Option MinimumYPosition number
- Same as for X axis, but for Y axis.
- Option InvertX
- Option InvertY
- Invert the specified axis.
- Option SwapXY
- Swap the X and Y axis (after inversions).
- Option Rotate CW
- Option Rotate CWW Manipulate the invert and swap options to match screen rotations. (Will behave strangely if combined with invert or swap options.) New users should consider the "TrackRandR" option instead.
- Option DeviceName name
- Option DeviceName name sets the name of the X device.
- Option AlwaysCore on
- enables the sharing of the core pointer. When this feature is enabled, the device will take control of the core pointer (and thus will emit core events) and at the same time will be able, when asked so, to report extended events. You can use the last available integer feedback to control this feature. When the value of the feedback is zero, the feature is disabled. The feature is enabled for any other value.
- Option DebugLevel number
- sets the level of debugging info reported.
- Option BaudRate 38400, 19200 (default) or 9600
- changes the serial link speed.
- Option Passive
- decodes the passive pen. Option TrackRandR automatically keeps the cursor synchronized with the pen's position, even when the screen is resized or rotated. (Recommended for tablet PC's.)
Example, for Stylistic LT setup is:
Section N'34'InputDeviceN'34' Identifier N'34'mouse0N'34' Driver N'34'fpitN'34' Option N'34'DeviceN'34' N'34'/dev/ttyS3N'34' # Option N'34'TrackRandRN'34' EndSection
And for other Stylistic devices try:
Section N'34'InputDeviceN'34' Identifier N'34'mouse0N'34' Driver N'34'fpitN'34' Option N'34'DeviceN'34' N'34'/dev/ttyS3N'34' Option N'34'BaudRateN'34' N'34'19200N'34' Option N'34'MaximumXPositionN'34' N'34'6250N'34' Option N'34'MaximumYPositionN'34' N'34'4950N'34' Option N'34'MinimumXPositionN'34' N'34'130N'34' Option N'34'MinimumYPositionN'34' N'34'0N'34' Option N'34'InvertYN'34' # Option N'34'TrackRandRN'34' EndSection
For Stylistic 3400:
Section N'34'InputDeviceN'34' Identifier N'34'mouse0N'34' Driver N'34'fpitN'34' Option N'34'DeviceN'34' N'34'/dev/ttyS3N'34' Option N'34'BaudRateN'34' N'34'9600N'34' Option N'34'MaximumXPositionN'34' N'34'4070N'34' Option N'34'MaximumYPositionN'34' N'34'4020N'34' Option N'34'MinimumXPositionN'34' N'34'0N'34' Option N'34'MinimumYPositionN'34' N'34'0N'34' Option N'34'PassiveN'34' Option N'34'SendCoreEventsN'34' # Option N'34'TrackRandRN'34' EndSection
SEE ALSO
Xorg(1), xorg.conf(5), Xserver(1), X(7).AUTHORS
Original FPIT port: Rob Tsuk<EMAIL_ADDRESS>and John Apfelbaum<EMAIL_ADDRESS>Port: Richard Miller-Smith<EMAIL_ADDRESS>based on Elographics code from: Patrick Lecoanet
X4.2 Cleanup: Alan Cox
Index
This document was created by man2html, using the manual pages.
Time: 05:33:53 GMT, December 24, 2015


@feat7
Frontend Starter Kit
Frontend development made easy. Automated browser reload. Easy file paths. Pre-installed font-awesome and bulma.
git clone https://github.com/feat7/frontend-starter.git
cd frontend-starter
npm install
npm start
Example
Github
© Vinay Khobragade
MIT License


This is a basic demo of Wrangle, an experimental UI plugin by ZURB. Click a photo to view a larger version. To see the selection plugin in action, hit the "start demo" button at the top of the screen.
Learn more about how Wrangle was built on ZURBplayground.
OKThis is a demonstration of Wrangle, a jQuery plugin developed by ZURB. Learn more about this plugin on ZURBplayground.


Metro Express
Home
(current)
Booking
Pricing
Dropdown link
Action
Another action
Something else here
Login /Sign Up
Login/Sign Up
×
Login
Sign Up
Email
Password
Submit
Forgot your password?
Name
Mr.
Ms.
Mrs.
Email
Mobile
Password
Save & Continue
Cancel
OR
Login with
Facebook
Google
Previous
Next
Hello world! This is the Open University Metro Project.
Hello, world!
-->


Cheesecake Order Form
Quantity
Topping
1
2
3
4
ALL the cheesecake!!!
Plain
Cherry
Chocolate
Notes:
Enter any special instructions here.
Orders for
Jan
Jan
Feb
Mar
Apr
May
Jun
Jul
Aug
Sep
Oct
Nov
Dec
11 cherry
17 chocolate
31 plain


Source code for solve_lnd
"""
solve_lnd: Main example for testing logistics network design optimizer
This program illustrates how to use the optimization model implemented
in module `lnd.py`, with potential places for distribution centers
being pre-clustered by the method implemented in `clustering.py`.
Notice that for large instances, completing the tests may still take
a considerable time.
"""
import unittest
from geopy.distance import great_circle as distance
from lnd import lnd_ms, lnd_ss, mk_costs
from clustering import preclustering
from mk_instances import mk_instances
[docs]class TestClusteringAndSolving(unittest.TestCase):
[docs] def test_one(self):
"""
Test clustering a set of potential dc's, then optimizing the location of a small number of them
"""
TIME_LIM = 300 # allow gurobi to use 5 minutes
import time
from mk_instances import mk_instances
from clustering import preclustering
models = {
"multiple source":lnd_ms,
"single source":lnd_ss
}
for k in models:
for (weight, cust, plnt, dc, dc_lb, dc_ub, demand, plnt_ub, name) in mk_instances():
print(f"* using {k} model *")
print(f"*** new instance, {len(plnt)} plants + {len(dc)} dc's + {len(cust)} customers ***")
# prepare costs for optimization part
(tp_cost, del_cost, dc_fc, dc_vc) = mk_costs(plnt, dc, cust)
# clustering part
prods = weight.keys()
n_clusters = (10 + len(dc))//5
cluster_dc = preclustering(cust, dc, prods, demand, n_clusters)
dc = cluster_dc
# optimization part
start = time.process_time()
dc_num = (90 + len(dc))//50
print(f"***** dc's clustered into {len(dc)} groups, for choosing {dc_num} dc's")
model = models[k](weight, cust, dc, dc_lb, dc_ub, plnt, plnt_ub,
demand, tp_cost, del_cost, dc_fc, dc_vc, dc_num)
model.setParam('TimeLimit', TIME_LIM)
model.optimize()
# model.write("lnd.lp")
EPS = 1.e-6
for x in model.getVars():
if x.X > EPS:
print(x.varName, x.X)
end = time.process_time()
print(f"solving MIP used {end-start} seconds")
print()
if __name__ == '__main__':
unittest.main()


Offers
Offers in mariwads are real. Get your all time goodies at the app at the most lower prices that you can't miss. The offers are awarded by your favourite and all time bussiness location. You also get the ponts whenever you avail yourself to buy this goodies. This is a great deal that you can't afford to miss
Events
No more struggle to get where to engage your self as per your interest. Real events thats upto date and happening now. Know an event near you through the app. Work is easy with mariwads with you in your phone
QR-Code
Scan the QRs code at your favourete shoping center to earn points. Imagine getting points with no struggle, just scanning the QRs code and becoming the frequent user of the app. That easy, right?
How the app works
Sign Up
Input your mobile number or you acn sign up with Facebook which will take you to facebook login page.
Create
Input your full name, email address and your age group
Update
Click on update button to submit your data. This will take you to the hope page of the app and display offers.


slashrocket is a friendly, inclusive community
for developers of all skill levels and disciplines.
slashrocket is a community of developers of all backgrounds. we enjoy discussing development and provide a friendly home on the web for developers. we adhere to a code of conduct so everyone feels welcome.
use the button below to join our community!


#include <script.h>
Collaboration diagram for TProcArg:
Data Fields | |
| char * | name |
| float | fval |
| int | ival |
| int | frame |
Definition at line 48 of file script.h.
| int TProcArg::frame |
Definition at line 52 of file script.h.
Referenced by add_framearg(), add_process(), dummy_script(), process_frames(), and resolve_script().
| float TProcArg::fval |
Definition at line 50 of file script.h.
Referenced by add_floatarg(), dummy_script(), and process_frames().
| int TProcArg::ival |
Definition at line 51 of file script.h.
Referenced by add_intarg(), dummy_script(), and process_frames().
| char* TProcArg::name |


John Smith
Portland, OR
Contact via
Email
or phone (1-234-567-8900.)
Experience
Student web developer
@ Epicodus
January 2020 - present
Learning HTML, CSS, JS, C#, and more!
Education
B.A. in Ceramics
PNCA
2010-2014
Certificate in baking
Portland baking school
2015
Skills
HTML, CSS, JavaScript
using a pottery wheel
baking


Get Started
As we have done in the past, I want you to begin by creating two files in your javascript-test directory
- radio-choices.html
- radio-choices.js
The next steps should also be familiar:
- Use a script tag to link the HTML and JavaScript files
- Use a link tag to link in your favorite CSS file. Add a separate file for styling your buttons if you set things up that way.
- Use an anchor tag to link the radio-choices.html file to the home page found in the root of your repository.
And finally, flesh out the structure of your HTML file with these tags and directives:
- doctype (not really a tag, but a directive)
- html
- head
- body
- header
- H1 tag with title
- main
- footer
- Copyright notice
- Link back to home page.
- closing tags (body, html)
Here is a suggested look and feel for the small page that we are going to build. I show it to you so you can get a sense of where we are headed.
Remember that at some point you are going to want to put a window.onload method in your JavaScript file. With this particular assignment, it might make sense to put it in right away.
Add Main Sections
Inside your main element create two section elements. In the first, put this code:
<fieldset>
<legend>The User Selection</legend>

User choice: Unknown

</fieldset>
Inside the next section element, put this code:
<fieldset>
<legend>Our Form</legend>

</fieldset>
Forms
The section tag that wraps your form fieldset should have an ID of form-section. This ID is used in the set-color function shown later in this document. Be sure to include this ID or your code won't work. (Just to be clear, I'm asking you to add the section elements that wrap the above code. The second section should have the ID. This is a simple task, but I want you to do it.)
Create Form
Previously, we have responded to simple button clicks with onclick events. This time we will look at an alternative way to respond to button clicks. In this model, we will create an HTML element called a form, and place a submit button in the form. This is a common model in web development, especially when one wants to send data back to a server. We will not use a server, but we will learn at least the client side of one way to handle the client/server model in web apps.
Basics
Create a form with two radio buttons and a submit button.
<form id="sort-type" action="goThere">
<input type="radio" id="blue" name="sorter" value="Blue" checked>
Blue
<input type="radio" id="green" name="sorter" value="Green">
Green

<input class="btn-padding" type="submit" value="Submit">

</form>
Here we create a form with an ID of sort-type. Inside it we place two radio buttons. Note that both radio buttons have the same type and the same name. The name attribute is used to bind the two radio buttons together so that they act as a single unit. If you select one, then the second is deselected. This way only one radio button can be chosen at a time. We also use the ID of the radio button to link it to the label. That way, clicks on the label are the same as clicks on the radio button itself.
We have only two radio buttons, but you can add as many to this group as you want. If you want to create a second set of radio buttons, then simply give the second set a different name and they too will act together as a unit without affecting the first group. (Just to be clear, I'm not asking you create a second set of radio buttons in this exercise.)
Note that we add an empty attribute called checked to one radio button. This is our way of telling the HTML file that we want this button to be selected by default. It is always a good idea to have one default option selected on your radio buttons. Otherwise, when events are fired, no particular option will be selected, and your code might produce random and non-sensical results.
NOTE: Think of it this way. Suppose we said "When the bell rings, go out the back door if the light is red and the front door if the light is green." Then we ring the bell without turning on either the red or green light. The result is likely to be chaos. The same thing can happen in an application if you don't set default values for your radio buttons.
Finally, notice that we have a submit button beneath the radio buttons. Somewhat confusingly, we use the input control to create this button. Confusing or not, it is an old, established tradition in web development and one that you need to understand if you want to do any real work in the web development world.
When the user clicks on the submit button an event is fired, just as onclick events are fired by the buttons we have created in previous projects. Our goal will be to respond to these events, and act appropriately when they fire.
Responding to Form Submit Events
When we click on a button or select a radio button, we generate events. A message is sent out to announce the event. We can write JavaScript code that listens for these events, and takes specific actions when they occur. We have done this several times already by responding to onclick events.
In this app we will respond to submit button clicks. Radio buttons also send out events, but we will not respond to them. At least not at first. Instead, when a submit button is clicked, we will use a JavaScript method to query the radio buttons as to their current state.
Here is the code for responding to events generated by the submit button for our simple form.
const myForm = document.getElementById('sort-type');
myForm.addEventListener('submit', (event) => {
event.preventDefault();
const value = document.querySelector('input[name="sorter"]:checked').value;
if (value.toLowerCase() === 'green') {
setColor("blueBackground");
showChoice(value);
} else {
setColor("greenBackground");
showChoice(value);
}
});
let currentClass = null;
const setColor = (className) => {
console.log("SET CLASS TO", className);
var element = document.getElementById("form-section");
if (currentClass) {
element.classList.remove(currentClass);
}
currentClass = className;
element.classList.add(className);
}
To make this work, we also need to add two CSS rules:
.blueBackground {
background-color: aqua;
}
.greenBackground {
background-color: green;
}
Here is a break down of the code:
- We use getElementById to select our form from among the other controls on the page.
- Once we have a handle to the form, we use the addEventListener API to do more or less the same thing that an onclick property does: we are creating a method that will be called when the submit button on the form is clicked.
- Normally, events in a form are sent back to a server. We don't have servers in this class, so we call preventDefault to tell JavaScript not to send the data back to a server. We are, in effect, asking the browser not to perform the standard action when a user clicks on a button in a form.
All that is good and well. The trickiest part comes next. We want to find out which radio button was selected when the user clicked the select button. We do this by creating a very fancy selector.
Pause for a moment, and look at the getElementById call. We pass sort-type as a parameter to that method. The ID sort-type is called a selector. When we call querySelector, we are doing the same thing, only our selector is much fancier.
The selector for our calls to getElementById has one part: the ID of the control we want to access. This selector has three parts:
- input: this tells the system that we are looking for an input control
- name="sorter": Find the group of radio buttons tied together by the name sorter. Recall that all of our radio buttons have a name attribute set to the word sorter.
- checked: Tell browser engine that we are looking for the selected radio button.
Put it all together and you get our selector:
input[name="sorter"]:checked
If you look back at our code, you will see that we then ask for the value of our selected radio button. This value uniquely identifies the radio button that was selected and gives us enough information to act on the user's choice. If necessary, go back to the original declaration for our radio buttons on the HTML form, and not that we gave them unique, and descriptive value attributes.
Admittedly, this process is a bit complex, perhaps too complex for this course. Nevertheless, it is an excellent example of the way developers use simple logic to perform powerful actions. If you continue to pursue your interest in programming, you will find tasks like this become simpler over time because you perform similar actions so frequently. It is a bit like learning to ride a bike: at first it is hard, then later you may find it difficult to understand how anyone does not know how to such things.
The difference between getElementById and querySelector is simple: "If you know the ID (which must be unique) of an element, then use getElementById, but if there is no ID to use, then querySelector is a more generic solution.
There is also querySelectorAll, which returns not the first element that matches the selector, but all that match it.
See also:
- getElementsByClassName()
- getElementsByName()
- getElementsByTagName()
- getElementsByTagNameNS()
Decisions
There is, of course, one final section in the code block we have been studying.
if (value.toLowerCase() === 'green') {
setColor("blueBackground");
showChoice(value);
} else {
setColor("greenBackground");
showChoice(value);
}
In this code, we make a decision based on which of the two radio buttons the user chose. In our program, we then simply display our output in the span of the paragraph element with the ID user-choice and set the background color of the form section. I give you the setColor method but ask you to create the simple showChoice method. Put the showChoice method outside the window.onload block. I'll leave it up to you to implement it since we have already many times made calls to getElementById and then use the textContent property.
When implementing showChoice you are going to have to get a handle to the span in your HTML code where the user's choice will be displayed. By default, the value for the span is unknown. You need to change it to reflect the user's choice. For instance, the user might have chosen green or blue and you want to show to the user. See the screenshots below to see how it should look.
Setting the text in the span is a two step process:
- Get a handle to the span.
- Use the handle to set the textContent of the span.
The value you set the span to is passed as a parameter to showChoice.
Setting the background color.
If you select the Blue option and press the button, the background of the form should change to blue. I give you a method called setColor that swaps the HTML class associated with the form. We use the class to set the background-color for the form. Thus, if we change the class for the form, we change the color of the form. The trick is to know how to change the class for a form on the fly. If you study the code for setColor it should soon be clear how it is done.
First we use getElementById to select the section of the HTML document that we want to change. Then we use the classList.add and classList.remove methods to swap the in a new class for the section. We also use the old programmer's trick of saving the currentClass in a variable so we know what class to swap out before swapping in the new one.
The images shown below demonstrate how the class on the section element is changed when the user clicks the submit button and different options are chosen.
Look on for more tips on working with if and else. These will be useful if you are struggling with this part of the assignment.
Turn it in
Your final application should have five radio buttons:
- Blue
- Green
- Red
- Yellow
- Purple
NOTE: I don't really care which colors you choose, so if you want to come up with your own color schemes then proceed apace.
When the user clicks the button, make sure your code displays the value of the selected radio button in our span and changes the background color of the form.
This exercise has two primary goals:
- To ensure you understand how to create radio buttons
- To ensure that you can compose a relative complex if..else clause.
When you are done, commit and push your work. Tell me the name of the files you created when you submit your work and provide a link to your code running on GitHub Pages. The link should be to your home page, and your home page should link to implementation of this exercise.


Tip: Use your voice to tell which Wikipedia entry to search for. No need to use your eyes, the entry's content will be reading to you!
Let's try it!
{{range .Articles}}
{{$x := index .Sections 0}}
{{$x.Content}}
{{end}}


Stewartry RFC continue fine home form with fourth win in a row over Irvine
The Blacks ran out 31-13 winners over the Ayrshire side and sit third in Tennent's West One
by Stuart Gillespie, https://www.dailyrecord.co.uk/authors/stuart-gillespie/Stewartry notched up a fourth league win in a row in Tennent’s West One as they continued to rebuild Fortress Greenlaw.
Visitors Irvine kicked off in the cold, dry conditions and Stewartry’s Mick McCulloch was first to show with Austin and Milligan winning a first penalty.
But within 10 minutes the Blacks were reduced to 14 men when Mattie Taylor was yellow carded for a dangerous tackle.
However, this just spurred the Blacks on as Irvine won the penalty line out but two Jason Forsyth tackles won possession. This gave Danny Boyd the chance to lead a charge into the Irvine 22, backed up by Milligan and Robert Austin who broke clear to score the first try. The conversion was missed.
Irvine hit back immediately, taking play into the Stewartry 22. They attacked the Stewartry line for six minutes before scoring in the corner, a successful conversion giving them a narrow lead.
From the restart Irvine won the ball and a penalty line out on the halfway was defended with Andrew Picken taking play back to the Irvine 22. He won a penalty which Mosey kicked into the corner.
The Blacks won their lineout with Forsyth again driving to the try line and a final forward drive saw prop Mick McCulloch over the line for the second try, the conversion missed again.
Irvine again pushed Stewartry back into their own half and converted the second of two penalties to level things up at 10-10.
From the restart, Stewartry kicked long and took play right to the try line where hooker Kieran McGuire scored the third try after being driven over with the pack behind him.
Craig Mosey converted for a half time score of 17-10 to Stewartry.
The hosts were fast out of the traps with replacements Hogg and McMorran leading the charge. Under pressure Irvine gave away three penalties before Jason Forsyth scored a deserved bonus point fourth try which Mosey again converted.
In 55 minutes Irvine converted a second penalty. Stewartry scored a final fifth try in 63 minutes after Hogg broke down the middle, releasing Craig Mosey for a 30-metre sprint into the posts and where he then added the conversion.


Coffee & Viz:
Presentation Title
Center for Geospatial Analytics
Name
Coffee & Viz:
Presentation Title
Center for Geospatial Analytics
Name
Text template
Subtitle: text...
- list item...
- list item...
- list item...
Video template
...
NCSU OSGeoREL
Member of Geo4all initiative: global network for foss4g education
NCSU North America lead lab: GRASS GIS development, courses, & research projects
On GitHub: https://github.com/ncsu-osgeorel
Center for Geospatial Analytics


{{broadcast.getFormattedDateTimeSent()}}
{{broadcast.succeeded ? "Sent successfully" : "Some errors" }}
{{broadcast.smsCount > 0 ? broadcast.smsCount : '-' }}
{{broadcast.emailCount > 0 ? broadcast.emailCount : '-'}}
FB: {{broadcast.fbPages?.join(", ")}}
,
Twitter: {{broadcast.twitterAccount}}


Paragraphs are also blocks elements However, <em> and <strong> elements are not. They are inline elements.
Block elements define the flow of HTML ,while,inline elements do not.


Document Outline in HTML4
In this section, we discuss the document outline ...this section continues...
the relationship between div and headings
Div element don't contribute to document outline sectioning ...this subsection continues...
heading 1
heading 3
We use h1, ..., or h6 for heading
heading 4
heading 2


Forgot your password?
Enter your email address below to reset your password. You will be sent an email which you will need to open to continue. You may need to check your spam folder.
{{ if .status }}
×
{{ .status }}
{{ end }} {{ if .error }}
×
{{ .error.Message }}
{{ end }}
Email
Send Email
Back to Login


Akacia MS
Welcome,
Username
General
Home
Create Product Listings
Edit Product Listings
View Promotional Content
Create Promo Content
User name
Profile
Log Out
Create Promotional Content
Content Title
*
Content Description
*
Image
*
Add PDF file
Submit


| Select a month to query its usage |
| Active Instances: 4 Active RAM: 6GB This Month's VCPU-Hours: 1013.99 This Month's GB-Hours: 11042.14 |
| Usage Summary |
| Project Name | VCPUs | Disk | RAM | VCPU Hours | Disk GB Hours |
| demo | 0 | 0 | 0 | 357.88 | 0.00 |
| test1 | 2 | 20 | 2GB | 359.25 | 5267.64 |
| kjw | 2 | 40 | 4GB | 296.86 | 5774.50 |
| Displaying 3 items |
|---|


Ω500
Ω500 snippets
Simple game container
Entities
: Draw a game character
Tile map with spritesheet
Scrolling tile map with spritesheet
Scaling
: Scale spritesheet images
Cropping images to spritesheet
Map with entity
Tile map - generated spritesheet
Font plotting
A* Pathfinding
Load Tiled Map Editor file
Utils
Simplex noise
Utils
Colors
Quadtree
Mixins
back


All common reports are available from the reporting module. These include expected arrivals, bookings, payments due, occupancy and more.
Every business is unique. The custom reporting module is a powerful tool to create custom reports using a dedicated report writing application to produce the exact reports and data views required for your business.
Real-Time Quoting Engine
Instant quotes auto emailed to guests along with the home description, images and quote information including any mandatory extras. Quotes can be requested online by your potential guests or emailed by a member of staff directly from the software. Sent quotes instantly become available to staff via a central quotes pool.
Create and send quotes for multiple agent rates sets.


NATIVITY OF OUR LORD
Mass at Dawn
ENTRANCE ANTIPHON
Today a light will shine upon us, for the Lord is born
for us; and he will be called Wondrous God, Prince of peace, Father of future
ages: and his reign will be without end.
The GLORIA is said. (English, Latin)
COLLECT
Grant, we pray, almighty God, that, as we are bathed
in the new radiance of your incarnate Word, the light of faith, which illumines
our minds, may also shine through in our deeds. Through our Lord Jesus Christ,
your Son, who lives and reigns with you in the unity of the Holy Spirit, one
God, for ever and ever.
The PROFESSION
OF FAITH (Creed) is said. (English, Latin) All kneel at the words and by the Holy
Spirit was incarnate.
PRAYER OVER THE OFFERINGS
May our offerings be worthy, we pray, O Lord, of the
mysteries of the Nativity this day, that, just as Christ was born a man and
also shone forth as God, so these earthly gifts may confer on us what is
divine. Through Christ our Lord.

PRAYER AFTER COMMUNION
Grant us, Lord, as we honour with joyful devotion the
Nativity of your Son, that we may come to know with fullness of faith the
hidden depths of this mystery and to love them ever more and more. Through
Christ our Lord.


|
|
IFXVector3 Class ReferenceThis class handles vectors of three floats.
More...
List of all members.
|
Public Member Functions |
| | IFXVector3 (void) |
| | IFXVector3 (F32 x, F32 y, F32 z) |
| | IFXVector3 (const float *floats) |
| | IFXVector3 (const IFXVector3 &operand) |
| | IFXVector3 (const IFXVector2 &operand) |
| void | Reset (void) |
| void | Set (F32 x, F32 y, F32 z) |
| IFXVector3 & | operator= (const F32 *floats) |
| IFXVector3 & | operator= (const IFXVector3 &operand) |
| IFXVector3 & | operator= (const IFXVector2 &operand) |
| BOOL | operator== (const IFXVector3 &operand) const |
| BOOL | IsApproximately (const IFXVector3 &operand, F32 margin) const |
| F32 * | Raw (void) |
| const F32 * | RawConst (void) const |
| F32 & | operator[] (U32 n) |
| F32 | operator[] (U32 n) const |
| F32 & | Value (U32 index) |
| F32 | Value (U32 index) const |
| F32 & | X (void) |
| F32 & | Y (void) |
| F32 & | Z (void) |
| F32 | XC (void) const |
| F32 | YC (void) const |
| F32 | ZC (void) const |
| BOOL | IsNonZero (void) const |
| BOOL | HasZeroComponent (void) const |
| IFXVector3 & | Add (const IFXVector3 &operand) |
| IFXVector3 & | Add (const IFXVector3 &left, const IFXVector3 &right) |
| IFXVector3 & | AddScaled (const IFXVector3 &operand, F32 scalar) |
| IFXVector3 & | Subtract (const IFXVector3 &operand) |
| IFXVector3 & | Subtract (const IFXVector3 &left, const IFXVector3 &right) |
| IFXVector3 & | Multiply (const IFXVector3 &operand) |
| IFXVector3 & | Multiply (const IFXVector3 &left, const IFXVector3 &right) |
| IFXVector3 & | Divide (const IFXVector3 &operand) |
| IFXVector3 & | Divide (const IFXVector3 &left, const IFXVector3 &right) |
| IFXVector3 & | Scale (F32 scalar) |
| IFXVector3 & | Rescale (F32 magnitude) |
| IFXVector3 & | Negate (void) |
| IFXVector3 & | Reciprocate (void) |
| IFXVector3 & | Invert (void) |
| F32 | DotProduct (const IFXVector3 &operand) const |
| IFXVector3 & | CrossProduct (const IFXVector3 &left, const IFXVector3 &right) |
| IFXVector3 & | Normalize (void) |
| IFXVector3 & | SafeNormalize (void) |
| F32 | CalcMagnitude (void) const |
| F32 | CalcMagnitudeSquared (void) const |
| F32 | CalcDistanceFrom (const IFXVector3 &operand) const |
| F32 | CalcDistanceSquaredFrom (const IFXVector3 &operand) const |
| F32 | CalcCosAngleFrom (const IFXVector3 &operand) const |
| F32 | CalcCosAngleSquaredFrom (const IFXVector3 &operand) const |
| void | Interpolate (F32 t, const IFXVector3 &from, const IFXVector3 &to) |
| IFXString | Out (BOOL verbose=false) const |
Static Public Member Functions |
| static F32 | DotProduct (const IFXVector3 &left, const IFXVector3 &right) |
Private Attributes |
| F32 | m_value [3] |
Detailed Description
This class handles vectors of three floats.
- Note:
- There is no default initialization. The vector is undefined unless set.
Constructor & Destructor Documentation
| IFXVector3::IFXVector3 |
( |
void |
|
) |
[inline] |
|
|
|
Construct without initializing.
|
| IFXVector3::IFXVector3 |
( |
F32 |
x, |
|
|
F32 |
y, |
|
|
F32 |
z |
|
) |
[inline] |
|
|
|
Construct using 3 explicit values.
|
| IFXVector3::IFXVector3 |
( |
const float * |
floats |
) |
[inline] |
|
|
|
Construct using an array of at least 3 floats representing the 3 components in the vector.
|
| IFXVector3::IFXVector3 |
( |
const IFXVector3 & |
operand |
) |
[inline] |
|
| IFXVector3::IFXVector3 |
( |
const IFXVector2 & |
operand |
) |
[inline] |
|
|
|
Constructs using a 2 component vector.
The third component is set to zero. |
Member Function Documentation
|
|
Populates this vector with the sum of the operands.
|
|
|
Adds the operand into this vector.
|
|
|
Scales the operand and add into this vector.
|
| IFXINLINE F32 IFXVector3::CalcCosAngleFrom |
( |
const IFXVector3 & |
operand |
) |
const |
|
|
|
Computes the angle between this vector and the operand.
They do not have to be normalized. DotProduct() is faster if they are normalized. |
| IFXINLINE F32 IFXVector3::CalcCosAngleSquaredFrom |
( |
const IFXVector3 & |
operand |
) |
const |
|
|
|
Computes the square of the angle between this vector and the operand.
This is faster than computing the actual angle. |
| IFXINLINE F32 IFXVector3::CalcDistanceFrom |
( |
const IFXVector3 & |
operand |
) |
const |
|
|
|
Returns the distance between this vector and the operand, presuming they both represent positions.
|
| IFXINLINE F32 IFXVector3::CalcDistanceSquaredFrom |
( |
const IFXVector3 & |
operand |
) |
const |
|
|
|
Returns the square of the distance between this vector and the operand.
This is faster than computing the actual distance. |
| IFXINLINE F32 IFXVector3::CalcMagnitude |
( |
void |
|
) |
const |
|
|
|
Returns the length of the vector.
|
| IFXINLINE F32 IFXVector3::CalcMagnitudeSquared |
( |
void |
|
) |
const |
|
|
|
Returns the square of the length of the vector.
This is faster than computing the actual length. |
|
|
Populates this vector with the cross product of the two operands.
The result will be normalized if the operands were normalized. |
|
|
Divides each component in the left vector with the corresponding component in the right vector and store the result in this vector.
Attempted division by zero results in no operation (on a per-component basis). |
|
|
Divides each component in the vector with the corresponding component in the operand.
Attempted division by zero results in no operation (on a per-component basis). |
|
|
Returns the dot product of the two operands.
If you expect to take the acos() of result to find an angle, both vectors must be normalized before calling this method. Consider using CalcCosAngleFrom() if the vectors are not normalized. |
| IFXINLINE F32 IFXVector3::DotProduct |
( |
const IFXVector3 & |
operand |
) |
const |
|
|
|
Returns the dot product of this vector with the operand.
If you expect to take the acos() of result to find an angle, both vectors must be normalized before calling this method. Consider using CalcCosAngleFrom() if the vectors are not normalized. |
| IFXINLINE BOOL IFXVector3::HasZeroComponent |
( |
void |
|
) |
const |
|
|
|
Returns true if any component is zero.
|
|
|
Populates this vector by the interpolated value from the first vector to the second vector by the fraction t, where t=0 results in 'from' and t=1 results in 'to'.
|
| IFXINLINE BOOL IFXVector3::IsApproximately |
( |
const IFXVector3 & |
operand, |
|
|
F32 |
margin |
|
) |
const |
|
|
|
Returns TRUE if each component in the operand is with the given margin from the value of the corresponding component in this vector.
|
| IFXINLINE BOOL IFXVector3::IsNonZero |
( |
void |
|
) |
const |
|
|
|
Returns true if any component is non-zero.
|
|
|
Populates components of this vector with the product of the corresponding components of the operands.
|
|
|
Multiplies each component in the operand into the corresponding component of this vector.
|
| IFXINLINE IFXVector3 & IFXVector3::Negate |
( |
void |
|
) |
|
|
|
|
Multiplies all components by -1 (additive inverse).
|
| IFXINLINE IFXVector3 & IFXVector3::Normalize |
( |
void |
|
) |
|
|
|
|
Scales the vector to a length of 1.
- Todo:
- : consider having Normalize just call SafeNormalize
|
|
|
Populates this vector using a 2 component vector.
The third component is set to zero. |
| IFXINLINE IFXVector3 & IFXVector3::operator= |
( |
const F32 * |
floats |
) |
|
|
|
|
Populates the vector using an array of at least 3 floats representing the 3 components in the vector.
|
| IFXINLINE BOOL IFXVector3::operator== |
( |
const IFXVector3 & |
operand |
) |
const |
|
|
|
Exact compare operation (zero tolerance).
- Todo:
- Watch out when comparing floating point values: 0x80000000 is negative zero (-1.0 * 2**-127), and 0x00000000 is positive zero (1.0 * 2**-127) This method will return false when comparing negative zero with positive zero
|
| IFXINLINE F32 IFXVector3::operator[] |
( |
U32 |
n |
) |
const |
|
|
|
Accesses a component as const.
|
| IFXINLINE F32 & IFXVector3::operator[] |
( |
U32 |
n |
) |
|
|
|
|
Accesses a component of the internal float array.
|
| IFXString IFXVector3::Out |
( |
BOOL |
verbose = false |
) |
const |
|
|
|
Generates a string representing the contents of this vector.
|
| F32* IFXVector3::Raw |
( |
void |
|
) |
[inline] |
|
|
|
Returns a pointer to the internal float array containing the 3 floats.
This is not a copy. |
| const F32* IFXVector3::RawConst |
( |
void |
|
) |
const [inline] |
|
|
|
Returns a const pointer to the internal float array.
|
| IFXINLINE IFXVector3 & IFXVector3::Reciprocate |
( |
void |
|
) |
|
|
|
|
Divides each component into 1 and put the result back into the component (multiplicative inverse).
|
|
|
Sets the length of the vector (normalize, then scale).
|
| IFXINLINE void IFXVector3::Reset |
( |
void |
|
) |
|
|
|
|
Sets all three components to zero.
|
| IFXINLINE IFXVector3 & IFXVector3::SafeNormalize |
( |
void |
|
) |
|
|
|
|
Scales the vector to a length of 1, but protect against divide by zero.
|
|
|
Multiplies each components of this vector by the given scalar.
|
| IFXINLINE void IFXVector3::Set |
( |
F32 |
x, |
|
|
F32 |
y, |
|
|
F32 |
z |
|
) |
|
|
|
|
Explicitly sets the three components in the vector.
|
|
|
Populates this vector with the difference of the operands.
|
|
|
Subtracts the operand out of this vector.
|
| IFXINLINE F32 IFXVector3::Value |
( |
U32 |
index |
) |
const |
|
|
|
Accesses a component as const.
|
| IFXINLINE F32 & IFXVector3::Value |
( |
U32 |
index |
) |
|
|
|
|
Accesses a component of the internal float array.
|
| F32& IFXVector3::X |
( |
void |
|
) |
[inline] |
|
|
|
Accesses the first component of the vector.
|
| F32 IFXVector3::XC |
( |
void |
|
) |
const [inline] |
|
|
|
Accesses the first component of the vector as const.
|
| F32& IFXVector3::Y |
( |
void |
|
) |
[inline] |
|
|
|
Accesses the second component of the vector.
|
| F32 IFXVector3::YC |
( |
void |
|
) |
const [inline] |
|
|
|
Accesses the second component of the vector as const.
|
| F32& IFXVector3::Z |
( |
void |
|
) |
[inline] |
|
|
|
Accesses the third component of the vector.
|
| F32 IFXVector3::ZC |
( |
void |
|
) |
const [inline] |
|
|
|
Accesses the third component of the vector as const.
|
Member Data Documentation
© 1999 - 2006 Intel Corporation. All rights reserved.
* Other names and brands may be claimed as the property of others.
|
|


Application Home!
Following features have been peeked into. Click on the links below to dive deeper!
00 - Hello world
01 - Supports jQuery and others
02 - Handling file system
03 - Operating system info
04 - File browser
05 - Custom menus
06 - Tray icons
07 - Notifications
08 - Webview
09 - Audio & Video


Rio de Janeiro clashes mar Flamengo homecoming after Libertadores win
Clashes broke out in the streets of Rio de Janeiro on Sunday, as a group of fans of hometown soccer team Flamengo, who had gathered in the city center to welcome back players after they won the Copa Libertadores, battled with police.
RIO DE JANEIRO: Clashes broke out in the streets of Rio de Janeiro on Sunday, as a group of fans of hometown soccer team Flamengo, who had gathered in the city center to welcome back players after they won the Copa Libertadores, battled with police.
Tens of thousands of Flamengo fans had flocked to the open-top bus victory parade, thrilled by Flamengo's first title in 38 years in South America's biggest club competition. But towards the end of Sunday afternoon, fights broke out between police and red-and-black-clad fans, TV images showed.
The cause of the clashes was not immediately clear. Fans, buoyed by a day of drinking, hurled rocks and bottles at police, who responded with tear gas and rubber bullets.
The incident marked an unfortunate end to a largely peaceful and joyful event. Flamengo's 2-1 victory against Argentine club River Plate in Lima on Saturday lifted sprits in Rio and Brazil, hit by years of crime, corruption and unemployment.
(Reporting by Gabriel Stargardter; Editing by Peter Cooney)


I am a desecedent of American Slaves, problem solver in training, and second year PhD student at the University of Illinois at Urbana-Champaign. My advisor is Timothy Bretl, I am interested in priming robotic manipulation tasks with computer vision algorithms.
In the past, I was a Research Engineer Intern at Latent Space. During my undergraduate experience, I had the privelege of working with Daniel Ritchie at Brown Univeristy, Christoph Mertz at the Carnegie Mellon University Robotics Institute, and Bo Li at the University of Southern Mississippi.
A comparison of methods for 3D scene shape retrieval
Juefei Yuan, Hameed
Abdul-Rashid, Bo Li, Yijuan Lu, Tobias Schreck, Ngoc-Minh Bui, Trong-Le Do,
Mike Holenderski, Dmitri Jarnikov, Khiem T. Le, Vlado Menkovski, Khac-Tuan Nguyen, Thanh-An Nguyen,
Vinh-Tiep Nguyen, Tu V. Ninh, Perez Rey, Minh-Triet Tran, Tianyang Wang , Song Bai, Xiang Bai, Ngoc-Minh
Bui, Minh N. Do, Trong-Le Do, Anh-Duc Duong, Xinwei He, Tu-Khiem Le, Wenhui Li, Anan Liu, Xiaolong Liu,
Khac-Tuan Nguyen, Vinh-Tiep Nguyen, Weizhi Nie, Van-Tu Ninh, Yuting Su, Vinh Ton-That, Minh-Triet Tran,
Shu Xiang, Heyu Zhou, Yang Zhou, Zhichao Zhou Computer Vision and Image Understanding Volume 201,
December 2020
[ Paper ]
SHREC’19 Track: Extended 2D Scene Image-Based 3D Scene Retrieval Hameed Abdul-Rashid, Juefei Yuan, Bo Li, Yijuan Lu, Tobias Schreck, Ngoc-Minh Bui, Trong-Le Do, Mike Holenderski, Dmitri Jarnikov, Khiem T. Le, Vlado Menkovski, Khac-Tuan Nguyen, Thanh-An Nguyen, Vinh-Tiep Nguyen, Tu V. Ninh, Perez Rey, Minh-Triet Tran, Tianyang Wang Eurographics Workshop on 3D Object Retrieval, 2019 [ Paper ] [ Website ]
An End-to-End Framework for Landslide Erosion Analysis Hameed Abdul-Rashid and Christoph Mertz Carnegie Mellon Robotics Institute Summer Scholar Working Papers Journal, 2019 [ Paper ] [ Code ]
SHREC’18 Track: 2D Image-Based 3D Scene Retrieval. Hameed Abdul-Rashid, Juefei Yuan, Bo Li, Yijuan Lu, Song Bai, Xiang Bai, Ngoc-Minh Bui, Minh N. Do, Trong-Le Do, Anh-Duc Duong, Xinwei He, Tu-Khiem Le, Wenhui Li, Anan Liu, Xiaolong Liu, Khac-Tuan Nguyen, Vinh-Tiep Nguyen, Weizhi Nie, Van-Tu Ninh, Yuting Su, Vinh Ton-That, Minh-Triet Tran, Shu Xiang, Heyu Zhou, Yang Zhou, Zhichao Zhou Eurographics Workshop on 3D Object Retrieval, 2018 [ Paper ] [ Website ]


Provides nonparametric CUSUM tests for detecting changes in possibly serially dependent univariate or multivariate observations. Tests sensitive to changes in the expectation, the variance, the covariance, the autocovariance, the distribution function, Spearman's rho, Kendall's tau, Gini's mean difference, and the copula are provided, as well as a test for detecting changes in the distribution of independent block maxima (with environmental studies in mind). The latest additions are a test sensitive to changes in the autocopula and a combined test of stationarity sensitive to changes in the distribution function and the autocopula.
| Version: | 0.1-9 |
| Imports: | stats |
| Suggests: | copula |
| Published: | 2017-08-23 |
| Author: | Ivan Kojadinovic |
| Maintainer: | Ivan Kojadinovic <ivan.kojadinovic at univ-pau.fr> |
| License: | GPL (≥ 3) | file LICENCE |
| NeedsCompilation: | yes |
| CRAN checks: | npcp results |
| Reference manual: | npcp.pdf |
| Package source: | npcp_0.1-9.tar.gz |
| Windows binaries: | r-devel: npcp_0.1-9.zip, r-release: npcp_0.1-9.zip, r-oldrel: npcp_0.1-9.zip |
| OS X binaries: | r-release: npcp_0.1-9.tgz, r-oldrel: npcp_0.1-9.tgz |
| Old sources: | npcp archive |
Please use the canonical form https://CRAN.R-project.org/package=npcp to link to this page.


Noun1:
Noun2:
Adj:
One day Johnny was walking in the . He was just offered a from Danny. However, he said no because he would rather go .


- ☰
- About
- Projects
- Writings
Code | Creativity | A Passion For Science
I'm using the word "writings" instead of "blog" - because it's classier. Anyway, I will be describing my code/science projects in this section. I personally believe that combining science and web development is way to stand out.


 The ESPN+ streaming event, which is headlined by a light heavyweight matchup between Jan Blachowicz and Ronaldo “Jacare” Souza, marks the promotion’s final 2019 visit to Brazil. The bout is Souza’s debut at 205 pounds. Blachowicz is coming off a knockout win over former UFC middleweight champion Luke Rockhold, who was competing in his first light heavyweight contest.In the co-main event, ex-UFC light heavyweight champion Mauricio “Shogun” Rua, who has been competing since 2002 and a member of the UFC roster since September 2007, faces Paul Craig in a light heavyweight matchup. Craig has been fighting since 2013. Both fighters are coming off “Performance of the Night” bonus-inning stoppage victories.
Before the five-fight main card, the UFC presents seven preliminary bouts on ESPN+.
At the top of the preliminary card, Sergio Moraes, who is looking to avoid the first three-fight losing skid of his professional career, faces James Krause in a welterweight contest. Krause is on a five-fight winning streak. Krause, who has had success as a coach and trainer, is returning to the octagon for the first time since a knockout win over Warlley Alves in August 2018.
Also on the prelims is ex-bantamweight champion Renan Barao. Barao has struggled mightily since he lost the title in 2014. He had a 32-fight unbeaten streak headed into his title defense against T.J. Dillashaw. Dillashaw won that contest by TKO in the fifth round. Barao is 2-7 in his past nine outings. He hasn’t secured a fighter since he defeated Phillipe Nover in September 2016. Barao faces Douglas Silva de Andrade in a featherweight matchup. Andrade began his career on a 23-fight unbeaten run. He is 3-3 since he joined the UFC and coming off a TKO loss to Petr Yan.
HOW TO WATCH OR STREAM UFC FIGHT NIGHT 164
UFC Fight Night 164 takes place at Ginasio do Ibirapuera in Sao Paulo, Brazil. The entire card streams on ESPN+. Prelims begin at 5 p.m. ET, followed by the main card at 8 p.m. ET.
UFC Fight Night 164 Main Card (ESPN+ 8 p.m. ET)
Jan Błachowicz vs. Ronaldo Souza
Maurício Rua vs. Paul Craig
Charles Oliveira vs. Jared Gordon
Antonio Arroyo vs. Andre Muniz
Markus Perez vs. Wellington Turman
UFC Fight Night 164 Prelim Card (ESPN+ 5 p.m. ET)
Sérgio Moraes vs. James Krause
Ricardo Ramos vs. Luiz Eduardo Garagorri
Francisco Trinaldo vs. Bobby Green
Warlley Alves vs. Randy Brown
Douglas Silva de Andrade vs. Renan Barão
Ariane Lipski vs. Veronica Macedo
Vanessa Melo vs. Tracy Cortez


URL Shorter Application
List of Users
Register
Login
Building a Simple URL Shortener With Spring Boot


Electron OAuth Helper
What's this
Easy to use helper library for OAuth1 and OAuth2.
All grant type supported.
- Authorization Code Grant
- Implicit Grant
- Resource Owner Password Credentials Grant
- Client Credentials Grant
TODO: Refreshing an Access Token
You can get a token just by calling a method of start OAuth.
This library is lightweight because it depends only on debug module.
Install
npm install electron-oauth-helper --save
Usage
OAuth1
const { OAuth1Provider } = require("electron-oauth-helper")
const window = new BrowserWindow({
width: 600,
height: 800,
webPreferences: {
nodeIntegration: false // We recommend disabling nodeIntegration for security.
contextIsolation: true // We recommend enabling contextIsolation for security.
// see https://github.com/electron/electron/blob/master/docs/tutorial/security.md
},
})
const config = { /* oauth config. please see example/main/config.example.js. */}
const provider = new OAuth1Provider(config)
provider.perform(window)
.then(resp => {
console.log(resp)
})
.catch(error => console.error(error))
OAuth2
const { OAuth2Provider } = require("electron-oauth-helper")
const window = new BrowserWindow({
width: 600,
height: 800,
webPreferences: {
nodeIntegration: false // We recommend disabling nodeIntegration for security.
contextIsolation: true // We recommend enabling contextIsolation for security.
// see https://github.com/electron/electron/blob/master/docs/tutorial/security.md
},
})
const config = { /* oauth config. please see example/main/config.example.js. */}
const provider = new OAuth2Provider(config)
// Your can use custom parameter.
// const provider = new OAuth2Provider(config)
// .withCustomAuthorizationRequestParameter({})
// .withCustomAccessTokenRequestParameter({})
provider.perform(window)
.then(resp => {
console.log(resp)
})
.catch(error => console.error(error))
Firebase Auth Integration
Electron can not use firebase auth signInWithPopup
or signInWithRedirect
.
You can only use email/password authentication.
But, you can use GitHub, Twitter, etc... authentication by using manually flow.
https://firebase.google.com/docs/auth/web/github-auth#handle_the_sign-in_flow_manually
// Github manually flow example.
const { OAuth2Provider } = require("electron-oauth-helper")
const config = { /* oauth config. please see example/main/config.example.js. */}
const provider = new OAuth2Provider(config)
provider.perform(window)
.then(resp => {
const query = querystring.parse(resp)
const credential = firebase.auth.GithubAuthProvider.credential(query.access_token)
firebase.auth().signInWithCredential(credential)
.then(user => {
console.log(user)
})
.catch(error => console.error(error))
})
.catch(error => console.error(error))
Don't forget setting firebase auth.
Example
example electron app => example/
Which parameters are required?
OAuth 2
The OAuth2 defines four grant type. Here is sample code for each.
- Authorization Code Grant
- Implicit Grant
- Resource Owner Password Credentials Grant
- Client Credentials Grant
Authorization Code Grant
const provider = new OAuth2Provider({
authorize_url: "",
access_token_url: "",
response_type: "code",
client_id: "",
redirect_uri: "", //Important! RFC says OPTIONAL. But REQUIRED for this library.
// other parameters are optional.
})
provider.perform()
// Authorization Request --->
// <--- Authorization Response
// Access Token Request --->
// <--- Access Token Response
.then(resp => {
// Got Access Token (◍•ᴗ•◍)
})
Authorization Request
GET /authorize?...
// more detail
{
// REQUIRED. Value MUST be set to "code".
response_type: "code",
// REQUIRED. The client identifier as described in Section 2.2.
client_id: "",
// OPTIONAL. As described in Section 3.1.2.
redirect_uri: "",
// OPTIONAL. The scope of the access request as described by Section 3.3.
scope: "",
// RECOMMENDED. An opaque value used by the client to maintain
// state between the request and callback. The authorization
// server includes this value when redirecting the user-agent back
// to the client. The parameter SHOULD be used for preventing
// cross-site request forgery as described in Section 10.12.
state: "",
// Additional.
// the `code_challenge` and `code_challenge` are optional parameters
// defined in RFC 7636.
// REQUIRED. Code challenge.
code_challenge: "",
// OPTIONAL, defaults to "plain" if not present in the request. Code
// verifier transformation method is "S256" or "plain".
code_challege_method: "",
}
Authorization Response
{
// REQUIRED. The authorization code generated by the
// authorization server.
code: "",
// REQUIRED if the "state" parameter was present in the client
// authorization request. The exact value received from the
// client.
state: "",
}
Access Token Request
POST /token
{
// REQUIRED. Value MUST be set to "authorization_code".
grant_type: "authorization_code",
// REQUIRED. The authorization code received from the
// authorization server.
code: "",
// REQUIRED, if the "redirect_uri" parameter was included in the
// authorization request as described in Section 4.1.1, and their
// values MUST be identical.
redirect_uri: "",
// REQUIRED, if the client is not authenticating with the
// authorization server as described in Section 3.2.1.
client_id: "",
}
Access Token Response
{
// REQUIRED. The access token issued by the authorization server.
access_token: "",
// REQUIRED. The type of the token issued as described in
// Section 7.1. Value is case insensitive.
token_type: "",
// RECOMMENDED. The lifetime in seconds of the access token. For
// example, the value "3600" denotes that the access token will
// expire in one hour from the time the response was generated.
// If omitted, the authorization server SHOULD provide the
// expiration time via other means or document the default value.
expires_in: "",
// OPTIONAL. The refresh token, which can be used to obtain new
// access tokens using the same authorization grant as described
// in Section 6.
refresh_token: "",
// OPTIONAL, if identical to the scope requested by the client;
// otherwise, REQUIRED. The scope of the access token as
// described by Section 3.3.
scope: "",
}
Implicit Grant
const provider = new OAuth2Provider({
authorize_url: "",
response_type: "token",
client_id: "",
redirect_uri: "", //Important! RFC says OPTIONAL. But REQUIRED for this library.
// other parameters are optional.
})
provider.perform()
// Authorization Request --->
// <--- Access Token Response
.then(resp => {
// Got Access Token (◍•ᴗ•◍)
})
Authorization Request
GET /authorize?...
{
// REQUIRED. Value MUST be set to "token".
response_type: "token",
// REQUIRED. The client identifier as described in Section 2.2.
client_id: "",
// OPTIONAL. As described in Section 3.1.2.
redirect_uri: "",
// OPTIONAL. The scope of the access request as described by
// Section 3.3.
scope: "",
// RECOMMENDED. An opaque value used by the client to maintain
// state between the request and callback. The authorization
// server includes this value when redirecting the user-agent back
// to the client. The parameter SHOULD be used for preventing
// cross-site request forgery as described in Section 10.12.
state: "",
}
Access Token Response
Resource Owner Password Credentials Grant
const provider = new OAuth2Provider({
access_token_url: "",
response_type: "password",
username: "",
password: "",
// other parameters are optional.
})
provider.perform()
// Access Token Request --->
// <--- Access Token Response
.then( resp => {
// Got Access Token (◍•ᴗ•◍)
})
Authorization Request and Response
No need.
Access Token Request
POST /token
{
// REQUIRED. Value MUST be set to "password".
grant_type: "password",
// REQUIRED. The resource owner username.
username: "",
// REQUIRED. The resource owner password.
password: "",
// OPTIONAL. The scope of the access request as described by
// Section 3.3.
scope: "",
}
Access Token Response
Client Credentials Grant
const provider = new OAuth2Provider({
access_token_url: "",
grant_type: "client_credentials",
// other parameters are optional.
})
provider.perform()
// Access Token Request --->
// <--- Access Token Response
.then( resp => {
// Got Access Token (◍•ᴗ•◍)
})
Authorization Request and Response
No need.
Access Token Request
POST /token
{
// REQUIRED. Value MUST be set to "client_credentials".
grant_type: "client_credentials",
// OPTIONAL. The scope of the access request as described by
// Section 3.3.
scope: "",
}
Access Token Response
Refreshing an Access Token
TODO
How to release
npm version patch | minor | major |...
npm publish


--- layout: page title: Welcome to Yuval's Blog! permalink: /blog/ ---
{{ post.date | date: "%b %-d, %Y" }}
{{ post.excerpt }}


|
| enum | DJI_DOWNLOAD_FILE_ABORT_ERROR_CODE {
DJI_DOWNLOAD_FILE_ABORT_ERROR = 1,
DJI_DOWNLOAD_FILE_ABORT_FORCE = 2,
DJI_DOWNLOAD_FILE_ABORT_ERROR_FLASH = 3,
DJI_DOWNLOAD_FILE_ABORT_SESSION_REALLOC = 4,
DJI_DOWNLOAD_FILE_ABORT_SESSION_BUSY = 5,
DJI_DOWNLOAD_FILE_ABORT_ERROR_OTHER =<PHONE_NUMBER>
} |
| |
| enum | TransAbortReason : uint32_t {
TransAbortReasonError = 0,
TransAbortReasonForce,
TransAbortReasonSizeError,
TransAbortReasonReadFailed
} |
| |
| enum | DJI_CAMERA_VIDEO_FRAME_RATE : uint8_t {
DJI_CAMERA_VIDEO_FRAME_RATE_15FPS = 0,
DJI_CAMERA_VIDEO_FRAME_RATE_24FPS = 1,
DJI_CAMERA_VIDEO_FRAME_RATE_25FPS = 2,
DJI_CAMERA_VIDEO_FRAME_RATE_30FPS = 3,
DJI_CAMERA_VIDEO_FRAME_RATE_48FPS = 4,
DJI_CAMERA_VIDEO_FRAME_RATE_50FPS = 5,
DJI_CAMERA_VIDEO_FRAME_RATE_60FPS = 6,
DJI_CAMERA_VIDEO_FRAME_RATE_120FPS = 7,
DJI_CAMERA_VIDEO_FRAME_RATE_240FPS = 8,
DJI_CAMERA_VIDEO_FRAME_RATE_480FPS = 9,
DJI_CAMERA_VIDEO_FRAME_RATE_100PS = 10,
DJI_CAMERA_VIDEO_FRAME_RATE_96FPS = 11,
DJI_CAMERA_VIDEO_FRAME_RATE_180FPS = 12,
DJI_CAMERA_VIDEO_FRAME_RATE_TRUE24FPS = 13,
DJI_CAMERA_VIDEO_FRAME_RATE_TRUE30FPS = 14,
DJI_CAMERA_VIDEO_FRAME_RATE_TRUE48FPS = 15,
DJI_CAMERA_VIDEO_FRAME_RATE_TRUE60FPS = 16,
DJI_CAMERA_VIDEO_FRAME_RATE_90FPS = 17,
DJI_CAMERA_VIDEO_FRAME_RATE_192FPS = 18,
DJI_CAMERA_VIDEO_FRAME_RATE_200FPS = 19,
DJI_CAMERA_VIDEO_FRAME_RATE_400FPS = 20,
DJI_CAMERA_VIDEO_FRAME_RATE_8FPS = 21,
DJI_CAMERA_VIDEO_FRAME_RATE_20FPS = 22,
DJI_CAMERA_VIDEO_FRAME_RATE_8_DOT_8FPS = 23
} |
| |
| enum | DJI_MULTIMEDIA_ROTATE : uint8_t {
DJI_ROTATE_0 = 0,
DJI_ROTATE_90 = 1,
DJI_ROTATE_180 = 2,
DJI_ROTATE_270 = 3
} |
| |
| enum | DJI_GENERAL_DOWNLOAD_FILE_FUNC_TYPE : uint8_t {
DJI_GENERAL_DOWNLOAD_FILE_FUNC_TYPE_REQ = 0,
DJI_GENERAL_DOWNLOAD_FILE_FUNC_TYPE_DATA = 1,
DJI_GENERAL_DOWNLOAD_FILE_FUNC_TYPE_ACK = 2,
DJI_GENERAL_DOWNLOAD_FILE_FUNC_TYPE_PUSH = 3,
DJI_GENERAL_DOWNLOAD_FILE_FUNC_TYPE_ABORT = 4,
DJI_GENERAL_DOWNLOAD_FILE_FUNC_TYPE_DEL = 5,
DJI_GENERAL_DOWNLOAD_FILE_FUNC_TYPE_PAUSE = 6,
DJI_GENERAL_DOWNLOAD_FILE_FUNC_TYPE_RESUME = 7
} |
| |
| enum | DJI_GENERAL_DOWNLOAD_FILE_TASK_TYPE : uint8_t {
DJI_GENERAL_DOWNLOAD_FILE_TASK_TYPE_LIST = 0,
DJI_GENERAL_DOWNLOAD_FILE_TASK_TYPE_FILE = 1,
DJI_GENERAL_DOWNLOAD_FILE_TASK_TYPE_STREAM = 2,
DJI_GENERAL_DOWNLOAD_FILE_TASK_TYPE_MULTI_STREAM
} |
| |
| enum | DJI_CAMERA_VIDEO_RESOLUTION : uint8_t {
DJI_CAMERA_VIDEO_RESOLUTION_640X480P = 0,
DJI_CAMERA_VIDEO_RESOLUTION_640X480I = 1,
DJI_CAMERA_VIDEO_RESOLUTION_1280X640P = 2,
DJI_CAMERA_VIDEO_RESOLUTION_1280X640I = 3,
DJI_CAMERA_VIDEO_RESOLUTION_1280X720P = 4,
DJI_CAMERA_VIDEO_RESOLUTION_1280X720I = 5,
DJI_CAMERA_VIDEO_RESOLUTION_1280X960P = 6,
DJI_CAMERA_VIDEO_RESOLUTION_1280X960I = 7,
DJI_CAMERA_VIDEO_RESOLUTION_1920X960P = 8,
DJI_CAMERA_VIDEO_RESOLUTION_1920X960I = 9,
DJI_CAMERA_VIDEO_RESOLUTION_1920X1080P = 10,
DJI_CAMERA_VIDEO_RESOLUTION_1920X1080I = 11,
DJI_CAMERA_VIDEO_RESOLUTION_1920X1440P = 12,
DJI_CAMERA_VIDEO_RESOLUTION_1920X1440I = 13,
DJI_CAMERA_VIDEO_RESOLUTION_3840X1920P = 14,
DJI_CAMERA_VIDEO_RESOLUTION_3840X1920I = 15,
DJI_CAMERA_VIDEO_RESOLUTION_3840X2160P = 16,
DJI_CAMERA_VIDEO_RESOLUTION_3840X2160I = 17,
DJI_CAMERA_VIDEO_RESOLUTION_3840X2880P = 18,
DJI_CAMERA_VIDEO_RESOLUTION_3840X2280I = 19,
DJI_CAMERA_VIDEO_RESOLUTION_4096X2048P = 20,
DJI_CAMERA_VIDEO_RESOLUTION_4960X2048I = 21,
DJI_CAMERA_VIDEO_RESOLUTION_4096X2160P = 22,
DJI_CAMERA_VIDEO_RESOLUTION_4096X2160I = 23,
DJI_CAMERA_VIDEO_RESOLUTION_2704X1520P_16COLON9 = 24,
DJI_CAMERA_VIDEO_RESOLUTION_640X512P_FLIR = 26,
DJI_CAMERA_VIDEO_RESOLUTION_4608X2160 = 27,
DJI_CAMERA_VIDEO_RESOLUTION_4608X2592 = 28,
DJI_CAMERA_VIDEO_RESOLUTION_2720X1530P = 31,
DJI_CAMERA_VIDEO_RESOLUTION_5280X2160P = 32,
DJI_CAMERA_VIDEO_RESOLUTION_5280X2970P = 33,
DJI_CAMERA_VIDEO_RESOLUTION_3840X1572P = 34,
DJI_CAMERA_VIDEO_RESOLUTION_5760X3240P = 35,
DJI_CAMERA_VIDEO_RESOLUTION_6016X3200P = 36,
DJI_CAMERA_VIDEO_RESOLUTION_2048X1080P = 37,
DJI_CAMERA_VIDEO_RESOLUTION_336X256P_FLIR = 38,
DJI_CAMERA_VIDEO_RESOLUTION_5120X2880P = 39,
DJI_CAMERA_VIDEO_RESOLUTION_4096X2160P_RAW14 = 40,
DJI_CAMERA_VIDEO_RESOLUTION_3840X2160P_RAW14 = 41,
DJI_CAMERA_VIDEO_RESOLUTION_2720X1530P_RAW14 = 42,
DJI_CAMERA_VIDEO_RESOLUTION_1920X1080P_RAW14 = 43,
DJI_CAMERA_VIDEO_RESOLUTION_5440X2880P = 44,
DJI_CAMERA_VIDEO_RESOLUTION_2688X1512P = 45,
DJI_CAMERA_VIDEO_RESOLUTION_640X360P = 46,
DJI_CAMERA_VIDEO_RESOLUTION_4000X3000P = 48,
DJI_CAMERA_VIDEO_RESOLUTION_4000X3000I = 49,
DJI_CAMERA_VIDEO_RESOLUTION_2880X1620P = 50,
DJI_CAMERA_VIDEO_RESOLUTION_2880X1620I = 51,
DJI_CAMERA_VIDEO_RESOLUTION_2720X2040P = 52,
DJI_CAMERA_VIDEO_RESOLUTION_2720X2040I = 53,
DJI_CAMERA_VIDEO_RESOLUTION_720X576 = 54,
DJI_CAMERA_VIDEO_RESOLUTION_MAX = 253,
DJI_CAMERA_VIDEO_RESOLUTION_UNSET = 254,
DJI_CAMERA_VIDEO_RESOLUTION_KNOWN = 255
} |
| |
| enum | DJI_CAMERA_FILE_TYPE : uint8_t {
DJI_CAMERA_FILE_TYPE_JPEG = 0,
DJI_CAMERA_FILE_TYPE_DNG = 1,
DJI_CAMERA_FILE_TYPE_MOV = 2,
DJI_CAMERA_FILE_TYPE_MP4 = 3,
DJI_CAMERA_FILE_TYPE_PANORAMA = 4,
DJI_CAMERA_FILE_TYPE_TIFF = 5,
DJI_CAMERA_FILE_TYPE_SEQ = 8,
DJI_CAMERA_FILE_TYPE_TIFFSEQ = 9,
DJI_CAMERA_FILE_TYPE_AUDIO = 10,
DJI_CAMERA_FILE_TYPE_SURVEY = 12,
DJI_CAMERA_FILE_TYPE_USER_CTRL_INFO = 13,
DJI_CAMERA_FILE_TYPE_USER_CTRL_INFO_LZ4 = 14,
DJI_CAMERA_FILE_TYPE_JSON = 15,
DJI_CAMERA_FILE_TYPE_PHOTO_FOLDER = 16,
DJI_CAMERA_FILE_TYPE_VIDEO_FOLDER = 17
} |
| |
| enum | DJI_TRANS_VIDEO_STREAM_FORMAT : uint8_t {
DJI_TRANS_VIDEO_STREAM_ORG = 0,
DJI_TRANS_VIDEO_STREAM_H264 = 1,
DJI_TRANS_VIDEO_STREAM_H265 = 2,
DJI_TRANS_VIDEO_STREAM_MJPEG = 3
} |
| |
| enum | DJI_DOWNLOAD_FILE_SUBTYPE : uint8_t {
DJI_DOWNLOAD_FILE_ORG = 0,
DJI_DOWNLOAD_FILE_THM = 1,
DJI_DOWNLOAD_FILE_SCR = 2,
DJI_DOWNLOAD_FILE_CLIP = 3,
DJI_DOWNLOAD_FILE_STREAM = 4,
DJI_DOWNLOAD_FILE_PANO = 5,
DJI_DOWNLOAD_FILE_PANO_SCR = 6,
DJI_DOWNLOAD_FILE_PANO_THM = 7,
DJI_DOWNLOAD_FILE_TIMELAPES = 8,
DJI_DOWNLOAD_FILE_2ND_STREAM = 9,
DJI_DOWNLOAD_FILE_RESERVED = 10,
DJI_DOWNLOAD_FILE_PHOTO_METADATA = 11,
DJI_DOWNLOAD_FILE_USER_CTRL_INFO = 12,
DJI_DOWNLOAD_FILE_JSON = 13
} |
| |
| enum | DJI_FILE_LIST_EXT_TYPE : uint8_t {
DJI_EXT_TYPE_UUID = 1,
DJI_EXT_TYPE_P_TID = 2,
DJI_EXT_TYPE_STAR = 3,
DJI_EXT_TYPE_V_TID = 4,
DJI_EXT_TYPE_FUSION = 5,
DJI_EXT_TYPE_V_FILE_SYNC = 6,
DJI_EXT_TYPE_ORIGIN = 7,
DJI_EXT_TYPE_EXIF = 8,
DJI_EXT_TYPE_AUDIO = 9,
DJI_EXT_TYPE_VIDEO_MISCINFO = 10,
DJI_EXT_TYPE_CUSTOMIZE_DCF_INFO = 11,
DJI_EXT_TYPE_FILE_NAME = 13,
DJI_EXT_TYPE_FILE_MD5 = 14
} |
| |
| enum | DJI_FILE_LIST_FILTER_LIKE : uint8_t {
DJI_all = 0,
DJI_like = 1,
DJI_dislike = 2,
DJI_unknown = 255
} |
| |
| enum | DJI_DOWNLOAD_FILE_LIST_TYPE : uint8_t {
DJI_MEDIA = 0,
DJI_THUMBNAIL = 1,
DJI_SCREENNAIL = 2,
DJI_VIDEO_CLIP = 3,
DJI_LOG = 12,
DJI_MEDIA_GROUP = 13,
DJI_PSDK_WIDGET
} |
| |
| enum | MAJOR_TYPE : uint8_t {
MAJOR_CAMERA = 0,
MAJOR_RADAR = 1,
MAJOR_PSDK = 2
} |
| |
| enum | MINOR_TYPE : uint8_t {
MINOR_CAMERA = 0,
MINOR_PSDK = 2
} |
| |
Data struct defination for file manager.
- Version
- 4.0
- Date
- July 2020
@Copyright (c) 2020 DJI
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
 IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


{% extends "noclook/edit/base_edit.html" %} {% load crispy_forms_tags %} {% load noclook_tags %} {% block js %} {{ block.super }} {% endblock %} {% block title %}{{ block.super }} Role "{{ role.name }}" {% endblock %} {% block content %}
The {{ node_handle.node_type|lower }} will be permanently deleted and cannot be recovered. Are you sure?
The relationship will be permanently deleted and cannot be recovered. Are you sure?


Git and GitHub
Git and GitHub
Search goes here
Git and GitHub
My thoughts after watching Shereef's fireside chat video
What are they and when do I use a class and when do I use id's in my CSS
Array's and Hashes, super useful structures for manipulating stuff like elements and objects
Evaluating my thinking style
Here is an introduction to of Ruby's Enumerable methods that allow you to interate through arrays.
One solution to a problem facing the tech industry today
Classes - huh! what are they good for!!.. Absolutely everything!..
What was it like to pair with others to solve challenges?
Ruby's 5 categories of variable scope.
My personal experience with stereo-type threat
Looping in Ruby vs. Looping in JavaScript and Ruby hash vs. JavaScript Objects
How do you feel...Can I help?...
NoSQL databases
It's my park and I'll shout if I want to!!!!!


Mr.Larry Brown<EMAIL_ADDRESS>Date:13/02/04. Dear Sir/Madam, RE-INVESTMENT. My names are Larry Brown. I am the Family Secretary/legal adviser to the former Liberia President Charles Taylor who was oudted from power lately, and presently on Assylum in West Africa. The family has huge sums of money about Fourty Five Million United States Dollars ($45M) safely deposited CASH with a security Company in Europe. On the ouster of the former President Charles Taylor the family wants to invest the money but they want me to look for a trusted and honest person who can invest this money on the familys behalf as proxy. I have chosen you because of transparent honesty. You will be paid Management/Trusteeship fees for managing and investing the funds as proxy on behalf of the family, On this you and I will have to sign an agreement before I can bring you directly with the family. However there is a diplomat who is assisting to facilitate this transaction and he has concluded arrangements to have this funds transferred through a prime Bank in Europe to your nominated account. You will need to meet with him in Europe. You will be required to travel to meet with the diplomat in Europe who will assist you with everything for the wire transfer of the funds through a local Bank to your nominated account. There is no risk involved at all so long you can invest the money. You will also sign a formal working agreement with the Diplomat on behalf of the family during your meeting in Europe. I will issue you a letter of Power of Attorney and the Certificate of Deposit to enable you take delivery of the funds from the security company in Europe to be accompanied by the diplomat. Please tell me in confidence can you handle it? Can you invest this huge amount of money successfully? Have you ever handle such huge amount of money before? How old are you? Please advise most urgently. I look forward to your response. God Bless you! Regards, Mr.Larry Brown.


Choose Your Horse
You can see the pictures of horses in the grid provided below.
The rule is that you can only bet on one horse and can't change it later. Ready for gambling !!
What Happens on Track stays on Track
You can see the pictures of horses in the grid provided below.
The rule is that you can only bet on one horse and can't change it later. Ready for gambling !!


| Author | Peter Lankreijer |
| Adapted-by | |
| Compiler | 2.4o |
This library controls a MCP4922 via the SPI protocol.
delay.jal spi_master_sw.jal or spi_master_hw.jal http://ww1.microchip.com/downloads/en/DeviceDoc/22250A.pdf
The following should be defined in the main program: setup SPI for software SPI or none for hardware SPI include spi_master_sw define directions spi_master_sw_init(SPI_MODE_11) alias spi_master is spi_master_sw alias spi_master_exchange is spi_master_sw_exchange
var bit mcp4922_shdn at mcp4922_write[1] : 4
var bit _mcp4922_buf
var bit _mcp4922_ga
var bit _mcp4922_shdn
var bit mcp4922_ga at mcp4922_write[1] : 5
var byte mcp4922_write[2]
var bit mcp4922_buf at mcp4922_write[1] : 6
var bit mcp4922_ab at mcp4922_write[1] : 7
mcp4922_dac_ab(word in A, word in B)
mcp4922_dac(bit in register, word in X)
mcp4922_init(bit in buffer, bit in gain)
mcp4922_split_word(word in word_in, byte out high_byte, byte out low_byte)
mcp4922_dac_a(word in A)
mcp4922_dac_b(word in B)
var bit mcp4922_shdn at mcp4922_write[1] : 4
Output shutdown control bit
var bit _mcp4922_buf
No documentation found
var bit _mcp4922_ga
No documentation found
var bit _mcp4922_shdn
No documentation found
var bit mcp4922_ga at mcp4922_write[1] : 5
Output gain selection bit
var byte mcp4922_write[2]
Define variables
var bit mcp4922_buf at mcp4922_write[1] : 6
No documentation found
var bit mcp4922_ab at mcp4922_write[1] : 7
select DAC_A OR DAC_B
mcp4922_dac_ab(word in A, word in B)
Function to write to the DAC and update both registers at the same time
mcp4922_dac(bit in register, word in X)
Internal procedure to wite to the register
mcp4922_init(bit in buffer, bit in gain)
Initialise the MCP4922
mcp4922_split_word(word in word_in, byte out high_byte, byte out low_byte)
Internal used function to split a word into two bytes
mcp4922_dac_a(word in A)
Function to write to the DAC A and latch
mcp4922_dac_b(word in B)
Function to write to the DAC B and latch
| 18f27j53 | 18f27j53_mcp4922.jal |


| 接口 | 说明 |
|---|---|
| AddExperiment.OnFragmentInteractionListener |
| 类 | 说明 |
|---|---|
| AddExperiment | |
| BanActivity | |
| CreateUserActivity | |
| CreateUserActivityTest | |
| CustomBanList | |
| CustomForumList | |
| CustomList | |
| CustomSearchList | |
| DetailActivity | |
| DetailActivityTest | |
| ExampleInstrumentedTest |
Instrumented test, which will execute on an Android device.
|
| ExampleUnitTest |
Example local unit test, which will execute on the development machine (host).
|
| Experiment | |
| FirstFragment | |
| ForumActivity | |
| ForumActivityTest | |
| GetLocationActivity | |
| HistogramActivity | |
| MainActivity | |
| MainActivityTest | |
| PlotActivity | |
| QRGenerationActivity | |
| Question | |
| Reply | |
| ReplyActivity | |
| ReplyList | |
| ScanBarcodeActivity | |
| ScanQRCodeActivity | |
| SearchActivity | |
| SearchActivityTest | |
| SecondFragment | |
| StatsticsActivity | |
| Subscriber | |
| Trial | |
| TrialList | |
| User | |
| UserProfileActivity | |
| UserProfileActivityTest | |
| ViewProfileActivity |


I'm a button with the data-ripple attribute
I'm a div with the data-ripple-attribute.
Go ahead and give it a try!


HOME
Projects
(current)
Work with us
WELCOME TO OUR PORTFOLIO
Projects
Project 1
Project 2
Click
here
for Diego
Click
here
for Cates


Article Hello World
26 October 2015
Clear writing is a sign of clear thinking. – John Gruber
This is an
ARTICLES
post.


A Capella Links
Penn State Pennharmonics (04.06.01 - Cuttin' Class XVII, Bailey Hall, CU)
Alleghey Allegation (03.10.01 - Concert, Allegheny College, PA)
Cornell University Hangovers (02.24.01 - Arch Sing, Balch Arch, CU)
UMich Dicks & Janes (02.24.01 - Arch Sing, Balch Arch, CU)
Brandeis Voicemale (11.11.00 - Classified, Sage Chapel, CU)
Tufts Beelzebubs (04.17.99 - Cuttin' Class XV, Sage Chapel, CU)
UPenn Penchants (04.25.98 - Cuttin' Class, XIV, Bailey Hall, CU)
University of Maryland Pandemonium (Spring 1998 - Concert, UM)
George Washington Troubadours (Cuttin' Class XI, CU)
Georgetown Chimes (Cuttin' Class X, CU)
Ithaca College Five Men Out (Cuttin' Class VIII, CU)
Barnard Bacchantae
Colgate Swinging Gates
Dartmouth Aires
Harpur Harpeggios
University of Maryland Generics
UPenn Six-5000
Rochester Yellowjackets
|


Unidentified
4
Reprint
Please select the type of namer from the list
This is the area the local authority affects


NEWBIE
€7.99
- 1 Month Acces To All Basic Games
- Single Player Mode Only
- 25GB Storage
- Free Game.play Sticker
BUY
STANDARD
€14.99
- 3 Month Acces To All Basic and Silver Games
- Single and Multi Player Mode
- 50GB Storage
- Free Game.play Button
BUY
ADVANCED
€99.99
- 12 Month Access To All Basic, Silver and Gold Games
- Single and Multi Player Mode
- 150GB Storage
- Free Game.Play T-shirt
BUY


Drop an XLSX File Here
ongoing
delayed
cancelled
completed
Project Count
Number of projects per engineer
Project Value
Individual engineer project value
Starting Speed
Took lesser time to start a project
ongoing
delayed
cancelled
completed
Number of projects per engineer
Individual engineer project value
Took lesser time to start a project


Company profile - Canadian Company Capabilities
Third-Party Information Liability Disclaimer
Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.
ECS Cares Incorporated
Legal Name:
ECS Cares Incorporated
Operating Name:
ECS Cares
Mailing Address:
47 Churchhill Dr.BARRIE, Ontario
L4N 8Z5
Location Address:
47 Churchhill Dr.BARRIE, Ontario
L4N 8Z5
Tel.:<PHONE_NUMBER>
Tel.:<PHONE_NUMBER>
Fax:<PHONE_NUMBER>
Logo
Company Profile
WELCOME TO ENVIRONMENTAL CONTROL SYSTEMS
ECS Cares has been in the environmental industry since 1969. Our Goal is to continue to actively reduce, re-use and recycle as many waste streams as possible and divert them from entering the sewer and landfill systems.
Our consistent growth has enabled us to stay at the forefront of the photographic industries (printing, photo, medical) while allowing us to diversify into new areas of business of medical waste, product destruction, and chemical disposal. With a customer base that extends to all points of Canada and into the United States, we will always ensure that wherever YOU are located your needs are met. We want to do our part in PROTECTING THE ENVIRONMENT.
Full profile
Full profile
Contact information
Company description
562110 - Waste Collection
562210 - Waste Treatment and Disposal
Product / Service / Licensing
For those printers still requiring a silver recovery unit, ECS Cares has several options for you to suit your budget. By utilizing the same equipment and filters as in the photo industry, ECS Cares. can ensure full compliance with our Ecolution Systems.
For those Printers who have gone digital with the latest CTP technology then silver recovery isnt for you. Your chemical waste from this process will need to be recycled in a different way through either chemical disposal or utilizing our Ecolizer pH Neutralizing unit for your CTP waste. Chemical Disposal services can be a huge cost saver and alternative to on-site equipment in small print shops. For larger volume print shops as well as rural and US locations; on-site equipment is a viable option that we would be happy to discuss with you.
ECS Cares will talk with you and visit your location were possible to provide you with all of the options and costs in recycling your wastes. We will help you decide which option is best for your business and incorporate this with your long term goals.
Environmental Control Systems has been specializing in silver recovery and silver refining since 1969. Beginning with silver flake and silver cartridges we have recently expanded our services to include silver bromide, silver chloride, silver resins, and more. Regardless of your location and quantity, ECS Cares is well equipped to handle all of your refining needs. We pride ourselves on our security, confidentiality, detailed reporting, and the highest possible rate of returns. With increased silver prices over the past couple of years, ECS Cares can ensure that you will be pleased with one of our many refining programs available to you.
In addition to your refining, ECS Cares has service technicians throughout Canada to exchange your current silver recovery cartridges and install a more advanced, state-of-the-art
QuickSilver Cartridge. You can rely on experienced technicians to service and calibrate all types of silver recovery equipment on the market. (Courier services also available for US and rural areas of Canada.)
KEY ADVANTAGES OF UTILIZING ECS Cares
* ECS Cares will help you choose the best solution in handling your companys waste; either through one of our on-site recycling systems or simply removing your waste for safe treatment and disposal. [Since ECS Cares is a manufacturer of many different types of recycling equipment we will provide you an unbiased solution to handle your waste cost effectively.]
* ECS Cares is fully licensed, bonded and insured.
ECS Cares Programs
* Pick up of liquids, sludges and solids
* WHMIS labeled chemical jugs, drums (plastic or metal), and totes are supplied by ECS Cares
(some costs may apply depending upon containers required)
* Paper or electronic manifesting provided
* Transportation method: straight trucks (loading dock or tailgate available), tanker trucks for pump outs
* Site visits and chemical analysis
* Qualified and trained technicians with TDGA
* Chemical disposal and storage consultation services
* Empty container disposal program
Eliminate the manual error of overflowing containers or pouring the liquid into drums, etc.
ECS Cares will automate your waste overflow through waste transfer stations and protect against overflow with custom high level alarms (custom built and designed by ECS Cares)
Some of the examples of industries that we currently service are:
* Printing Industry
* Photo Industry
* Medical: hospitals, x-ray clinics, dentists, chiropractors, veterinary
* Printed Circuit Board Companies
* Electro Plating Companies
* Machining companies
* Military
* Sign Companies
* Food & Beverage Industry
* Retail
* Bankruptcy clean up jobs for trustees of various different industries.
ENVIRONMENTAL CONTROL SYSTEMS in collaboration with Rebec Solutions has designed a specialized amalgam recycling program for the Dental Industry. With ECS Cares Offices strategically located across Canada, we can ensure that the amalgam waste from your office is being properly treated both on and offsite.
Recycling of DENTAL LEAD FOIL
We also provide amalgam disposal and service for a variety of manufacturers
ECS Cares will buy various types of new (expired) or used film such as: X-Ray films, C-41, News & Black Litho, Circuit Board film, etc. Price fluctuates on the silver market as well as the grade and net weight of the film. ECS Cares has the manpower to remove all types of film and/or arrange and receive full truck loads. Whether it is medical film from your shelving, litho film with or without masking, C-41 movie film in or out of metal canisters, micro fiech, etc. if there is silver on the film, we will recycle it. We also provide file purging services with a competant and detailed staff.
The ECS Cares Advantage:
* Premium price paid
* Storage containers provided
* Bondable with all personal files and documents shredded and destroyed
* Confidential statement provided upon request
* Plastic is recycled
ECS Cares pays top dollar for scrap aluminum printing plates and copper circuit board plates based on the current market value. ECS Cares will pick up directly from your location (and or arrange for shipping for out of district areas).
our team is fully licensed with the MOE.
Third-Party Information Liability Disclaimer
Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.
Contacts
Contact information
Description
Company description
562110 - Waste Collection
562210 - Waste Treatment and Disposal
Products, services and licensing
Product / Service / Licensing
For those printers still requiring a silver recovery unit, ECS Cares has several options for you to suit your budget. By utilizing the same equipment and filters as in the photo industry, ECS Cares. can ensure full compliance with our Ecolution Systems.
For those Printers who have gone digital with the latest CTP technology then silver recovery isnt for you. Your chemical waste from this process will need to be recycled in a different way through either chemical disposal or utilizing our Ecolizer pH Neutralizing unit for your CTP waste. Chemical Disposal services can be a huge cost saver and alternative to on-site equipment in small print shops. For larger volume print shops as well as rural and US locations; on-site equipment is a viable option that we would be happy to discuss with you.
ECS Cares will talk with you and visit your location were possible to provide you with all of the options and costs in recycling your wastes. We will help you decide which option is best for your business and incorporate this with your long term goals.
Environmental Control Systems has been specializing in silver recovery and silver refining since 1969. Beginning with silver flake and silver cartridges we have recently expanded our services to include silver bromide, silver chloride, silver resins, and more. Regardless of your location and quantity, ECS Cares is well equipped to handle all of your refining needs. We pride ourselves on our security, confidentiality, detailed reporting, and the highest possible rate of returns. With increased silver prices over the past couple of years, ECS Cares can ensure that you will be pleased with one of our many refining programs available to you.
In addition to your refining, ECS Cares has service technicians throughout Canada to exchange your current silver recovery cartridges and install a more advanced, state-of-the-art
QuickSilver Cartridge. You can rely on experienced technicians to service and calibrate all types of silver recovery equipment on the market. (Courier services also available for US and rural areas of Canada.)
KEY ADVANTAGES OF UTILIZING ECS Cares
* ECS Cares will help you choose the best solution in handling your companys waste; either through one of our on-site recycling systems or simply removing your waste for safe treatment and disposal. [Since ECS Cares is a manufacturer of many different types of recycling equipment we will provide you an unbiased solution to handle your waste cost effectively.]
* ECS Cares is fully licensed, bonded and insured.
ECS Cares Programs
* Pick up of liquids, sludges and solids
* WHMIS labeled chemical jugs, drums (plastic or metal), and totes are supplied by ECS Cares
(some costs may apply depending upon containers required)
* Paper or electronic manifesting provided
* Transportation method: straight trucks (loading dock or tailgate available), tanker trucks for pump outs
* Site visits and chemical analysis
* Qualified and trained technicians with TDGA
* Chemical disposal and storage consultation services
* Empty container disposal program
Eliminate the manual error of overflowing containers or pouring the liquid into drums, etc.
ECS Cares will automate your waste overflow through waste transfer stations and protect against overflow with custom high level alarms (custom built and designed by ECS Cares)
Some of the examples of industries that we currently service are:
* Printing Industry
* Photo Industry
* Medical: hospitals, x-ray clinics, dentists, chiropractors, veterinary
* Printed Circuit Board Companies
* Electro Plating Companies
* Machining companies
* Military
* Sign Companies
* Food & Beverage Industry
* Retail
* Bankruptcy clean up jobs for trustees of various different industries.
ENVIRONMENTAL CONTROL SYSTEMS in collaboration with Rebec Solutions has designed a specialized amalgam recycling program for the Dental Industry. With ECS Cares Offices strategically located across Canada, we can ensure that the amalgam waste from your office is being properly treated both on and offsite.
Recycling of DENTAL LEAD FOIL
We also provide amalgam disposal and service for a variety of manufacturers
ECS Cares will buy various types of new (expired) or used film such as: X-Ray films, C-41, News & Black Litho, Circuit Board film, etc. Price fluctuates on the silver market as well as the grade and net weight of the film. ECS Cares has the manpower to remove all types of film and/or arrange and receive full truck loads. Whether it is medical film from your shelving, litho film with or without masking, C-41 movie film in or out of metal canisters, micro fiech, etc. if there is silver on the film, we will recycle it. We also provide file purging services with a competant and detailed staff.
The ECS Cares Advantage:
* Premium price paid
* Storage containers provided
* Bondable with all personal files and documents shredded and destroyed
* Confidential statement provided upon request
* Plastic is recycled
ECS Cares pays top dollar for scrap aluminum printing plates and copper circuit board plates based on the current market value. ECS Cares will pick up directly from your location (and or arrange for shipping for out of district areas).
our team is fully licensed with the MOE.


Tay Tay's Pizzeria
Please make your selections
Name for order
Please select the size of your Pizza
Please select an option
Small $6
Medium $8
Large $10
Extra-Large $15
Please select a veggie topping
Please select an option
Mushrooms +$4 (Premium item)
Onions +$2
Pineapple +$2
Olives +$2
Please select a meat topping
Please select an option
Pepperoni +$2
Sausage +$2
Bacon +$4 (Premium item)
Chicken +$2
Please select how many
1
2
3
4
Make my Pizza!
Orders:


Welcome!
Let's get you started
Basic Details
Add Security
Add Funds
Enter Your Password
Confirm your Password
Forgot Password
Click Here to Log In


Connect to APPLIED MATH & COMPUTATIONAL SCIENCE in the Course Register.
APPLIED MATH & COMPUTATIONAL SCIENCE
AMCS-525 PARTIAL DIF EQUATIONS 1 CU 401 LEC TR 12-1:30PM DRLB A6 KAZDAN J CROSS LISTED: MATH-425 SECTION MAX: 15 MAX W/CROSS LIST: 60 AMCS-602 ALGEBRAIC TECHIQUES II 1 CU 001 LEC MW 1:30-3PM LRSM 112B GALLIER J MAX: 30 AMCS-609 ANALYSIS 1 CU 401 LEC TR 1:30-3PM DRLB 3C2 EPSTEIN C CROSS LISTED: MATH-609 SECTION MAX: 15 MAX W/CROSS LIST: 35 AMCS-999 IND STUDY & RESEARCH 1 TO 1 CU 000 IND TBA STAFF
Return to Course & Room Roster
Comments to:
Office of the University Registrar
University of Pennsylvania
Room 221 Franklin Building
3451 Walnut Street
Philadelphia, PA 19104-6291
Phone:<PHONE_NUMBER> Fax:<PHONE_NUMBER>
<EMAIL_ADDRESS>Updated: Sat Jan 17 08:30:02 2015


How To Use?
-
1. Select your starting position. You can do that by either scanning a Barcode near you or manually searching for your position.
- To scan a barcode, just press the scan button
- To enter manually, press the list button
- Enter your desired ending location by pressing the list button
- select the Floor
- Select the Room
- you can search for the room by entering the room in the search field
- you may press the microphone on your keyboard to search by saying the room number*
- Press the Go button to start your route
- Hold the phone in the orientation that the map appears in, horizontal or vertical.
- Start your route
- Press the next button when you arrive to your next point
- The picture in the top center tells which direction to take next
- You can go to a previous point by pressing the previous button
Additional Features
- If you get lost, you can shake the phone or select Menu then Lost? and enter your current location and it will recalculate.
- In the main screen you could press the menu key then settings and edit your prefrences
- In the main screen you could press the menu key then the help button to call someone from MGH
*might not work with all phones


class HomeFragment : BaseFragment<<ERROR CLASS>, HomeViewModel>
Home principal view containing bottom navigation bar with different characters tabs.
See Also
<init> |
Home principal view containing bottom navigation bar with different characters tabs. HomeFragment() |
themeUtils |
lateinit var themeUtils: ThemeUtils |
onCreateOptionsMenu |
Initialize the contents of the Fragment host's standard options menu. fun onCreateOptionsMenu(: Menu, inflater: MenuInflater): Unit |
onInitDataBinding |
Initialize view data binding variables. fun onInitDataBinding(): Unit |
onInitDependencyInjection |
Initialize dagger injection dependency graph. fun onInitDependencyInjection(): Unit |
onViewCreated |
Called to have the fragment instantiate its user interface view. fun onViewCreated(view: View, savedInstanceState: Bundle?): Unit |
onViewStateRestored |
Called when all saved state has been restored into the view hierarchy of the fragment. fun onViewStateRestored(savedInstanceState: Bundle?): Unit |