Jewelry Inspired By The Ocean, Get To Know Merewif
by Felicity CarterSavannah Watson is the founder of oh-so-wearable and super sweet jewelry brand, Merewif and we can’t get enough. It’s magical.
Watson grew up in a beach town, and following her love for design, she found herself in the cities of New York and Los Angeles, which offered more opportunities for a designer. Here, she designed footwear for several years but needing a break from city life and with a house move, she decided to explore a craft. A craft that she could produce on her own, and on her own terms, and jewelry turned out to be the one for her. As a result Merewif was formed in 2012.
“Merewif” meaning sea witch in Old English is an ode to Savannah’s lifelong admiration of the ocean. Watson cites nature’s texture and movement as an inspiration, and this is evident through her line which consists of yellow gold chain necklaces (she does this classic piece very well) and flowing earrings, as well as signet rings, studs and band rings adorned with diamonds and semi-precious stones (who doesn’t love moonstone, malachite and onyx?!)
Felicity Carter: How, when, why did you get into the industry?
For as long as my memory takes me, I have been energized by creating. My grandmother would sew dresses for me and let me pick the pattern and fabric when I was young, so I think that was the gateway into self-expression through fashion.
I got into sewing in high school but was overwhelmed by the idea of designing clothing. It wasn’t something that interested me at the time, however, when I found out there was a program dedicated specifically to designing accessories at F.I.T. in New York, I was intrigued and determined to follow that path.
I studied footwear and handbag design while I was there and spent some years designing shoes in NYC and LA once I graduated. Ultimately, I felt the need for a more tactile design process with less creative constraints and found myself back in my hometown on the coast of North Carolina (where there happen to be no jobs in my field). Alas, I took a few jewelry making classes and watched a lot of YouTube videos and was able to start a little business out of my mom’s garage in 2012.
FC: How would you sum up the aesthetic?
Merewif is an Old English word for sea witch, so nature is at the root of it all. Every piece has meaning and is intended to evoke some kind of emotion - a subtle grin, a little tear, or nostalgia for a bygone era. There’s enough room in the design for individual interpretation.
FC: Who is your customer?
My customer is someone who believes in the power of a talisman and wants to feel connected to what they’re wearing.
FC: Which was the first-ever piece that you designed and how did it come about?
In the beginning, I made a lot of jewelry from brass findings, but the first piece I feel like I really designed was in 2013. After I took a class on lost wax casting, I had a starfish cast and loved the natural texture transformed into metal. This resulted in a style that is still in the collection, the Estrella earrings.
FC: Tell us about the process and materiality…
I like to utilize all the ways I have learned to make jewelry when creating new styles. For some pieces, I hand fabricate the sample myself: cutting, filing, and soldering metal to create a finished piece of jewelry (the Margot earrings) or hand carving and forming wax to be cast in metal (the Droplette ring). For pieces with small stones and/or intricate detail (the Like Meteors ring), I use photoshop to create a very detailed rendering that I send to be made in CAD and printed in wax before being cast into metal. I am still learning all the time, but I love how many avenues there are to create jewelry.
FC: Currently which is your favorite piece and how do you wear it/them?
My current favorite is the Clyde chain. It makes a subtle statement, and I love the way it forms to the body and catches the light.
FC: What are your immediate and long term goals for your company?
My immediate goal is to make it through the holidays and keep our customers happy. We have a young baby who I’m trying to spend as much time with as possible while maintaining our growing business. I think we can do it!
Long term, I want to continue to run a brand that focuses on integrity and ethics. We are constantly looking for ways to be more sustainable and I am really excited about our new $5 repair program that was inspired by Patagonia’s model of repairing instead of replacing. We also donate 5% of all www.merewif.com sales to non-profits like the ACLU and Planned Parenthood.
I don’t have any become a billionaire, take over the world plans, I just hope to be able to continue making a living working hard on something that I love. I feel really lucky.
Shop the jewelry at their website.


FAQ
- How do I contact you?

THIS IS MY MASTERPIECE. IT INVOLVES BATTLE. ROMANCE. MORE BATTLE. BUT ALSO, VIKINGS.  - What is Patreon?
UH. YOU MEAN PATRON? IT'S LIKE A GOD. BUT FOR WARLOCKS. - Why have a Patreon?
  JUST LOOK AT NI̕D̥̹HO͔͍̫͔̯̩̫G̭̖G̱͝.̪͎̥̻͙̤͜ - Do I have to know how to hack to get that password?
NO. BUT YES. I'M THE ONLY HACKER HERE. YOU CAN DO IT.   KEEP THAT IN MIND. - Is there a way to save/share my session?
FINALLY. A RELEVANT QUESTION. ALL YOU HAVE TO DO IS CLICK QUOTE, SHAREABLE URL, UNQUOTE.  IF THAT DOES NOT WORK, TRY PRINTING FROM PDF. WHATEVER THAT MEANS. - The simulation isn't working!
GOOD. IT MEANS THE GLORIOUS BATTLE IS WORKING. - No, I mean I think you broke the sim. For, like, everybody.
OH. UH... SORRY.
BUT. ALSO NOT, YOU VERMIN. I KNOW IF SOMETHING IS BROKEN. NOT YOU. ME. UNDERSTOOD? I AM THE SMART ONE HERE. I MAKE THINGS WORK. YOU KNOW. NOTHING. - I think I found a bug!
WHAT. DID. I JUST. SAY?
- I think I found a bug, the Void player is doing something weird?
I DON'T UNDERSTAND IT EITHER. VOID PLAYERS.  - I think I found a typo!
I NEVER TYPO.  - I think I found a grammar mistake!
I. NEVER. TYPO.  - I have a suggestion!
I DON'T CARE. - Can you add names for the players? It's hard to keep track of everybody!
NO. MORTALS DON'T DESERVE NAMES. MORTALS DON'T DESERVE ANYWAY. I'M THE ONLY ONE WITH A NAME. I'M THE ONLY ONE WHO MATTERS. - Did you make all those images yourself?
Dammit, Jim, I'm a programmer, not an artist. Wait. What was the question? Oh, right. No, I'm not a particularly artistic person. This causes no end of frustration for karmicRetribution, the SBURBSim Artist. They have transformed this site into the visual spectacular that it is, massaging existing art assets (vague source list here: here) into something usable, creating new art assets and just generally protecting Good Design from my callow disregard. c3<
KR also bugs and fusses and meddles until I agree to update the CSS or move a character 10 pixels to the left or whatever thing I didn't even notice but was driving them crazy.KR will be all 'Why are all the characters clipping off the left edge!?' and I will be 'I dunno...Looks like PastJR decided to render them to -100x ???', and then KR will be all: 'WHY would you do that!? Fix it!   And that is the story of how the sprites got moved like 100 pixels over. - Did you get all your ideas/writing/programming yourself?
YES. I AM A GENIUS. - I want to help!
 THIS IS MY THING. YOUR TINY DIMINUTE BRAIN WOULD NOT UNDERSTAND THE AMOUNT OF EFFORT AND TEARS GONE INTO THIS.  - I want to understand your code!
YOU WON'T. IT ONLY TAKES TRUE GENIUSES TO UNDERSTAND THE WONDERS I HAVE CREATED. THE ESCORT HAS ASSISTED ME IN MAKING SIMPLY THE BEST TIMELINE POSSIBLE. TRY AS YOU MAY, YOUR BRAIN WILL BURN IN SIGHT OF MY BEAUTIFUL CODE.Although if you start wandering around in the page source, you'll start seeing into the Void, and that'll make the Void players all shy.Nope, this is NOT how you find the secret Developer FAQ. Good try. But...doesn't it still seem like...there's something here??? Something you are missing??? - What is up with the AuthorBot?
SHE IS THE ESCORT. SHE SEES ALL. SHE RULES ALL. SHOW YOUR RESPECT. - No, why is it called 'AuthorBot'?
  - Why is your avatar a Waste of Mind?
HUH? - Why is karmicRetribution's avatar a Smith of Dream?
HUH????
BECAUSE HER VIKING HAT IS GREAT. ALSO. YOU'RE DOING THE THING AGAIN. - Why did you create this?
TO SHOW MY LIMITLESS SUPERIORITY.  - Can you modify the odds of X happening?
NO. - I don't think you're following (canon/the Glitch FAQ/ my personal head canon/ that dream I had last night) closely enough.


AMP
PAREL
MEN'S COTTON CREW NECK
LONG SLEEVE T-SHIRT
★★★★☆
(14)
COLORS
PRICE :
---
SIZE :
XS
S
M
L
XL
QUANTITY :
1
2
3
Added {{quantity}} shirt(s) to cart!
Error adding to cart: {{error}}


{% extends "../../webtzite/templates/base/header_footer.html" %} {% load staticfiles %} {% block content %} {% if alert %}
The MPContribs Framework serves the purpose of collectively maintaining contributions to local and MP community databases as annotations to existing MP materials. It subsequently disseminates them through a generic interactive gateway (this portal) powered by Jupyter notebooks and through landing pages targeted to the project/contributor's needs.
The development of MPContribs is supported by NSF LSDI Data Infrastructure Building Blocks program and DOE Basic Energy Sciences Materials Project.


| Class and Description |
|---|
| CacheElementProvider
A CacheElementProvider is required when an element is requested but not yet cached.
|
| CacheKey
The key for caching an element.
|
| IdBasedCacheKey
Cache key for identifying elements by an ID.
|
| Class and Description |
|---|
| AccessRestrictedCacheElementProvider
This element provider checks for authorization first.
|
| Cache
An abstract cache providing basic caching features.
|
| CacheElementProvider
A CacheElementProvider is required when an element is requested but not yet cached.
|
| CacheElementProviderException
Exception to signal a problem in the CacheElementProvider.
|
| CacheElementWrapper
Wrapper for the actual element retrieved by a
CacheElementProvider which is enriched with
the creation timestamp of the cache entry and will be passed to the caching backend. |
| CacheException
Exception to be thrown when there are problems with the cache backend.
|
| CacheKey
The key for caching an element.
|
| CacheManagerInitializationException
Exception to be thrown when the initialization of a
CacheManager or the managed cache
failed. |
| IdBasedCacheKey
Cache key for identifying elements by an ID.
|
| Class and Description |
|---|
| Cache
An abstract cache providing basic caching features.
|
| CacheElementWrapper
Wrapper for the actual element retrieved by a
CacheElementProvider which is enriched with
the creation timestamp of the cache entry and will be passed to the caching backend. |
| CacheManager
Interface describing a cache manager that manages a
Cache . |
| Class and Description |
|---|
| CacheElementProvider
A CacheElementProvider is required when an element is requested but not yet cached.
|
| CacheKey
The key for caching an element.
|
| Class and Description |
|---|
| ApplicationSingleElementCacheKey
Common cache key class for cases where there is only one element per application that can be
cached.
|
| CacheElementProvider
A CacheElementProvider is required when an element is requested but not yet cached.
|
| ClientSingleElementCacheKey
Common cache key class for cases where there is only one element per client that can be cached.
|
| Class and Description |
|---|
| CacheElementProvider
A CacheElementProvider is required when an element is requested but not yet cached.
|
| CacheKey
The key for caching an element.
|
| IdBasedCacheKey
Cache key for identifying elements by an ID.
|
| IdBasedRangeCacheKey
A CacheKey to identify cached items by an ID and a positive range.
|
| Class and Description |
|---|
| AccessRestrictedCacheElementProvider
This element provider checks for authorization first.
|
| CacheElementProvider
A CacheElementProvider is required when an element is requested but not yet cached.
|
| CacheElementProviderException
Exception to signal a problem in the CacheElementProvider.
|
| CacheKey
The key for caching an element.
|
| Class and Description |
|---|
| CacheElementProvider
A CacheElementProvider is required when an element is requested but not yet cached.
|
| CacheKey
The key for caching an element.
|
| Class and Description |
|---|
| CacheElementProvider
A CacheElementProvider is required when an element is requested but not yet cached.
|
| CacheKey
The key for caching an element.
|
| Class and Description |
|---|
| CacheElementProvider
A CacheElementProvider is required when an element is requested but not yet cached.
|
| CacheKey
The key for caching an element.
|
| Class and Description |
|---|
| CacheElementProvider
A CacheElementProvider is required when an element is requested but not yet cached.
|
| ClientSingleElementCacheKey
Common cache key class for cases where there is only one element per client that can be cached.
|
| Class and Description |
|---|
| AbstractCacheElementProvider |
| CacheElementProvider
A CacheElementProvider is required when an element is requested but not yet cached.
|
| CacheKey
The key for caching an element.
|
| Class and Description |
|---|
| CacheElementProvider
A CacheElementProvider is required when an element is requested but not yet cached.
|
| CacheElementProviderException
Exception to signal a problem in the CacheElementProvider.
|
| StringIdBasedCacheKey
Cache key for identifying elements by a string identifier.
|
Copyright © 2019 Communote team. All rights reserved.


{% extends "admin/models/base.html" %} {% block content %} {% if form.errors %}
There were errors with your form submission


Who we are
We are ex Cisco Systems and AT&T engineers and want to make the process of purchasing a wireless router much easier! Our pain was instantly felt after spending literally hours researching the latest technologies and “best buyer guides” for wireless routers. At that point in time, it was clear there should be a better and easier way to determine which wireless routers we should purchase, without overpaying for features we don’t need.
That’s where this project came about - to help solve this pain point. We thought it would be a cool project to do together that could provide some actual value to people's lives. If you found this helpful please share this link with your friends, family or anyone you know looking to purnchase a wireless router in the near future. If you have feedback, please shoot us an email below. We hope you found this useful and enjoy!
How this works
Based on your answers to these simple qusetions, we filter out routers that do not fit your needs. We have done days of research to provide you with the absolute best selection of wireless routers that fit your personal needs.
Helpful links
If you found this helpful - please share!
Please send feedback


Our Team
This is ale bit longer.
This card has supporting text below as a natural lead-in to additional content.
This is ar content than the first to show that equal height action.


Samriddhi Coin is developed in April 2017 in Shri Vaishnav Vidhyapith, Indore This UI is designed to help investors in the crypto-currency markets visualize international rates in order to help them make smart financial decisions. Samriddhi Coin can help savvy investors boost their personal income by utilizing our unique Crypto to compare up-to-the-minute currency rates.
We are a dedicated team of future full-stack developers intent on changing the world with new and exciting applications.


| Constants |
| DATE |
Date format, for example, "YYYY-MM-DD". |
| TIME |
Time format, for example, "HH:MM:SS". |
| DATE_TIME |
Mixed date/time format, for example, "YYYY-MM-DD HH:MM:SS". |
| FIXED_NUMBER |
Numeric format, for example, "#,##0.00". |
| FRACTION_NUMBER |
Fractional format, for example, "# ??/??". |
| PERCENT_NUMBER |
Percent format, for example, "0.00%". |
| SCIENTIFIC_NUMBER |
Scientific format, for example, "0.00E+00". |
| CURRENCY |
Currency format, for example, "#,##0.00 [$EUR]" |
| Constants' Details |
DATE
const short DATE = 1;
- Description
- Date format, for example, "YYYY-MM-DD".
|
|
TIME
const short TIME = 2;
- Description
- Time format, for example, "HH:MM:SS".
|
|
DATE_TIME
const short DATE_TIME = 3;
- Description
- Mixed date/time format, for example, "YYYY-MM-DD HH:MM:SS".
|
|
FIXED_NUMBER
const short FIXED_NUMBER = 4;
- Description
- Numeric format, for example, "#,##0.00".
|
|
FRACTION_NUMBER
const short FRACTION_NUMBER = 5;
- Description
- Fractional format, for example, "# ??/??".
|
|
PERCENT_NUMBER
const short PERCENT_NUMBER = 6;
- Description
- Percent format, for example, "0.00%".
|
|
SCIENTIFIC_NUMBER
const short SCIENTIFIC_NUMBER = 7;
- Description
- Scientific format, for example, "0.00E+00".
|
|
CURRENCY
const short CURRENCY = 8;
- Description
- Currency format, for example, "#,##0.00 [$EUR]"
|
|
Copyright © 2013, The Apache Software Foundation, Licensed under the Apache License, Version 2.0. Apache, the Apache feather logo, Apache OpenOffice and OpenOffice.org are trademarks of The Apache Software Foundation. Other names may be trademarks of their respective owners.


Francine D. McLaurin
Married to Melvin.
One daughter, Kimberly.
Former Flight Nurse in the USAF.
Retired Registerd Nurse.


Java Objects
The first field of an object is a number indicating how to decode it. A '0' means null.
A negative numbers means to repeat a previously decoded object. (Note that this could be a parent of the object currently being deserialized, allowing for cycles.)
A positive number is a string index of the Java type, which is used for type-checking and to decode the rest of the value. (Decoding starts in AbstractSerializationReader.readObject.)
Type checking
If type name wasn't obfuscated, the stream reader checks its signature to make sure none of its fields changed. (See ServerSerializationStreamReader.deserialize.) Also, if it knows the declared type then resolves any generic types as much as possible. For example, if an RPC call passes a parameter to a method and the parameter's declared type is ArrayList<String>, the runtime type will be just ArrayList, but the stream reader can infer that the each element should be a String.
The stream reader then checks that the serialization policy allows this type to be instantiated (validateDeserialize).
Arrays
For an array, the type is followed by the array's length and the serialization of each item in the array. Each item is deserialized recursively, so arrays of non-null non-primitives will have each item preceded by its type (unless it was previously seen).
Enums
For enums, the type is followed by the Enum's ordinal (an integer).
Custom serialization
GWT-RPC supports custom serialization (see doc). This is used both within GWT itself for types such as collections and by applications. Custom serialization uses the methods on SerializationStreamReader and SerializationStreamWriter to read and write Java primitives using the format described here, and to recurse using readObject() and writeObject().
When a type has a custom serializer, the GWT-RPC generator doesn't know at compile time which fields will be recursively serialized using writeObject(). It makes a conservative assumption:
If a field can be serialized, the custom serializer will call writeObject() on it.
If a type is serializable but the custom serializer won't call writeObject() on it, adding the "transient" keyword to the field will suppress visiting it.
Other objects
For other Java objects, the type is followed by the value for each serializable field in the leaf class, sorted by field name, followed by the fields in its ancestor classes (recursively). Fields are deserialized recursively.


Class BaseMixedRealitySurfaceObserverProfile
The base surface observer profile.
Inherited Members
Namespace: Microsoft.MixedReality.Toolkit.Core.DataProviders.SpatialObservers
Assembly: cs.temp.dll.dll
Syntax
public abstract class BaseMixedRealitySurfaceObserverProfile : BaseMixedRealitySpatialObserverProfile
Properties
CeilingSurfaceMaterial
The material to be used when automatically displaying ceiling surfaces.
Declaration
public Material CeilingSurfaceMaterial { get; }
Property Value
| Type | Description |
|---|---|
| Material |
DisplayCeilingSurface
Indicates if the surface finding subsystem is to automatically display ceiling surfaces within the application.
Declaration
public bool DisplayCeilingSurface { get; }
Property Value
| Type | Description |
|---|---|
| Boolean |
DisplayFloorSurfaces
Indicates if the surface finding subsystem is to automatically display floor surfaces within the application.
Declaration
public bool DisplayFloorSurfaces { get; }
Property Value
| Type | Description |
|---|---|
| Boolean |
DisplayPlatformSurfaces
Indicates if the surface finding subsystem is to automatically display platform surfaces within the application.
Declaration
public bool DisplayPlatformSurfaces { get; }
Property Value
| Type | Description |
|---|---|
| Boolean |
DisplayWallSurface
Indicates if the surface finding subsystem is to automatically display wall surfaces within the application.
Declaration
public bool DisplayWallSurface { get; }
Property Value
| Type | Description |
|---|---|
| Boolean |
FloorSurfaceMaterial
The material to be used when automatically displaying floor surfaces.
Declaration
public Material FloorSurfaceMaterial { get; }
Property Value
| Type | Description |
|---|---|
| Material |
PlatformSurfaceMaterial
The material to be used when automatically displaying platform surfaces.
Declaration
public Material PlatformSurfaceMaterial { get; }
Property Value
| Type | Description |
|---|---|
| Material |
SurfaceFindingMinimumArea
The minimum area, in square meters, of the planar surfaces.
Declaration
public float SurfaceFindingMinimumArea { get; }
Property Value
| Type | Description |
|---|---|
| Single |
SurfacePhysicsLayerOverride
The surface physics layer override to use on generated surface objects.
Declaration
public int SurfacePhysicsLayerOverride { get; }
Property Value
| Type | Description |
|---|---|
| Int32 |
WallSurfaceMaterial
The material to be used when automatically displaying wall surfaces.
Declaration
public Material WallSurfaceMaterial { get; }
Property Value
| Type | Description |
|---|---|
| Material |


Deployed by ElasTest
Deployed outside ElasTest
No Instrumentation
Instrumented by ElasTest
Manual Instrumentation
Use External Elasticsearch
With Commands Container
With Docker Image
With Docker Compose
SuT Logs Paths
Dockerized SuT
Docker containers logs path
Monitoring Configuration
Logstash Container IP: {{sut.eimConfig.logstashIp}}
Logstash Beats Host: {{sut.eimConfig.logstashBindedBeatsHost}}
Logstash Beats Port: {{sut.eimConfig.logstashBindedBeatsPort}}
HTTP Api Url: {{sut.eimConfig.logstashHttpApiUrl}}
Execution ID: {{sutExecIndex}}
Parameters


Set of special keys codes.
-
ADD = u'\ue025'
-
ALT = u'\ue00a'
-
ARROW_DOWN = u'\ue015'
-
ARROW_LEFT = u'\ue012'
-
ARROW_RIGHT = u'\ue014'
-
ARROW_UP = u'\ue013'
-
BACK_SPACE = u'\ue003'
-
CANCEL = u'\ue001'
-
CLEAR = u'\ue005'
-
COMMAND = u'\ue03d'
-
CONTROL = u'\ue009'
-
DECIMAL = u'\ue028'
-
DELETE = u'\ue017'
-
DIVIDE = u'\ue029'
-
DOWN = u'\ue015'
-
END = u'\ue010'
-
ENTER = u'\ue007'
-
EQUALS = u'\ue019'
-
ESCAPE = u'\ue00c'
-
F1 = u'\ue031'
-
F10 = u'\ue03a'
-
F11 = u'\ue03b'
-
F12 = u'\ue03c'
-
F2 = u'\ue032'
-
F3 = u'\ue033'
-
F4 = u'\ue034'
-
F5 = u'\ue035'
-
F6 = u'\ue036'
-
F7 = u'\ue037'
-
F8 = u'\ue038'
-
F9 = u'\ue039'
-
HELP = u'\ue002'
-
HOME = u'\ue011'
-
INSERT = u'\ue016'
-
LEFT = u'\ue012'
-
LEFT_ALT = u'\ue00a'
-
LEFT_CONTROL = u'\ue009'
-
LEFT_SHIFT = u'\ue008'
-
META = u'\ue03d'
-
MULTIPLY = u'\ue024'
-
NULL = u'\ue000'
-
NUMPAD0 = u'\ue01a'
-
NUMPAD1 = u'\ue01b'
-
NUMPAD2 = u'\ue01c'
-
NUMPAD3 = u'\ue01d'
-
NUMPAD4 = u'\ue01e'
-
NUMPAD5 = u'\ue01f'
-
NUMPAD6 = u'\ue020'
-
NUMPAD7 = u'\ue021'
-
NUMPAD8 = u'\ue022'
-
NUMPAD9 = u'\ue023'
-
PAGE_DOWN = u'\ue00f'
-
PAGE_UP = u'\ue00e'
-
PAUSE = u'\ue00b'
-
RETURN = u'\ue006'
-
RIGHT = u'\ue014'
-
SEMICOLON = u'\ue018'
-
SEPARATOR = u'\ue026'
-
SHIFT = u'\ue008'
-
SPACE = u'\ue00d'
-
SUBTRACT = u'\ue027'
-
TAB = u'\ue004'
-
UP = u'\ue013'


Home Pages
Home Page 1
Home Page 2
Home Page 3
Home Page 4
Content Pages
Content Page 1
Content Page 2
Profile
Search
Login
Register
Profile Name
Settings
Log out
Login
Register
Email
Password
Address
Address 2
City
State
Choose...
...
Zip
Hello


| Number of Classes | Line Coverage | Mutation Coverage |
|---|---|---|
| 16 | 50% | 27% |
| Name | Line Coverage | Mutation Coverage |
|---|---|---|
| BufferedImageRenderingSource.java | 50% |
50% |
| ChartColor.java | 93% |
100% |
| ChartFactory.java | 49% |
11% |
| ChartFrame.java | 0% |
0% |
| ChartMouseEvent.java | 0% |
0% |
| ChartPanel.java | 37% |
11% |
| ChartRenderingInfo.java | 98% |
84% |
| ChartTransferable.java | 0% |
0% |
| ChartUtilities.java | 0% |
0% |
| JFreeChart.java | 70% |
39% |
| LegendItem.java | 82% |
80% |
| LegendItemCollection.java | 90% |
82% |
| LegendRenderingOrder.java | 0% |
0% |
| MouseWheelHandler.java | 13% |
0% |
| PolarChartPanel.java | 0% |
0% |
| StandardChartTheme.java | 61% |
40% |


(Semi-)Famous people and my photogenic knitting
Photos from San Diego Comic-Con International 2006
Steamcrow + Sock
by
chiquitadequeso
, on Flickr
Super-Duper Webcomic Creators + Sock!
by
chiquitadequeso
, on Flickr
Brion Foulke + Sock
by
chiquitadequeso
, on Flickr
Jen Brazas + Sock
by
chiquitadequeso
, on Flickr
Kaja and Phil Foglio + Sock
by
chiquitadequeso
, on Flickr
Wil Wheaton + Sock
by
chiquitadequeso
, on Flickr
Felicia Day and Kim Evey + Sock
by
chiquitadequeso
, on Flickr
Spike + Sock
by
chiquitadequeso
, on Flickr
Jeph Jacques + Sock
by
chiquitadequeso
, on Flickr


Since I am moving back to Germany soon I want to get rid of some furniture and other things.
All prices are suggestions. Just make an offer!
Only for pick-up at my place in Montpellier (quartier Les Aubes)! If you're interested just use the 'Buy this!' button to send an e-mail. I'll get back to you quickly!
Klick on items for more info & stay tuned for more things! I will update this list frequently.


Use a modern Browser with HTML5 Canvas support, please!
Controls: Arrow keys left <- -> right
Game for
LudumDare 29
by
@lasergans


The tiger is the largest cat species, reaching a total body length of up to 3.3 m and weighing up to 306 kg. Its most recognizable feature is a pattern of dark vertical stripes on reddish-orange fur with a lighter underside.


Boolean values (true
and false
) behave differently when quoted ('true'
and 'false'
), which can lead to a fair bit of confusion.
Quoting booleans becomes even more error prone with Puppet 4 as comparing booleans with quoted string always returns false
.
Thus, you should never quote booleans.
file { '/tmp/foo': purge => 'true', } if $is_virtual == 'false' { }
file { '/tmp/foo': purge => true, } if $is_virtual == false { }


DATE:20/11/02 FROM:MARTIN CHIME PRIVATE Tel: 234-1-7756809 Fax: 234-1-7599173<EMAIL_ADDRESS>ATTN: MD/CEO AN URGENT BUSINESS PROPOSAL I am pleased to get across to you for a very urgent and profitable Business proposal, though I don't know you neither have I seen you before but my confidence was reposed on you when the Chief Executive of Lagos State chamber of Commerce and Industry handed me your contact for a confidential business. I am a Staff of United Bank for Africa (UBA),Ilupeju branch, Lagos Nigeria. The intended business is thus; we had a customer, a Foreigner (a Turkish) resident in Nigeria, he was a Contractor with one of the Government Parastatals. He has in his Account in my branch the sum of US$21.5 Million (Twenty One Million Five Hundred ThousandU.S.Dollars).Unfortunately, the man died four years ago until today non-of his next of kin has come forward to claim the money. Having noticed this, I in collaboration with two other top Officials of the bank we have covered up the account all this while. Now we want you (being a foreigner) to be fronted as one of his next of kin and forward your account and other relevant documents to be advised to you by us to attest to the Claim. We will use our positions to get all internal documentations to back up the claims .The whole procedures will last only ten working days to get the Fund retrieved successfully Without trace even in future. Your response is only what we are waiting for as we have arranged all necessary things. As soon as this message comes to you kindly get back to me indicating your interest ,Then I will furnish you with the whole procedures to ensure that the deal is successfully Concluded. For your assistance we have agreed to give you thirty percent (30%) of the Total sum at the end of the transaction. It is risk free and a mega fortune. All correspondence towards this transaction will be through the e-mail addresses, Telephone and Fax, until the end of the transaction when we will meet for the sharing of the money based on this agreed percentage. Please reply urgently by e-mail, fax or call me on my private telephone numbers as stated above. I await your earliest response. Thanks, Yours Sincerely MARTIN CHIME


Require regex literals to escape division operators.
function bar() { return /=foo/; }
This is used to disambiguate the division operator to not confuse users.
Examples of incorrect code for this rule:
/*eslint no-div-regex: "error"*/
function bar() { return /=foo/; }
Examples of correct code for this rule:
/*eslint no-div-regex: "error"*/
function bar() { return /\=foo/; }
This rule was introduced in ESLint 0.1.0.


ansible-core 2.12
Version bumps
- Python 3.8 minimum on controller node
- Python 2.6 deprecated on target nodes
- Python 2.7 minimum starting with 2.13
Library cleanup
- PyCrypto support dropped, use cryptography
- distutils deprecated (by Python 3.10)
- Update Ansible `MetaPathFinder` to match py3.4 interface
Features
- Improved split controller support in ansible-test (integration tests WIP)
- Allow `module_defaults` and `action_groups` in collections
- Object proxies to improve decoupling
Thank You!


zoo.util package¶
Submodules¶
zoo.util.engine module¶
-
zoo.util.engine.
compare_version
(version1, version2)[source]¶ Compare version strings. Return 1 if version1 is after version2; -1 if version1 is before version2; 0 if two versions are the same.
zoo.util.nest module¶
zoo.util.spark module¶
-
class
zoo.util.spark.
SparkRunner
(spark_log_level='WARN', redirect_spark_log=True)[source]¶ Bases:
object
zoo.util.tf module¶
-
zoo.util.tf.
export_tf
(sess, folder, inputs, outputs, generate_backward=False, allow_non_differentiable_input=True)[source]¶ Export the frozen tensorflow graph as well as the inputs/outputs information to the folder for inference.
This function will 1. freeze the graph (replace all variables with constants) 2. strip all unused node as specified by inputs and outputs 3. add placeholder nodes as needed 4. write the frozen graph and inputs/outputs names to the folder
Note: There should not be any queuing operation between inputs and outputs
Parameters: - sess – tensorflow session holding the variables to be saved
- folder – the folder where graph file and inputs/outputs information are saved
- inputs – a list of tensorflow tensors that will be fed during inference
- outputs – a list of tensorflow tensors that will be fetched during inference
Returns:
-
zoo.util.tf.
strip_unused
(input_graph_def, input_tensor_names, output_tensor_names, placeholder_type_enum)[source]¶ Removes unused nodes from a GraphDef.
Args: input_graph_def: A graph with nodes we want to prune. input_tensor_names: A list of the nodes we use as inputs. output_tensor_names: A list of the output nodes. placeholder_type_enum: The AttrValue enum for the placeholder data type, or a list that specifies one value per input node name.
Returns: A GraphDef with all unnecessary ops removed. and a map containing the old input names to the new input names
Raises: ValueError: If any element in input_node_names refers to a tensor instead of an operation. KeyError: If any element in input_node_names is not found in the graph.
zoo.util.tf_graph_util module¶
Helpers to manipulate a tensor graph in python.
-
zoo.util.tf_graph_util.
convert_variables_to_constants
(sess, input_graph_def, output_node_names, variable_names_whitelist=None, variable_names_blacklist=None)[source]¶ Replaces all the variables in a graph with constants of the same values. (deprecated)
Warning: THIS FUNCTION IS DEPRECATED. It will be removed in a future version. Instructions for updating: Use tf.compat.v1.graph_util.convert_variables_to_constants
If you have a trained graph containing Variable ops, it can be convenient to convert them all to Const ops holding the same values. This makes it possible to describe the network fully with a single GraphDef file, and allows the removal of a lot of ops related to loading and saving the variables. Args: sess: Active TensorFlow session containing the variables. input_graph_def: GraphDef object holding the network. output_node_names: List of name strings for the result nodes of the graph. variable_names_whitelist: The set of variable names to convert (by default, all variables are converted). variable_names_blacklist: The set of variable names to omit converting to constants. Returns: GraphDef containing a simplified version of the original.
-
zoo.util.tf_graph_util.
extract_sub_graph
(graph_def, dest_nodes)[source]¶ Extract the subgraph that can reach any of the nodes in ‘dest_nodes’. (deprecated)
Warning: THIS FUNCTION IS DEPRECATED. It will be removed in a future version. Instructions for updating: Use tf.compat.v1.graph_util.extract_sub_graph
Args: graph_def: A graph_pb2.GraphDef proto. dest_nodes: A list of strings specifying the destination node names. Returns: The GraphDef of the sub-graph. Raises: TypeError: If ‘graph_def’ is not a graph_pb2.GraphDef proto.
-
zoo.util.tf_graph_util.
must_run_on_cpu
(node, pin_variables_on_cpu=False)[source]¶ Returns True if the given node_def must run on CPU, otherwise False. (deprecated)
Warning: THIS FUNCTION IS DEPRECATED. It will be removed in a future version. Instructions for updating: Use tf.compat.v1.graph_util.must_run_on_cpu
Args: node: The node to be assigned to a device. Could be either an ops.Operation or NodeDef. pin_variables_on_cpu: If True, this function will return False if node_def represents a variable-related op. Returns: True if the given node must run on CPU, otherwise False.
-
zoo.util.tf_graph_util.
remove_training_nodes
(input_graph, protected_nodes=None)[source]¶ Prunes out nodes that aren’t needed for inference. (deprecated)
Warning: THIS FUNCTION IS DEPRECATED. It will be removed in a future version. Instructions for updating: Use tf.compat.v1.graph_util.remove_training_nodes
There are nodes like Identity and CheckNumerics that are only useful during training, and can be removed in graphs that will be used for nothing but inference. Here we identify and remove them, returning an equivalent graph. To be specific, CheckNumerics nodes are always removed, and Identity nodes that aren’t involved in control edges are spliced out so that their input and outputs are directly connected. Args: input_graph: Model to analyze and prune. protected_nodes: An optional list of names of nodes to be kept unconditionally. This is for example useful to preserve Identity output nodes. Returns: A list of nodes with the unnecessary ones removed.
-
zoo.util.tf_graph_util.
tensor_shape_from_node_def_name
(graph, input_name)[source]¶ Convenience function to get a shape from a NodeDef’s input string. (deprecated)
Warning: THIS FUNCTION IS DEPRECATED. It will be removed in a future version. Instructions for updating: Use tf.compat.v1.graph_util.tensor_shape_from_node_def_name


import numpy as np
[docs]class Graph(object):
TRAIN_FPROP = 'train_fprop'
TEST_FPROP = 'test_fprop'
def __init__(self, start, end):
'''
For building the graph that connects all the nodes together
Args:
start (list): list of start nodes
end (list): list of end nodes
'''
assert isinstance(start, list)
assert isinstance(end, list)
self.start = start
self.end = end
for node in self.start:
assert node.__class__.__name__ == 'StartNode'
for node in self.end:
assert node.__class__.__name__ == 'EndNode'
# nodes visited during train or test fprop
self.visited_train = {}
self.visited_test = {}
def _output(self, node, mode):
assert node.__class__.__name__ in ['StartNode', 'HiddenNode', 'EndNode']
if node.__class__.__name__ == 'StartNode':
if node in self.start:
return node.input_vars
else:
return []
input_vars = []
for pnode in node.prev:
if mode == Graph.TRAIN_FPROP:
# check if the train mode of hidden node has been visited
if pnode not in self.visited_train:
output = self._output(pnode, mode)
input_vars += output
self.visited_train[pnode] = output
else:
input_vars += self.visited_train[pnode]
elif mode == Graph.TEST_FPROP:
# check if the test mode of hidden node has been visited
if pnode not in self.visited_test:
output = self._output(pnode, mode)
input_vars += output
self.visited_test[pnode] = output
else:
input_vars += self.visited_test[pnode]
else:
raise Exception('unknown mode: {}'.format(mode))
node.input_vars = input_vars
return getattr(node, mode)()
[docs] def train_fprop(self):
"""
forward propagation for train mode that builds the final tensorflow graph
"""
outs = []
for node in self.end:
outs += self._output(node, Graph.TRAIN_FPROP)
return outs
[docs] def test_fprop(self):
"""
forward propagation for test mode that builds the final tensorflow graph
"""
outs = []
for node in self.end:
outs += self._output(node, Graph.TEST_FPROP)
return outs


Capacitor is easily installed directly into any Ionic project (1.0-4.x+).
ionic start myApp tabs --capacitor
cd myApp
cd myApp
ionic integrations enable capacitor
Note: npx
is a new utility available in npm 5 or above that executes local binaries/scripts to avoid global installs.
npx cap init [appName] [appId]
where appName
is the name of your app, and appId
is the domain identifier of your app (ex: com.example.app
).
Note: Use the native IDEs to change these properties after initial configuration.
You must build your Ionic project at least once before adding any native platforms.
ionic build
This creates the www
folder that Capacitor has been automatically configured to use as the webDir
in capacitor.config.json
.
npx cap add ios
npx cap add android
Both android
and ios
folders at the root of the project are created. These are entirely separate native project artifacts that should be considered part of your Ionic app (i.e., check them into source control, edit them in their own IDEs, etc.).
npx cap open ios
npx cap open android
The native iOS and Android projects are opened in their standard IDEs (Xcode and Android Studio, respectively). Use the IDEs to run and deploy your app.
Every time you perform a build (e.g. ionic build
) that changes your web directory (default: www
), you'll need to copy those changes down to your native projects:
npx cap copy
Ionic Native is supported in Capacitor. Currently, Ionic Native contains only Cordova plugins, so whenever you find an Ionic Native wrapper you'd like to use, install it and then install the corresponding Cordova plugin by running
npm install your-cordova-plugin
npx cap update
See the Cordova guide for more information.


Name: {{ recipe.recipeName }}
Description:
{{ recipe.recipeDescription }}
Recipe Author: {{ recipe.recipeAuthor }}
Date Created: {{ recipe.dateCreated }}
Last time prepared: {{ recipe.dateLastPrepared }}
Number of times prepared: {{ recipe.numTimesPrepared }}
{{ recipe.recipeAuthors }}
Average Rating: {{ averageRating | number: "1.2-2" }}
Be the first to rate this recipe!
{{ review.user.firstname }} {{ review.user.lastname }}
Rating: {{ review.reviewRating }}
Review time: {{ review.reviewDate }}
Description:
{{ review.reviewDescription }}


---
layout: post
title: Khmer temple
date: '2013-09-30T17:31:00+02:00'
categories:
- Sketchbooks
- Architecture
picture_url: https://film-Storyboards.tumblr.com/post/62753597836/khmer-temple-roof-from-an-old-Sketchbooks
---
Khmer temple roof from an old Sketchbooks


Whether to automatically normalize answers on each keystroke.
Pros
Safer with regards to further Duolingo updates.
Fixes rendering of diacritics on some browsers.
Cons
Compound characters such as "ậ", "ệ", "ộ́", etc.,
now count as 1 character instead of 2, unlike usual.
This means that, for example, one backspace stroke is enough to remove both the letter and the
diacritic.


1. Fourier Analysis
Fourier Analysis is a very powerful tool that comes into play when we discuss periodic signals. Colloquially, a periodic signal repeats.
3.1. Introduction
Mathematically a signal is periodic if there exists a positive constant such that: for all values of . The smallest value of for which this is true is called the fundamental period and is denoted . The corresponding fundamental frequency is . If is in seconds, then is in Hertz (Hz). The fundamental angular frequency is and is measured in rad/sec.
3.2. Fourier Series
A Fourier series is an expansion of a periodic function f(x) in terms of an infinite sum of sines and cosines. The computation and study of Fourier series is known as harmonic analysis and is extremely useful as a way to break up an arbitrary periodic function into a set of simple terms that can be plugged in, solved individually, and then recombined to obtain the solution to the original problem or an approximation to it to whatever accuracy is desired or practical. 1
Mathematically in a simple sense an arbitrary function can be decomposed as:
We shall explore this concept by making two waveforms using sinosoids:
3.2.1. A Sqaure Wave
From Lab 1, we have the function generator. We use that to make a square wave of amplitude = 1.
Mathematically it can be written as:
Which has a period of . For an arbitrary period P:
The corresponding Fourier series of the square wave with period
and for arbirary period P:
Use more and more sources to add additional sinusoids and see what waveform you get after each added term. How many terms until you’re square wave looks good? 5? 10?
It should look similar to this:
This type of analysis is important for digital design in the sense that most digital signals are square waves, representing either a 1 or a zero. So if your signal is at 10MHz, how fast should the electronics and design work?
3.2.2. A Triangle Wave
The triangular wave is defined as:
Its corresponding fourier series is:
Make a flowgraph out of the expanded terms above and check the output after each operation. Do you need more or fewer components to begin looking like a triangle wave as compared to a square wave? Why do you think that is?
It should give an output like this:
3.2.3. A Sawtooth wave.
Now mathematically define a sawtooth wave and find it’s Fourier series expansion. Then create its flow-graph, again with more and more Fourier components. Again, do you need more/less Fourier components as compared to a square or triangle wave?
3.3. Fourier Series and Fourier Transforms
We segue into the concept of Fourier transforms directly by seeing how they relate to fourier series. First some mathematics to associate familiarity, the Fourier transform of is given by:
When x(t) is periodic and has a Fourier series expansion, this integral is pulling out those sines and cosines in the expansion.
In more detail: For the complex representation of a Fourier series of a periodic function :
The co-effecients, of (which has the period is given by the relation:
where is the Fourier transform and
In summary, the Fourier series of a signal is a sum of sines and cosines. And, the Fourier transform decomposes the signal into it’s its frequency components with their relative strength. This can be visually seen in a neat animation as shown below ( credit: wikipedia ) and in the next section
3.3.1. Fourier Transform
Use the Square Wave and the Triangle Wave flowgraphs from the previous exercise.
First use a signal source
block to make a square wave and feed the signal into a QT frequency sink
The Frequency Sink takes the Fourier Transform of the incoming signal and plots the output of the fourier transform
Place another QT Frequency Sink
and change the number of inputs to the number of Fourier series sinusoids you have in your flowgraph and feed all the sinusoids (vis-a-vis the individual Fourier series terms) into the frequency sink
The output looks like this:
The colored peaks are the Fourier transforms of the individual sinusoids. Do they align with the Fourier Transform of the pure square wave? If you add more terms of the Fourier series to the sink, how do they compare?
Repeat this exercise for the triangle wave.
We’ve been taking Fourier transform of the signal every time we see a plot with frequency in the time axes.
We shall visit Fourier transforms in detail again that in Lab 5.
3.3.2. Example
We can also think of this to use gnuradio-companion to graphically get the Fourier components of a signal using a Fourier transform. Create a flow-graph with a signal source->FFT(Fourier transform)-> complex to real/imag -> vector sinks. The output of the real-part contains the cosine components of the transform. The imaginary part contains the sine components of the Fourier expansion.
It is also helpful to plot the time series to see what your input is and the frequency sink to make it easier to just read off the frequency of the components.
An example flowgraph looks like:
The FFT block is a special block which does the Fourier transform really fast. Play around with the FFT block and your general waveform generator from Lab 1 to take their Fourier transform. Use this to read off the Fourier series coefficients. This can still be used with a periodic signal with much less obvious structure.
3.4. Fourier Transform Pairs
Let us revisit Fourier transform by exploring the concept through their various properties. Refer to this Table of Fourier Transform Pairs and Properties and implement in gnuradio the following :
- Fourier Transform a Sinusoid and
- Fourier transform of the sinusoid delayed by one sample
- The output of the Fourier transform of a constant source of the value 1 is a dirac delta function. Find the FT of the dirac delta function and the dirac delta function time delayed.
- Fourier transform of
- Demonstrate the convolution property (use square wave) Hint: Inverse Fourier transform can be implemented by choosing
reverse
in theForward/Reverse
Option. Hint: The output should be a triangle wave - Fourier transform a square pulse of different widths (i.e. tau refer lab 1.3.1)
Try to implement other properties from the link of fourier transform pairs and properties as well.
NOTE: Use the FFT
Block for the above exercises. Use complex sources. The FFT
block takes an input vector and outputs a complex vector. Use to appropriate stream to vector and complex to real/imaginary convertor blocks where necessary
The power of the FFT output is given by multiplying the complex output of the FFT by its complex conjugate
Use vector sinks for signals that ‘vectors’ i.e. data comes out in chunks of a particular matrix size(vector length)
↑ Go to the Top of the Page ……Next Lab
-
http://mathworld.wolfram.com/FourierSeries.html ↩


Camera Resolution
4MP
5MP
8MP
Image Capture Frequency in Minutes, Every
Number of Days the Camera is Operational (per week)
5
7
How many weeks storage (per year)
TOTAL DATA SENT AND STORED =


Dashboard
Companies
My Account
Resources
Reporting
Enterprise Dashboard
Eric Smith
Action
Another action
Something else here
Logout
Companies
Show
15
50
100
entries


us.ihmc.euclid.interfaces.Clearable
, us.ihmc.euclid.interfaces.EpsilonComparable<BoundingBox3D>
, us.ihmc.euclid.interfaces.GeometricallyComparable<BoundingBox3D>
, us.ihmc.euclid.interfaces.Settable<BoundingBox3D>
public class BoundingBox3D extends java.lang.Object implements us.ihmc.euclid.interfaces.EpsilonComparable<BoundingBox3D>, us.ihmc.euclid.interfaces.Settable<BoundingBox3D>, us.ihmc.euclid.interfaces.Clearable, us.ihmc.euclid.interfaces.GeometricallyComparable<BoundingBox3D>
BoundingBox3D
can be used to defines from a set of minimum and maximum coordinates an
axis-aligned bounding box.| Modifier and Type | Field | Description |
|---|---|---|
private us.ihmc.euclid.tuple3D.Point3D |
maxPoint |
The maximum coordinates of this bounding box.
|
private us.ihmc.euclid.tuple3D.Point3D |
minPoint |
The minimum coordinates of this bounding box.
|
| Constructor | Description |
|---|---|
BoundingBox3D() |
Creates a new bounding box initialized with both its minimum and maximum coordinates to (0, 0).
|
BoundingBox3D(double[] min,
double[] max) |
Creates a new bounding box and initializes it to the given minimum and maximum coordinates.
|
BoundingBox3D(double minX,
double minY,
double minZ,
double maxX,
double maxY,
double maxZ) |
Creates a new bounding box and initializes it to the given minimum and maximum coordinates.
|
BoundingBox3D(BoundingBox3D other) |
Creates a new bounding box and initializes it to
other . |
BoundingBox3D(us.ihmc.euclid.tuple3D.interfaces.Point3DReadOnly min,
us.ihmc.euclid.tuple3D.interfaces.Point3DReadOnly max) |
Creates a new bounding box and initializes it to the given minimum and maximum coordinates.
|
| Modifier and Type | Method | Description |
|---|---|---|
void |
checkBounds() |
Asserts that the minimum coordinates are less or equal to the maximum coordinates.
|
void |
combine(BoundingBox3D other) |
Combines this bounding box with
other such that it becomes the smallest bounding box
containing this and other . |
void |
combine(BoundingBox3D boundingBoxOne,
BoundingBox3D boundingBoxTwo) |
Sets this bounding box to the union of
boundingBoxOne and boundingBoxTwo . |
boolean |
containsNaN() |
|
static BoundingBox3D |
createUsingCenterAndPlusMinusVector(us.ihmc.euclid.tuple3D.interfaces.Point3DReadOnly center,
us.ihmc.euclid.tuple3D.interfaces.Tuple3DReadOnly plusMinusTuple) |
Creates a new bounding box 3D from its center coordinate
center and a tuple 3D holding
onto half its size plusMinusTuple . |
boolean |
doesIntersectWithLine3D(Line3DReadOnly line3D) |
Tests if this the given line 3D intersects this bounding box.
|
boolean |
doesIntersectWithLine3D(us.ihmc.euclid.tuple3D.interfaces.Point3DReadOnly pointOnLine,
us.ihmc.euclid.tuple3D.interfaces.Vector3DReadOnly lineDirection) |
Tests if this the given line 3D intersects this bounding box.
|
boolean |
doesIntersectWithLineSegment3D(LineSegment3DReadOnly lineSegment3D) |
Tests if this the given line segment 3D intersects this bounding box.
|
boolean |
doesIntersectWithLineSegment3D(us.ihmc.euclid.tuple3D.interfaces.Point3DReadOnly lineSegmentStart,
us.ihmc.euclid.tuple3D.interfaces.Point3DReadOnly lineSegmentEnd) |
Tests if this the given line segment 3D intersects this bounding box.
|
boolean |
doesIntersectWithRay3D(us.ihmc.euclid.tuple3D.interfaces.Point3DReadOnly rayOrigin,
us.ihmc.euclid.tuple3D.interfaces.Vector3DReadOnly rayDirection) |
Tests if this the given ray 3D intersects this bounding box.
|
boolean |
epsilonEquals(BoundingBox3D other,
double epsilon) |
Tests on a per-component basis on the minimum and maximum coordinates if this bounding box is
equal to
other with the tolerance epsilon . |
boolean |
equals(java.lang.Object object) |
Tests if the given
object 's class is the same as this, in which case the method returns
equals(BoundingBox3D) , it returns false otherwise. |
boolean |
equals(BoundingBox3D other) |
Tests on a per component basis, if this bounding box 3D is exactly equal to
other . |
boolean |
geometricallyEquals(BoundingBox3D other,
double epsilon) |
Compares
this to other to determine if the two bounding boxes are geometrically
similar, i.e. |
void |
getCenterPoint(us.ihmc.euclid.tuple3D.interfaces.Point3DBasics centerToPack) |
Calculates the coordinate of the center of this bounding box and stores it in the given
centerToPack . |
double |
getDiagonalLengthSquared() |
Calculates the squared value of the distance between the minimum and maximum coordinates of this
bounding box.
|
us.ihmc.euclid.tuple3D.interfaces.Point3DReadOnly |
getMaxPoint() |
Gets the read-only reference to the maximum coordinate of this bounding box.
|
void |
getMaxPoint(double[] maxToPack) |
Gets the maximum coordinate of this bounding box and stores it in the given array
maxToPack . |
void |
getMaxPoint(us.ihmc.euclid.tuple3D.interfaces.Point3DBasics maxToPack) |
Gets the maximum coordinate of this bounding box and stores it in the given
maxToPack . |
double |
getMaxX() |
Gets the maximum x-coordinate of this bounding box.
|
double |
getMaxY() |
Gets the maximum y-coordinate of this bounding box.
|
double |
getMaxZ() |
Gets the maximum z-coordinate of this bounding box.
|
us.ihmc.euclid.tuple3D.interfaces.Point3DReadOnly |
getMinPoint() |
Gets the read-only reference to the minimum coordinate of this bounding box.
|
void |
getMinPoint(double[] minToPack) |
Gets the minimum coordinate of this bounding box and stores it in the given array
maxToPack . |
void |
getMinPoint(us.ihmc.euclid.tuple3D.interfaces.Point3DBasics minToPack) |
Gets the minimum coordinate of this bounding box and stores it in the given
minToPack . |
double |
getMinX() |
Gets the minimum x-coordinate of this bounding box.
|
double |
getMinY() |
Gets the minimum y-coordinate of this bounding box.
|
double |
getMinZ() |
Gets the minimum z-coordinate of this bounding box.
|
void |
getPointGivenParameters(double xParameter,
double yParameter,
double zParameter,
us.ihmc.euclid.tuple3D.interfaces.Point3DBasics pointToPack) |
Performs a linear interpolation between this bounding box minimum and maximum coordinates using
independent parameters
xParameter , yParameter , and zParameter for the
x-axis, y-axis, and z-axis respectively. |
int |
intersectionWithLine3D(Line3DReadOnly line3D,
us.ihmc.euclid.tuple3D.interfaces.Point3DBasics firstIntersectionToPack,
us.ihmc.euclid.tuple3D.interfaces.Point3DBasics secondIntersectionToPack) |
Computes the coordinates of the two intersections between a line and this bounding box.
|
int |
intersectionWithLine3D(us.ihmc.euclid.tuple3D.interfaces.Point3DReadOnly pointOnLine,
us.ihmc.euclid.tuple3D.interfaces.Vector3DReadOnly lineDirection,
us.ihmc.euclid.tuple3D.interfaces.Point3DBasics firstIntersectionToPack,
us.ihmc.euclid.tuple3D.interfaces.Point3DBasics secondIntersectionToPack) |
Computes the coordinates of the two intersections between a line and this bounding box.
|
int |
intersectionWithLineSegment3D(LineSegment3DReadOnly lineSegment3D,
us.ihmc.euclid.tuple3D.interfaces.Point3DBasics firstIntersectionToPack,
us.ihmc.euclid.tuple3D.interfaces.Point3DBasics secondIntersectionToPack) |
Computes the coordinates of the two intersections between a line segment and this bounding box.
|
int |
intersectionWithLineSegment3D(us.ihmc.euclid.tuple3D.interfaces.Point3DReadOnly lineSegmentStart,
us.ihmc.euclid.tuple3D.interfaces.Point3DReadOnly lineSegmentEnd,
us.ihmc.euclid.tuple3D.interfaces.Point3DBasics firstIntersectionToPack,
us.ihmc.euclid.tuple3D.interfaces.Point3DBasics secondIntersectionToPack) |
Computes the coordinates of the two intersections between a line segment and this bounding box.
|
int |
intersectionWithRay3D(us.ihmc.euclid.tuple3D.interfaces.Point3DReadOnly rayOrigin,
us.ihmc.euclid.tuple3D.interfaces.Vector3DReadOnly rayDirection,
us.ihmc.euclid.tuple3D.interfaces.Point3DBasics firstIntersectionToPack,
us.ihmc.euclid.tuple3D.interfaces.Point3DBasics secondIntersectionToPack) |
Computes the coordinates of the two intersections between a ray and this bounding box.
|
boolean |
intersectsEpsilon(BoundingBox3D other,
double epsilon) |
Tests if this bounding box and
other intersects. |
boolean |
intersectsEpsilonInXYPlane(BoundingBox2DReadOnly other,
double epsilon) |
Tests if this bounding box and
other intersects. |
boolean |
intersectsExclusive(BoundingBox3D other) |
Tests if this bounding box and
other intersects. |
boolean |
intersectsExclusiveInXYPlane(BoundingBox2DReadOnly other) |
Tests if this bounding box and
other intersects. |
boolean |
intersectsInclusive(BoundingBox3D other) |
Tests if this bounding box and
other intersects. |
boolean |
intersectsInclusiveInXYPlane(BoundingBox2DReadOnly other) |
Tests if this bounding box and
other intersects. |
boolean |
isInsideEpsilon(double x,
double y,
double z,
double epsilon) |
Tests if the
query is located inside this bounding box given the tolerance
epsilon . |
boolean |
isInsideEpsilon(us.ihmc.euclid.tuple3D.interfaces.Point3DReadOnly query,
double epsilon) |
Tests if the
query is located inside this bounding box given the tolerance
epsilon . |
boolean |
isInsideExclusive(double x,
double y,
double z) |
Tests if the
query is located inside this bounding box. |
boolean |
isInsideExclusive(us.ihmc.euclid.tuple3D.interfaces.Point3DReadOnly query) |
Tests if the
query is located inside this bounding box. |
boolean |
isInsideInclusive(double x,
double y,
double z) |
Tests if the
query is located inside this bounding box. |
boolean |
isInsideInclusive(us.ihmc.euclid.tuple3D.interfaces.Point3DReadOnly query) |
Tests if the
query is located inside this bounding box. |
boolean |
isXYInsideEpsilon(double x,
double y,
double epsilon) |
* Tests if the
query is located inside the projection onto the XY-plane of this bounding
box given the tolerance epsilon . |
boolean |
isXYInsideEpsilon(us.ihmc.euclid.tuple2D.interfaces.Point2DReadOnly query,
double epsilon) |
* Tests if the
query is located inside the projection onto the XY-plane of this bounding
box given the tolerance epsilon . |
boolean |
isXYInsideExclusive(double x,
double y) |
Tests if the
query is located inside the projection onto the XY-plane of this bounding
box. |
boolean |
isXYInsideExclusive(us.ihmc.euclid.tuple2D.interfaces.Point2DReadOnly query) |
Tests if the
query is located inside the projection onto the XY-plane of this bounding
box. |
boolean |
isXYInsideInclusive(double x,
double y) |
Tests if the
query is located inside the projection onto the XY-plane of this bounding
box. |
boolean |
isXYInsideInclusive(us.ihmc.euclid.tuple2D.interfaces.Point2DReadOnly query) |
Tests if the
query is located inside the projection onto the XY-plane of this bounding
box. |
void |
set(double[] min,
double[] max) |
Redefines this bounding box with new minimum and maximum coordinates.
|
void |
set(double minX,
double minY,
double minZ,
double maxX,
double maxY,
double maxZ) |
Redefines this bounding box with new minimum and maximum coordinates.
|
void |
set(BoundingBox3D other) |
Redefines this bounding box to be the same as the given
other . |
void |
set(us.ihmc.euclid.tuple3D.interfaces.Point3DReadOnly min,
us.ihmc.euclid.tuple3D.interfaces.Point3DReadOnly max) |
Redefines this bounding box with new minimum and maximum coordinates.
|
void |
set(us.ihmc.euclid.tuple3D.interfaces.Point3DReadOnly center,
us.ihmc.euclid.tuple3D.interfaces.Vector3DReadOnly halfSize) |
Redefines this bounding box given its
center location and half its size along each axis
halfSize . |
void |
setMax(double[] max) |
Sets the maximum coordinate of this bounding box.
|
void |
setMax(double maxX,
double maxY,
double maxZ) |
Sets the maximum coordinate of this bounding box.
|
void |
setMax(us.ihmc.euclid.tuple3D.interfaces.Point3DReadOnly max) |
Sets the maximum coordinate of this bounding box.
|
void |
setMin(double[] min) |
Sets the minimum coordinate of this bounding box.
|
void |
setMin(double minX,
double minY,
double minZ) |
Sets the minimum coordinate of this bounding box.
|
void |
setMin(us.ihmc.euclid.tuple3D.interfaces.Point3DReadOnly min) |
Sets the minimum coordinate of this bounding box.
|
void |
setToNaN() |
Invalidates this bounding box by setting all its coordinates to
Double.NaN . |
void |
setToZero() |
Resets this bounding box by setting both its minimum and maximum coordinates to (0, 0).
|
java.lang.String |
toString() |
Provides a
String representation of this bounding box 3D as follows:Bounding Box 3D: min = (x, y, z), max = (x, y, z) |
static BoundingBox3D |
union(BoundingBox3D boundingBoxOne,
BoundingBox3D boundingBoxTwo) |
Creates a new bounding box such that it is the smallest bounding box containing the two given
bounding boxes
boundingBoxOne and boundingBoxTwo . |
void |
updateToIncludePoint(double x,
double y,
double z) |
Updates this bounding box to be the smallest bounding box that includes this and the given point.
|
void |
updateToIncludePoint(us.ihmc.euclid.tuple3D.interfaces.Point3DReadOnly point) |
Updates this bounding box to be the smallest bounding box that includes this and the given point.
|
private final us.ihmc.euclid.tuple3D.Point3D minPoint
private final us.ihmc.euclid.tuple3D.Point3D maxPoint
public BoundingBox3D()
public BoundingBox3D(us.ihmc.euclid.tuple3D.interfaces.Point3DReadOnly min, us.ihmc.euclid.tuple3D.interfaces.Point3DReadOnly max)
min
- the minimum coordinates for this. Not modified.max
- the maximum coordinates for this. Not modified.java.lang.RuntimeException
- if any of the minimum coordinates is strictly greater than the maximum
coordinate on the same axis.public BoundingBox3D(BoundingBox3D other)
other
.other
- the other bounding box used to initialize this. Not modified.public BoundingBox3D(double[] min, double[] max)
min
- the minimum coordinates for this. Not modified.max
- the maximum coordinates for this. Not modified.java.lang.RuntimeException
- if any of the minimum coordinates is strictly greater than the maximum
coordinate on the same axis.public BoundingBox3D(double minX, double minY, double minZ, double maxX, double maxY, double maxZ)
minX
- the minimum x-coordinate for this.minY
- the minimum y-coordinate for this.minZ
- the minimum z-coordinate for this.maxX
- the maximum x-coordinates for this.maxY
- the maximum y-coordinates for this.maxZ
- the maximum z-coordinates for this.java.lang.RuntimeException
- if any of the minimum coordinates is strictly greater than the maximum
coordinate on the same axis.public static BoundingBox3D createUsingCenterAndPlusMinusVector(us.ihmc.euclid.tuple3D.interfaces.Point3DReadOnly center, us.ihmc.euclid.tuple3D.interfaces.Tuple3DReadOnly plusMinusTuple)
center
and a tuple 3D holding
onto half its size plusMinusTuple
.
The minimum and maximum coordinates of the resulting bounding box are calculated as follows:
minPoint = center - plusMinusTuple
maxPoint = center + plusMinusTuple
center
- the center coordinate of the new bounding box. Not modified.plusMinusTuple
- tuple representing half of the size of the new bounding box. Not modified.java.lang.RuntimeException
- if any of the minimum coordinates is strictly greater than the maximum
coordinate on the same axis.public static BoundingBox3D union(BoundingBox3D boundingBoxOne, BoundingBox3D boundingBoxTwo)
boundingBoxOne
and boundingBoxTwo
.boundingBoxOne
- the first bounding box. Not modified.boundingBoxTwo
- the second bounding box. Not modified.public void checkBounds()
java.lang.RuntimeException
- if any of the minimum coordinates is strictly greater than the maximum
coordinate on the same axis.public void setMin(us.ihmc.euclid.tuple3D.interfaces.Point3DReadOnly min)
min
- the minimum coordinate for this bounding box. Not modified.java.lang.RuntimeException
- if any of the minimum coordinates is strictly greater than the maximum
coordinate on the same axis.public void setMin(double[] min)
min
- the minimum coordinates for this bounding box. Not modified.java.lang.RuntimeException
- if any of the minimum coordinates is strictly greater than the maximum
coordinate on the same axis.public void setMin(double minX, double minY, double minZ)
minX
- the new minimum x-coordinate for this bounding box.minY
- the new minimum y-coordinate for this bounding box.minZ
- the new minimum z-coordinate for this bounding box.java.lang.RuntimeException
- if any of the minimum coordinates is strictly greater than the maximum
coordinate on the same axis.public void setMax(us.ihmc.euclid.tuple3D.interfaces.Point3DReadOnly max)
max
- the maximum coordinate for this bounding box. Not modified.java.lang.RuntimeException
- if any of the minimum coordinates is strictly greater than the maximum
coordinate on the same axis.public void setMax(double[] max)
max
- the maximum coordinates for this bounding box. Not modified.java.lang.RuntimeException
- if any of the minimum coordinates is strictly greater than the maximum
coordinate on the same axis.public void setMax(double maxX, double maxY, double maxZ)
maxX
- the new maximum x-coordinate for this bounding box.maxY
- the new maximum y-coordinate for this bounding box.maxZ
- the new maximum z-coordinate for this bounding box.java.lang.RuntimeException
- if any of the minimum coordinates is strictly greater than the maximum
coordinate on the same axis.public void set(double minX, double minY, double minZ, double maxX, double maxY, double maxZ)
minX
- the new minimum x-coordinate for this bounding box.minY
- the new minimum y-coordinate for this bounding box.minZ
- the new minimum z-coordinate for this bounding box.maxX
- the new maximum x-coordinates for this bounding box.maxY
- the new maximum y-coordinates for this bounding box.maxZ
- the new maximum z-coordinates for this bounding box.java.lang.RuntimeException
- if any of the minimum coordinates is strictly greater than the maximum
coordinate on the same axis.public void set(double[] min, double[] max)
min
- the new minimum coordinates for this bounding box. Not modified.max
- the new maximum coordinates for this bounding box. Not modified.java.lang.RuntimeException
- if any of the minimum coordinates is strictly greater than the maximum
coordinate on the same axis.public void set(us.ihmc.euclid.tuple3D.interfaces.Point3DReadOnly min, us.ihmc.euclid.tuple3D.interfaces.Point3DReadOnly max)
min
- the new minimum coordinates for this bounding box. Not modified.max
- the new maximum coordinates for this bounding box. Not modified.java.lang.RuntimeException
- if any of the minimum coordinates is strictly greater than the maximum
coordinate on the same axis.public void set(us.ihmc.euclid.tuple3D.interfaces.Point3DReadOnly center, us.ihmc.euclid.tuple3D.interfaces.Vector3DReadOnly halfSize)
center
location and half its size along each axis
halfSize
.center
- the new center location of this bounding box. Not modified.halfSize
- half the size of this bounding box. Not modified.public void set(BoundingBox3D other)
other
.set
in interface us.ihmc.euclid.interfaces.Settable<BoundingBox3D>
other
- the bounding box used to redefine this bounding box. Not modified.public void combine(BoundingBox3D other)
other
such that it becomes the smallest bounding box
containing this and other
.other
- the other bounding box to combine with this. Not modified.public void combine(BoundingBox3D boundingBoxOne, BoundingBox3D boundingBoxTwo)
boundingBoxOne
and boundingBoxTwo
.
This bounding box is set such that it is the smallest bounding box containing the two given bounding boxes.
boundingBoxOne
- the first bounding box. Can be the same instance as this. Not modified.boundingBoxTwo
- the second bounding box. Can be the same instance as this. Not modified.public void setToNaN()
Double.NaN
.setToNaN
in interface us.ihmc.euclid.interfaces.Clearable
public void setToZero()
setToZero
in interface us.ihmc.euclid.interfaces.Clearable
public boolean containsNaN()
containsNaN
in interface us.ihmc.euclid.interfaces.Clearable
public void getCenterPoint(us.ihmc.euclid.tuple3D.interfaces.Point3DBasics centerToPack)
centerToPack
.centerToPack
- point 3D in which the center of this bounding box is stored. Modified.public void getPointGivenParameters(double xParameter, double yParameter, double zParameter, us.ihmc.euclid.tuple3D.interfaces.Point3DBasics pointToPack)
xParameter
, yParameter
, and zParameter
for the
x-axis, y-axis, and z-axis respectively. The result is stored in pointToPack
.
(xParameter == 0)
results in: (pointToPack.getX() == this.getMinX())
.
(xParameter == 1)
results in: (pointToPack.getX() == this.getMaxX())
.
(yParameter == 0)
results in: (pointToPack.getY() == this.getMinY())
.
(yParameter == 1)
results in: (pointToPack.getY() == this.getMaxY())
.
(zParameter == 0)
results in: (pointToPack.getZ() == this.getMinZ())
.
(zParameter == 1)
results in: (pointToPack.getZ() == this.getMaxZ())
.
xParameter
- the parameter to use for the interpolation along the x-axis.yParameter
- the parameter to use for the interpolation along the y-axis.zParameter
- the parameter to use for the interpolation along the z-axis.pointToPack
- the point 3D in which the result is stored. Modified.public double getDiagonalLengthSquared()
public boolean isInsideExclusive(us.ihmc.euclid.tuple3D.interfaces.Point3DReadOnly query)
query
is located inside this bounding box.
The query is considered to be outside if located exactly on an edge of this bounding box.
query
- the query to test if it is located inside this bounding box. Not modified.true
if the query is inside, false
if outside or located on an edge of
this bounding box.public boolean isInsideExclusive(double x, double y, double z)
query
is located inside this bounding box.
The query is considered to be outside if located exactly on an edge of this bounding box.
x
- the x-coordinate of the query to test if it is located inside this bounding box. Not
modified.y
- the y-coordinate of the query to test if it is located inside this bounding box. Not
modified.z
- the z-coordinate of the query to test if it is located inside this bounding box. Not
modified.true
if the query is inside, false
if outside or located on an edge of
this bounding box.public boolean isInsideInclusive(us.ihmc.euclid.tuple3D.interfaces.Point3DReadOnly query)
query
is located inside this bounding box.
The query is considered to be inside if located exactly on an edge of this bounding box.
query
- the query to test if it is located inside this bounding box. Not modified.true
if the query is inside or located on an edge of this bounding box,
false
if outside.public boolean isInsideInclusive(double x, double y, double z)
query
is located inside this bounding box.
The query is considered to be inside if located exactly on an edge of this bounding box.
x
- the x-coordinate of the query to test if it is located inside this bounding box. Not
modified.y
- the y-coordinate of the query to test if it is located inside this bounding box. Not
modified.z
- the z-coordinate of the query to test if it is located inside this bounding box. Not
modified.true
if the query is inside or located on an edge of this bounding box,
false
if outside.public boolean isInsideEpsilon(us.ihmc.euclid.tuple3D.interfaces.Point3DReadOnly query, double epsilon)
query
is located inside this bounding box given the tolerance
epsilon
.
epsilon == 0
, this method is equivalent to
isInsideExclusive(Point3DReadOnly)
.
epsilon > 0
, the size of this bounding box is scaled up by shifting the edges of
epsilon
toward the outside.
epsilon > 0
, the size of this bounding box is scaled down by shifting the edges of
epsilon
toward the inside.
query
- the query to test if it is located inside this bounding box. Not modified.epsilon
- the tolerance to use for this test.true
if the query is considered to be inside the bounding box, false
otherwise.public boolean isInsideEpsilon(double x, double y, double z, double epsilon)
query
is located inside this bounding box given the tolerance
epsilon
.
epsilon == 0
, this method is equivalent to
isInsideExclusive(Point3DReadOnly)
.
epsilon > 0
, the size of this bounding box is scaled up by shifting the edges of
epsilon
toward the outside.
epsilon > 0
, the size of this bounding box is scaled down by shifting the edges of
epsilon
toward the inside.
x
- the x-coordinate the query to test if it is located inside this bounding box. Not
modified.y
- the y-coordinate the query to test if it is located inside this bounding box. Not
modified.z
- the z-coordinate the query to test if it is located inside this bounding box. Not
modified.epsilon
- the tolerance to use for this test.true
if the query is considered to be inside the bounding box, false
otherwise.public boolean isXYInsideExclusive(us.ihmc.euclid.tuple2D.interfaces.Point2DReadOnly query)
query
is located inside the projection onto the XY-plane of this bounding
box.
The query is considered to be outside if located exactly on an edge of this bounding box.
query
- the query to test if it is located inside this bounding box. Not modified.true
if the query is inside, false
if outside or located on an edge of
this bounding box.public boolean isXYInsideExclusive(double x, double y)
query
is located inside the projection onto the XY-plane of this bounding
box.
The query is considered to be outside if located exactly on an edge of this bounding box.
x
- the x-coordinate of the query to test if it is located inside this bounding box. Not
modified.y
- the y-coordinate of the query to test if it is located inside this bounding box. Not
modified.true
if the query is inside, false
if outside or located on an edge of
this bounding box.public boolean isXYInsideInclusive(us.ihmc.euclid.tuple2D.interfaces.Point2DReadOnly query)
query
is located inside the projection onto the XY-plane of this bounding
box.
The query is considered to be inside if located exactly on an edge of this bounding box.
query
- the query to test if it is located inside this bounding box. Not modified.true
if the query is inside or located on an edge of this bounding box,
false
if outside.public boolean isXYInsideInclusive(double x, double y)
query
is located inside the projection onto the XY-plane of this bounding
box.
The query is considered to be inside if located exactly on an edge of this bounding box.
x
- the x-coordinate of the query to test if it is located inside this bounding box. Not
modified.y
- the y-coordinate of the query to test if it is located inside this bounding box. Not
modified.true
if the query is inside or located on an edge of this bounding box,
false
if outside.public boolean isXYInsideEpsilon(us.ihmc.euclid.tuple2D.interfaces.Point2DReadOnly query, double epsilon)
query
is located inside the projection onto the XY-plane of this bounding
box given the tolerance epsilon
.
epsilon == 0
, this method is equivalent to
isInsideExclusive(Point3DReadOnly)
.
epsilon > 0
, the size of this bounding box is scaled up by shifting the edges of
epsilon
toward the outside.
epsilon > 0
, the size of this bounding box is scaled down by shifting the edges of
epsilon
toward the inside.
query
- the query to test if it is located inside this bounding box. Not modified.epsilon
- the tolerance to use for this test.true
if the query is considered to be inside the bounding box, false
otherwise.public boolean isXYInsideEpsilon(double x, double y, double epsilon)
query
is located inside the projection onto the XY-plane of this bounding
box given the tolerance epsilon
.
epsilon == 0
, this method is equivalent to
isInsideExclusive(Point3DReadOnly)
.
epsilon > 0
, the size of this bounding box is scaled up by shifting the edges of
epsilon
toward the outside.
epsilon > 0
, the size of this bounding box is scaled down by shifting the edges of
epsilon
toward the inside.
x
- the x-coordinate the query to test if it is located inside this bounding box. Not
modified.y
- the y-coordinate the query to test if it is located inside this bounding box. Not
modified.epsilon
- the tolerance to use for this test.true
if the query is considered to be inside the bounding box, false
otherwise.public boolean intersectsExclusive(BoundingBox3D other)
other
intersects.
The two bounding boxes are considered to not be intersecting if they share a corner or an edge.
other
- the other bounding box to test if it is intersecting with this bounding box. Not
Modified.true
if the two bounding boxes intersect, false
otherwise.public boolean intersectsInclusive(BoundingBox3D other)
other
intersects.
The two bounding boxes are considered to be intersecting if they share a corner or an edge.
other
- the other bounding box to test if it is intersecting with this bounding box. Not
Modified.true
if the two bounding boxes intersect, false
otherwise.public boolean intersectsEpsilon(BoundingBox3D other, double epsilon)
other
intersects.
epsilon == 0
, this method is equivalent to
intersectsExclusive(BoundingBox3D)
.
epsilon > 0
, the size of this bounding box is scaled up by shifting the edges of
epsilon
toward the outside.
epsilon > 0
, the size of this bounding box is scaled down by shifting the edges of
epsilon
toward the inside.
other
- the other bounding box to test if it is intersecting with this bounding box. Not
Modified.epsilon
- the tolerance to use in this test.true
if the two bounding boxes intersect, false
otherwise.public boolean intersectsExclusiveInXYPlane(BoundingBox2DReadOnly other)
other
intersects.
The two bounding boxes are considered to not be intersecting if they share a corner or an edge.
This method is equivalent to projecting this bounding box onto the XY-plane before performing the test.
other
- the other bounding box to test if it is intersecting with this bounding box. Not
Modified.true
if the two bounding boxes intersect, false
otherwise.public boolean intersectsInclusiveInXYPlane(BoundingBox2DReadOnly other)
other
intersects.
The two bounding boxes are considered to be intersecting if they share a corner or an edge.
This method is equivalent to projecting this bounding box onto the XY-plane before performing the test.
other
- the other bounding box to test if it is intersecting with this bounding box. Not
Modified.true
if the two bounding boxes intersect, false
otherwise.public boolean intersectsEpsilonInXYPlane(BoundingBox2DReadOnly other, double epsilon)
other
intersects.
epsilon == 0
, this method is equivalent to
intersectsExclusiveInXYPlane(BoundingBox2DReadOnly)
.
epsilon > 0
, the size of this bounding box is scaled up by shifting the edges of
epsilon
toward the outside.
epsilon > 0
, the size of this bounding box is scaled down by shifting the edges of
epsilon
toward the inside.
This method is equivalent to projecting this bounding box onto the XY-plane before performing the test.
other
- the other bounding box to test if it is intersecting with this bounding box. Not
Modified.epsilon
- the tolerance to use in this test.true
if the two bounding boxes intersect, false
otherwise.public boolean doesIntersectWithLine3D(Line3DReadOnly line3D)
line3D
- the query. Not modified.true
if the line and this bounding box intersect, false
otherwise.public boolean doesIntersectWithLine3D(us.ihmc.euclid.tuple3D.interfaces.Point3DReadOnly pointOnLine, us.ihmc.euclid.tuple3D.interfaces.Vector3DReadOnly lineDirection)
pointOnLine
- a point located on the infinitely long line. Not modified.lineDirection
- the line direction. Not modified.true
if the line and this bounding box intersect, false
otherwise.public boolean doesIntersectWithLineSegment3D(LineSegment3DReadOnly lineSegment3D)
lineSegment3D
- the query. Not modified.true
if the line segment and this bounding box intersect, false
otherwise.public boolean doesIntersectWithLineSegment3D(us.ihmc.euclid.tuple3D.interfaces.Point3DReadOnly lineSegmentStart, us.ihmc.euclid.tuple3D.interfaces.Point3DReadOnly lineSegmentEnd)
lineSegmentStart
- first endpoint of the line segment. Not modified.lineSegmentEnd
- second endpoint of the line segment. Not modified.true
if the line segment and this bounding box intersect, false
otherwise.public boolean doesIntersectWithRay3D(us.ihmc.euclid.tuple3D.interfaces.Point3DReadOnly rayOrigin, us.ihmc.euclid.tuple3D.interfaces.Vector3DReadOnly rayDirection)
rayOrigin
- the origin of the ray. Not modified.rayDirection
- the ray direction. Not modified.true
if the ray and this bounding box intersect, false
otherwise.public int intersectionWithLine3D(Line3DReadOnly line3D, us.ihmc.euclid.tuple3D.interfaces.Point3DBasics firstIntersectionToPack, us.ihmc.euclid.tuple3D.interfaces.Point3DBasics secondIntersectionToPack)
In the case the line and the bounding box do not intersect, this method returns 0
and
firstIntersectionToPack
and secondIntersectionToPack
remains unmodified.
line3D
- the query. Not modified.firstIntersectionToPack
- the coordinate of the first intersection. Can be null
.
Modified.secondIntersectionToPack
- the coordinate of the second intersection. Can be null
.
Modified.public int intersectionWithLine3D(us.ihmc.euclid.tuple3D.interfaces.Point3DReadOnly pointOnLine, us.ihmc.euclid.tuple3D.interfaces.Vector3DReadOnly lineDirection, us.ihmc.euclid.tuple3D.interfaces.Point3DBasics firstIntersectionToPack, us.ihmc.euclid.tuple3D.interfaces.Point3DBasics secondIntersectionToPack)
In the case the line and the bounding box do not intersect, this method returns 0
and
firstIntersectionToPack
and secondIntersectionToPack
remains unmodified.
pointOnLine
- a point located on the infinitely long line. Not modified.lineDirection
- the line direction. Not modified.firstIntersectionToPack
- the coordinate of the first intersection. Can be null
.
Modified.secondIntersectionToPack
- the coordinate of the second intersection. Can be null
.
Modified.public int intersectionWithLineSegment3D(LineSegment3DReadOnly lineSegment3D, us.ihmc.euclid.tuple3D.interfaces.Point3DBasics firstIntersectionToPack, us.ihmc.euclid.tuple3D.interfaces.Point3DBasics secondIntersectionToPack)
Intersection(s) between the line segment and this bounding box can only exist between the endpoints of the line segment.
In the case the line segment and this bounding box do not intersect, this method returns
0
and firstIntersectionToPack
and secondIntersectionToPack
remains
unmodified.
In the case only one intersection exists between the line segment and the bounding box,
firstIntersectionToPack
will contain the coordinate of the intersection and
secondIntersectionToPack
will be set to contain only Double.NaN
.
lineSegment3D
- the query. Not modified.firstIntersectionToPack
- the coordinate of the first intersection. Can be null
.
Modified.secondIntersectionToPack
- the coordinate of the second intersection. Can be null
.
Modified.public int intersectionWithLineSegment3D(us.ihmc.euclid.tuple3D.interfaces.Point3DReadOnly lineSegmentStart, us.ihmc.euclid.tuple3D.interfaces.Point3DReadOnly lineSegmentEnd, us.ihmc.euclid.tuple3D.interfaces.Point3DBasics firstIntersectionToPack, us.ihmc.euclid.tuple3D.interfaces.Point3DBasics secondIntersectionToPack)
Intersection(s) between the line segment and this bounding box can only exist between the endpoints of the line segment.
In the case the line segment and this bounding box do not intersect, this method returns
0
and firstIntersectionToPack
and secondIntersectionToPack
are set to
Double.NaN
.
In the case only one intersection exists between the line segment and the bounding box,
firstIntersectionToPack
will contain the coordinate of the intersection and
secondIntersectionToPack
will be set to contain only Double.NaN
.
lineSegmentStart
- the first endpoint of the line segment. Not modified.lineSegmentEnd
- the second endpoint of the line segment. Not modified.firstIntersectionToPack
- the coordinate of the first intersection. Can be null
.
Modified.secondIntersectionToPack
- the coordinate of the second intersection. Can be null
.
Modified.public int intersectionWithRay3D(us.ihmc.euclid.tuple3D.interfaces.Point3DReadOnly rayOrigin, us.ihmc.euclid.tuple3D.interfaces.Vector3DReadOnly rayDirection, us.ihmc.euclid.tuple3D.interfaces.Point3DBasics firstIntersectionToPack, us.ihmc.euclid.tuple3D.interfaces.Point3DBasics secondIntersectionToPack)
Intersection(s) between the ray and the bounding box cannot exist before the origin of the ray.
In the case the ray and this bounding box do not intersect, this method returns0
and
firstIntersectionToPack
and secondIntersectionToPack
are set to
Double.NaN
.
In the case only one intersection exists between the ray and this bounding box,
firstIntersectionToPack
will contain the coordinate of the intersection and
secondIntersectionToPack
will be set to contain only Double.NaN
.
rayOrigin
- the coordinate of the ray origin. Not modified.rayDirection
- the direction of the ray. Not modified.firstIntersectionToPack
- the coordinate of the first intersection. Can be null
.
Modified.secondIntersectionToPack
- the coordinate of the second intersection. Can be null
.
Modified.public void updateToIncludePoint(us.ihmc.euclid.tuple3D.interfaces.Point3DReadOnly point)
point
- the point to be included in this bounding box. Not modified.public void updateToIncludePoint(double x, double y, double z)
x
- x-coordinate of the point to be included in this bounding box. Not modified.y
- y-coordinate of the point to be included in this bounding box. Not modified.z
- z-coordinate of the point to be included in this bounding box. Not modified.public void getMinPoint(us.ihmc.euclid.tuple3D.interfaces.Point3DBasics minToPack)
minToPack
.minToPack
- point 3D in which the minimum coordinate of this bounding box is stored.
Modified.public void getMaxPoint(us.ihmc.euclid.tuple3D.interfaces.Point3DBasics maxToPack)
maxToPack
.maxToPack
- point 3D in which the maximum coordinate of this bounding box is stored.
Modified.public void getMinPoint(double[] minToPack)
maxToPack
.minToPack
- array in which the minimum coordinate of this bounding box is stored. Modified.public void getMaxPoint(double[] maxToPack)
maxToPack
.maxToPack
- array in which the maximum coordinate of this bounding box is stored. Modified.public us.ihmc.euclid.tuple3D.interfaces.Point3DReadOnly getMinPoint()
public us.ihmc.euclid.tuple3D.interfaces.Point3DReadOnly getMaxPoint()
public double getMinX()
public double getMinY()
public double getMinZ()
public double getMaxX()
public double getMaxY()
public double getMaxZ()
public boolean epsilonEquals(BoundingBox3D other, double epsilon)
other
with the tolerance epsilon
.epsilonEquals
in interface us.ihmc.euclid.interfaces.EpsilonComparable<BoundingBox3D>
other
- the query. Not modified.epsilon
- the tolerance to use.true
if the two bounding boxes are equal, false
otherwise.public boolean equals(java.lang.Object object)
object
's class is the same as this, in which case the method returns
equals(BoundingBox3D)
, it returns false
otherwise.equals
in class java.lang.Object
object
- the object to compare against this. Not modified.true
if object
and this are exactly equal, false
otherwise.public boolean equals(BoundingBox3D other)
other
.other
- the other bounding box 3D to compare against this. Not modified.true
if the two bounding boxes are exactly equal component-wise, false
otherwise.public java.lang.String toString()
String
representation of this bounding box 3D as follows:toString
in class java.lang.Object
String
representing this bounding box 3D.public boolean geometricallyEquals(BoundingBox3D other, double epsilon)
this
to other
to determine if the two bounding boxes are geometrically
similar, i.e. the distance between their min and max points is less than or equal to
epsilon
.geometricallyEquals
in interface us.ihmc.euclid.interfaces.GeometricallyComparable<BoundingBox3D>
other
- the bounding box to compare to. Not modified.epsilon
- the tolerance of the comparison.true
if the two bounding boxes represent the same geometry, false
otherwise.


Man pleads guilty to fatally shooting wife in front of kids
by KNOEHARVEY, La. (AP) - A Louisiana man was sentenced to 80 years in prison for pleading guilty to fatally shooting his wife during an argument.
News outlets report 33-year-old Ray Farria accepted a deal Monday and plead guilty to manslaughter in the death of his wife 30-year-old Dominique Farria.
Jefferson Parish Sheriff’s Office investigators say Ray Farria accused Dominique Farria of contacting another man through Instagram a few days before her death.
Investigators say the two argued in a car while their four children watched.
Dominique Farria tried to drive away but Ray Farria climbed onto the hood of the car. When Dominique Farria stopped the car, Ray Farria fatally shot her through the windshield, striking her in the neck.
Farria also pleaded guilty to obstruction of justice and possession of a firearm.
(Copyright 2019 The Associated Press. All rights reserved. This material may not be published, broadcast, rewritten or redistributed.)


Alabama man charged in killing of LSU fan
LITTLEVILLE, Ala. (AP) — An Alabama sheriff says two football fans “got into it” while watching the Louisiana State University-Alabama game and one is accused of fatally shooting the other during a fight, WAFF reported.
Colbert County Sheriff Frank Williamson told the Florence TimesDaily that a group gathered to watch the Nov. 9 game at David Allen Fulkerson’s home in Littleville. James Michael Roland Merritt was cheering for LSU, who beat Alabama that day 46-41.
Court documents say the fight escalated when Fulkerson thought Merritt called him an expletive. Williamson says Fulkerson shot Merritt and added that alcohol was a “big” factor. Fulkerson contends he acted in self-defense during the fight.
News outlets report Merritt died Friday after nearly a week on life support. Fulkerson is charged with murder.
Read the original version of this article at waff.com.


Send an email to Northeastern administrators to voice your support for NU CARE's demands.
Email has been generated! Feel free to adjust it to your liking. When done, either copy and paste the fields into your favorite email client, or press the button below to automatically open an email ready-to-send!


NOTE: Due to commissions, fees, and price fluctuations, the calculated quantity may be more or less than the dollar amount you enter. Please use this quantity as an estimate only.


Class SOFTLoopback
- java.lang.Object
-
- org.lwjgl.openal.SOFTLoopback
-
public class SOFTLoopback extends java.lang.Object
Native bindings to the SOFT_loopback extension.This extension allows an application to read back OpenAL's rendered audio instead of having it output to an audio device on the system. Unextended OpenAL will output audio to an audio device, with no mechanism to allow an application to divert the audio somewhere else.
-
-
Field Summary
Fields Modifier and Type Field and Description static int
ALC_5POINT1_SOFT
ALC_6POINT1_SOFT
ALC_7POINT1_SOFTAccepted by thechannels
parameter ofIsRenderFormatSupportedSOFT
.static int
ALC_BYTE_SOFT
ALC_FLOAT_SOFTAccepted by thetype
parameter ofIsRenderFormatSupportedSOFT
.static int
ALC_FORMAT_CHANNELS_SOFT
ALC_FORMAT_TYPE_SOFTAccepted as part of theattrList
parameter ofCreateContext
.static int
ALC_INT_SOFT
Accepted by thetype
parameter ofIsRenderFormatSupportedSOFT
.static int
ALC_MONO_SOFT
ALC_QUAD_SOFTAccepted by thechannels
parameter ofIsRenderFormatSupportedSOFT
.static int
ALC_SHORT_SOFT
Accepted by thetype
parameter ofIsRenderFormatSupportedSOFT
.static int
ALC_STEREO_SOFT
Accepted by thechannels
parameter ofIsRenderFormatSupportedSOFT
.static int
ALC_UNSIGNED_BYTE_SOFT
ALC_UNSIGNED_INT_SOFT
ALC_UNSIGNED_SHORT_SOFTAccepted by thetype
parameter ofIsRenderFormatSupportedSOFT
.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method and Description static boolean
alcIsRenderFormatSupportedSOFT(long device, int frequency, int channels, int type)
When creating contexts, the attribute list must specify the format used for rendering.static long
alcLoopbackOpenDeviceSOFT(java.nio.ByteBuffer deviceName)
Loopback devices provide a way for applications to "read back" rendered audio without it being sent to an actual audio device.static long
alcLoopbackOpenDeviceSOFT(java.lang.CharSequence deviceName)
Loopback devices provide a way for applications to "read back" rendered audio without it being sent to an actual audio device.static void
alcRenderSamplesSOFT(long device, java.nio.ByteBuffer buffer, int samples)
The state of various objects on loopback devices (including processed buffers and source offsets) is processed only when new samples are rendered.static void
alcRenderSamplesSOFT(long device, float[] buffer, int samples)
float[] version of:RenderSamplesSOFT
static void
alcRenderSamplesSOFT(long device, java.nio.FloatBuffer buffer, int samples)
FloatBuffer version of:RenderSamplesSOFT
static void
alcRenderSamplesSOFT(long device, int[] buffer, int samples)
int[] version of:RenderSamplesSOFT
static void
alcRenderSamplesSOFT(long device, java.nio.IntBuffer buffer, int samples)
IntBuffer version of:RenderSamplesSOFT
static void
alcRenderSamplesSOFT(long device, short[] buffer, int samples)
short[] version of:RenderSamplesSOFT
static void
alcRenderSamplesSOFT(long device, java.nio.ShortBuffer buffer, int samples)
ShortBuffer version of:RenderSamplesSOFT
-
-
-
Field Detail
-
ALC_BYTE_SOFT
public static final int ALC_BYTE_SOFT
Accepted by thetype
parameter ofIsRenderFormatSupportedSOFT
.- See Also:
- Constant Field Values
-
ALC_UNSIGNED_BYTE_SOFT
public static final int ALC_UNSIGNED_BYTE_SOFT
Accepted by thetype
parameter ofIsRenderFormatSupportedSOFT
.- See Also:
- Constant Field Values
-
ALC_SHORT_SOFT
public static final int ALC_SHORT_SOFT
Accepted by thetype
parameter ofIsRenderFormatSupportedSOFT
.- See Also:
- Constant Field Values
-
ALC_UNSIGNED_SHORT_SOFT
public static final int ALC_UNSIGNED_SHORT_SOFT
Accepted by thetype
parameter ofIsRenderFormatSupportedSOFT
.- See Also:
- Constant Field Values
-
ALC_INT_SOFT
public static final int ALC_INT_SOFT
Accepted by thetype
parameter ofIsRenderFormatSupportedSOFT
.- See Also:
- Constant Field Values
-
ALC_UNSIGNED_INT_SOFT
public static final int ALC_UNSIGNED_INT_SOFT
Accepted by thetype
parameter ofIsRenderFormatSupportedSOFT
.- See Also:
- Constant Field Values
-
ALC_FLOAT_SOFT
public static final int ALC_FLOAT_SOFT
Accepted by thetype
parameter ofIsRenderFormatSupportedSOFT
.- See Also:
- Constant Field Values
-
ALC_MONO_SOFT
public static final int ALC_MONO_SOFT
Accepted by thechannels
parameter ofIsRenderFormatSupportedSOFT
.- See Also:
- Constant Field Values
-
ALC_STEREO_SOFT
public static final int ALC_STEREO_SOFT
Accepted by thechannels
parameter ofIsRenderFormatSupportedSOFT
.- See Also:
- Constant Field Values
-
ALC_QUAD_SOFT
public static final int ALC_QUAD_SOFT
Accepted by thechannels
parameter ofIsRenderFormatSupportedSOFT
.- See Also:
- Constant Field Values
-
ALC_5POINT1_SOFT
public static final int ALC_5POINT1_SOFT
Accepted by thechannels
parameter ofIsRenderFormatSupportedSOFT
.- See Also:
- Constant Field Values
-
ALC_6POINT1_SOFT
public static final int ALC_6POINT1_SOFT
Accepted by thechannels
parameter ofIsRenderFormatSupportedSOFT
.- See Also:
- Constant Field Values
-
ALC_7POINT1_SOFT
public static final int ALC_7POINT1_SOFT
Accepted by thechannels
parameter ofIsRenderFormatSupportedSOFT
.- See Also:
- Constant Field Values
-
ALC_FORMAT_CHANNELS_SOFT
public static final int ALC_FORMAT_CHANNELS_SOFT
Accepted as part of theattrList
parameter ofCreateContext
.- See Also:
- Constant Field Values
-
ALC_FORMAT_TYPE_SOFT
public static final int ALC_FORMAT_TYPE_SOFT
Accepted as part of theattrList
parameter ofCreateContext
.- See Also:
- Constant Field Values
-
-
Method Detail
-
alcLoopbackOpenDeviceSOFT
public static long alcLoopbackOpenDeviceSOFT(java.nio.ByteBuffer deviceName)
Loopback devices provide a way for applications to "read back" rendered audio without it being sent to an actual audio device. It allows applications to render audio as fast or slow as it needs, making it suitable for non-real-time rendering, and so it can be passed to an audio codec or something for further processing.To open a loopback device, use this function.
A loopback device behaves largely the same as a playback device. You may query playback state and error codes, and create contexts, which can then be set as current to generate sources and buffers like normal.
Note that loopback devices do not have either the
SYNC
orREFRESH
attributes. Attempting to query them will result in anINVALID_ENUM
error.- Parameters:
deviceName
- which device or device driver to use for subsequent rendering. This may beNULL
for an implementation-defined default, otherwise it must be a valid name returned by enumeration (and further must be a device capable of loopback rendering).
-
alcLoopbackOpenDeviceSOFT
public static long alcLoopbackOpenDeviceSOFT(java.lang.CharSequence deviceName)
Loopback devices provide a way for applications to "read back" rendered audio without it being sent to an actual audio device. It allows applications to render audio as fast or slow as it needs, making it suitable for non-real-time rendering, and so it can be passed to an audio codec or something for further processing.To open a loopback device, use this function.
A loopback device behaves largely the same as a playback device. You may query playback state and error codes, and create contexts, which can then be set as current to generate sources and buffers like normal.
Note that loopback devices do not have either the
SYNC
orREFRESH
attributes. Attempting to query them will result in anINVALID_ENUM
error.- Parameters:
deviceName
- which device or device driver to use for subsequent rendering. This may beNULL
for an implementation-defined default, otherwise it must be a valid name returned by enumeration (and further must be a device capable of loopback rendering).
-
alcIsRenderFormatSupportedSOFT
public static boolean alcIsRenderFormatSupportedSOFT(long device, int frequency, int channels, int type)
When creating contexts, the attribute list must specify the format used for rendering. This is done with theFORMAT_CHANNELS_SOFT
,FORMAT_TYPE_SOFT
, andFREQUENCY
attributes. This controls the format of the audio subsequently rendered by the device.To check if a particular rendering format is available, use this function.
- Parameters:
device
- the loopback device to queryfrequency
- the sample rate of the rendered audiochannels
- the channel configuration used for rendering. One of:MONO_SOFT
STEREO_SOFT
QUAD_SOFT
5POINT1_SOFT
6POINT1_SOFT
7POINT1_SOFT
type
- sample type of the written audio. One of:BYTE_SOFT
UNSIGNED_BYTE_SOFT
SHORT_SOFT
UNSIGNED_SHORT_SOFT
INT_SOFT
UNSIGNED_INT_SOFT
FLOAT_SOFT
-
alcRenderSamplesSOFT
public static void alcRenderSamplesSOFT(long device, java.nio.ByteBuffer buffer, int samples)
The state of various objects on loopback devices (including processed buffers and source offsets) is processed only when new samples are rendered. To render samples, use this function.- Parameters:
device
- the loopback device which samples are rendered from, using its contexts and associated buffers and sourcesbuffer
- the buffer to write tosamples
- the number of sample frames to render
-
alcRenderSamplesSOFT
public static void alcRenderSamplesSOFT(long device, java.nio.ShortBuffer buffer, int samples)
ShortBuffer version of:RenderSamplesSOFT
-
alcRenderSamplesSOFT
public static void alcRenderSamplesSOFT(long device, java.nio.IntBuffer buffer, int samples)
IntBuffer version of:RenderSamplesSOFT
-
alcRenderSamplesSOFT
public static void alcRenderSamplesSOFT(long device, java.nio.FloatBuffer buffer, int samples)
FloatBuffer version of:RenderSamplesSOFT
-
alcRenderSamplesSOFT
public static void alcRenderSamplesSOFT(long device, short[] buffer, int samples)
short[] version of:RenderSamplesSOFT
-
alcRenderSamplesSOFT
public static void alcRenderSamplesSOFT(long device, int[] buffer, int samples)
int[] version of:RenderSamplesSOFT
-
alcRenderSamplesSOFT
public static void alcRenderSamplesSOFT(long device, float[] buffer, int samples)
float[] version of:RenderSamplesSOFT
-
-