Python Design Patterns¶
Welcome!
I’m Brandon Rhodes (website, Twitter) and this is my evolving guide to design patterns in the Python programming language.
- This site is letting me collect my ideas about Python and Design Patterns all in one place.
- My hope is that these pages make the patterns more discoverable — easier to find in web searches, and easier to read — than when they were scattered across the videos and slides of my Python conference talks.
- The weight of other obligations makes my progress intermittent. To check for new material, simply visit the commit history of this site’s project repository on GitHub, where you can also select “Watch” to get updates.
With those preliminaries complete, here are the patterns!


{% include utils/old_browser.html %}
{% include utils/noscript.html %}
{% include utils/cookiewarning.html %}
{% comment %} >>>>>>>>>>>>>>>>>> Generates a menu Twitter Bootstrap style
Include with : {% include header.html navId="main" %}
Pages that have a corresponding "menu: string" in front matter will be included in this menu
Pages are sorted by "weight"
{% endcomment %}
{% assign navbarId = include.navId %}
{% if navbarId == "" or navBarId == nil %}{% assign navbarId = "main" %}{% endif %}


>>
<<
Usr
Pri
JfC
LJ
Phr
Dic
Voc
!:
Help
Dictionary
A. Nouns
Nouns are classified in three independent ways:
numeric or literal or symbol; open or boxed; arrays of various ranks.
The atoms of any array must belong to a single class:
numeric, literal, symbol, or boxed. Arrays of ranks 0, 1, and 2 are
also called atom, list, and table, or, in math,
scalar, vector, and matrix.
Numbers and literals are represented as stated in
Part I;
symbols are discussed under the verb s: .
Arrays. A single entity such as 2.3
or _2.3j5 or 'A' or '+' is called an atom.
The verb denoted by comma chains its arguments to form a list
whose shape (given by the verb $)
is equal to the number of atoms combined. For example:
$ date=: 1,7,7,6 word=: 's','a','w'
4
|. date |. word
6 7 7 1 was
The verb |. used above is called reverse.
The phrase s$b produces an array of shape s from
the list b . For example:
(3,4) $ date,1,8,6,7,1,9,1,7
1 7 7 6
1 8 6 7
1 9 1 7
table=: 2 3$ word,'bat'
table $table
saw 2 3
bat
The number of atoms in the shape of a noun is called its rank.
Each position of the shape is called an axis of the array,
and axes are referred to by indices 0, 1, 2, etc.
For example, axis 0 of table has length 2 and axis
1 has length 3.
The last k axes of an array b determine
rank-k cells or k-cells of b.
The rest of the shape vector is called the frame of b relative
to the cells of rank k; if $c is 2 3 4 5,
then c has the frame 2 3 relative to cells of rank 2,
the frame 2 3 4 5 relative to 0-cells (atoms),
and an empty frame relative to 4-cells. If:
] b=:2 3 4 $ 'abcdefghijklmnopqrstuvwx'
abcd
efgh
ijkl
mnop
qrst
uvwx
then the list abcd is a 1-cell of b,
and the letters are each 0-cells.
A cell of rank one less than the rank of b
is called an item of b; an atom
has one item, itself. For example, the verb from
(denoted by {) selects items from its right argument,
as in:
0{b 1{b 0{0{b
abcd mnop abcd
efgh qrst
ijkl uvwx
2 1{0{b 1{2{0{b 0{3
ijkl j 3
efgh
Moreover, the verb grade (denoted by /:)
provides indices to { that bring items to “lexical” order.
Thus:
g=: /: n=: 4 3$3 1 4 2 7 9 3 2 0
n g g{n
3 1 4 1 0 3 2 2 7 9
2 7 9 3 1 4
3 2 0 3 1 4
3 1 4 3 2 0
Negative numbers, as in _2-cell and _1-cell (an item),
are also used to refer to cells whose frames are of the length
indicated by the magnitude of the number.
For example, the list abcd may be referred to either as a
_2-cell or as a 1-cell of b .
Open and Boxed. The nouns discussed thus far
are called open, to distinguish them from boxed nouns
produced by the verb box denoted by < .
The result of box is an atom, and boxed nouns are displayed in boxes.
Box allows one to treat any array (such as the list of letters
that represent a word) as a single entity, or atom. Thus:
words=:(<'I'),(<'was'),(<'it')
letters=: 'I was it'
$words $letters
3 8
|. words |. letters
+--+---+-+ ti saw I
|it|was|I|
+--+---+-+
2 3$words,|.words
+--+---+--+
|I |was|it|
+--+---+--+
|it|was|I |
+--+---+--+
>>
<<
Usr
Pri
JfC
LJ
Phr
Dic
Voc
!:
Help
Dictionary


See our Businesses and Organizations webmaster docs for a full explanation of the Address type, and how to encode Address data in RDFa, microformats or microdata. This page exists to contain a machine-readable microdata description of the Address type itself (at the URI http://data-vocabulary.org/Address).
An item with the item type http://data-vocabulary.org/Address represents a physical address. The following are the type’s defined property names:
| Property | Description |
|---|---|
street-address
|
The street address. |
locality
|
The locality (e.g., a city). |
region
|
The region (e.g., a state). |
postal-code
|
The postal code. |
country-name
|
The name of the country. |


Sensor & HTML5
Toggle navigation
Orientation
Device Motion
Proximity
Light
User Media
Vibration
Web Speech


The lookup table or LUT shader allows you to transform the colors of your game using an image editor like the GIMP. From color grading to turning day into night, the LUT shader is a handy tool for tweaking the look of your game.
Before you can get started, you'll need to find a neutral LUT image. Neutral meaning that it leaves the fragment colors unchanged. The LUT needs to be 256 pixels wide by 16 pixels tall and contain 16 blocks with each block being 16 by 16 pixels.
The LUT is mapped out into 16 blocks. Each block has a different level of blue. As you move across the blocks, from left to right, the amount of blue increases. You can see the amount of blue in each block's upper-left corner. Within each block, the amount of red increases as you move from left to right and the amount of green increases as you move from top to bottom. The upper-left corner of the first block is black since every RGB channel is zero. The lower-right corner of the last block is white since every RGB channel is one.
With the neutral LUT in hand, take a screenshot of your game and open it in your image editor. Add the neutral LUT as a new layer and merge it with the screenshot. As you manipulate the colors of the screenshot, the LUT will be altered in the same way. When you're done editing, select only the LUT and save it as a new image. You now have your new lookup table and can begin writing your shader.
// ...
vec2 texSize = textureSize(colorTexture, 0).xy;
vec4 color = texture(colorTexture, gl_FragCoord.xy / texSize);
// ...
The LUT shader is a screen space technique. Therefore, sample the scene's color at the current fragment or screen position.
// ...
float u = floor(color.b * 15.0) / 15.0 * 240.0;
u = (floor(color.r * 15.0) / 15.0 * 15.0) + u;
u /= 255.0;
float v = ceil(color.g * 15.0);
v /= 15.0;
v = 1.0 - v;
// ...
In order to transform the current fragment's color, using the LUT, you'll need to map the color to two UV coordinates on the lookup table texture. The first mapping (shown up above) is to the nearest left or lower bound block location and the second mapping (shown below) is to the nearest right or upper bound block mapping. At the end, you'll combine these two mappings to create the final color transformation.
Each of the red, green, and blue channels maps to one of 16 possibilities in the LUT. The blue channel maps to one of the 16 upper-left block corners. After the blue channel maps to a block, the red channel maps to one of the 16 horizontal pixel positions within the block and the green channel maps to one of the 16 vertical pixel positions within the block. These three mappings will determine the UV coordinate you'll need to sample a color from the LUT.
To calculate the final U coordinate, divide it by 255 since the LUT is 256 pixels wide and U ranges from zero to one. To calculate the final V coordinate, divide it by 15 since the LUT is 16 pixels tall and V ranges from zero to one. You'll also need to subtract the normalized V coordinate from one since V ranges from zero at the bottom to one at the top while the green channel ranges from zero at the top to 15 at the bottom.
Using the UV coordinates, sample a color from the lookup table. This is the nearest left block color.
// ...
u = ceil(color.b * 15.0) / 15.0 * 240.0;
u = (ceil(color.r * 15.0) / 15.0 * 15.0) + u;
u /= 255.0;
v = 1.0 - (ceil(color.g * 15.0) / 15.0);
vec3 right = texture(lookupTableTexture, vec2(u, v)).rgb;
// ...
Now you'll need to calculate the UV coordinates for the nearest right block color. Notice how ceil
or ceiling is being used now instead of floor
.
// ...
color.r = mix(left.r, right.r, fract(color.r * 15.0));
color.g = mix(left.g, right.g, fract(color.g * 15.0));
color.b = mix(left.b, right.b, fract(color.b * 15.0));
// ...
Not every channel will map perfectly to one of its 16 possibilities. For example, 0.5
doesn't map perfectly. At the lower bound (floor
), it maps to 0.4666666666666667
and at the upper bound (ceil
), it maps to 0.5333333333333333
. Compare that with 0.4
which maps to 0.4
at the lower bound and 0.4
at the upper bound. For those channels which do not map perfectly, you'll need to mix the left and right sides based on where the channel falls between its lower and upper bound. For 0.5
, it falls directly between them making the final color a mixture of half left and half right. However, for 0.132
the mixture will be 98% right and 2% left since the fractional part of 0.123
times 15.0
is 0.98
.
Set the fragment color to the final mix and you're done.
(C) 2020 David Lettier
lettier.com


Pay
NGN 25000
Card
Account
Wallet
Enter your account details to pay
Pay NGN 25000
Funds are secured through Flutterwave
...
Enter your account details to pay


Normally the police board a yacht on arrival and give customs clearance, but if not, the captain should contact Customs at a port of entry.
The annual Grindadráp whaling season in the Faroe Islands takes place between June and September. This event has attracted protesters and there will be an increased security presence during this time.
It must be noted that, although a dependency of Denmark, The Faroe Islands are not part of the European Union.
Last updated February 2015.
Visitors require a vaild passport, valid for 3 months past the length of their visit.
Most visitors are granted a 90 day stay.Immigration requirements are the similar to Denmark, but the Faroe Islands are are neither part of the European Union nor the Schengen Area. See this official Danish website for more details if a visa is required for the Faroe Islands.
When applying for a visa, it must be specified that a visit to the Faroe Islands is planned.
Last updated February 2015.
The Faeroes have a tradition of "prohibition" (i.e. no alcohol) although alcoholic drinks can now be purchased from special state shops (Rúsdrekkasøla Landsins). Since 1992 the licensing laws have been relaxed and there are now licensed restaurants and pubs.
Yachts are allowed small quantities on board for their own use (one bottle of spirits per person, slightly more of wine), but it is frowned upon to take alcohol ashore.
Last updated February 2015.
Navigation: The Faeroe courtesy flag should be flown, not the Danish. The flag shows a red cross with a small blue border (like the Danish white cross), on a white field.
Overhead cables cross the fjords and sounds between the islands and give a reading on radar similar to a ship.
Tidal streams run very strongly both around and between the islands, being significantly stronger at the equinox, when the tidal race may reach 11 knots in places. At the entrance to the fjords a combination of wind and tide can create a big sea, while inside the fjords if a strong tide is running one can navigate close to the steep-to sides where counter-eddies may be found. Information on dangerous overfalls and races as well as on the direction of the tides can be found in Tidal Current around the Faeroe Islands (Streymkort fyri Foroyar; ed. Fischer Heinesen) which has an English translation of essential information and is available at Jacobsen?s Bokhandil, Husagardur 2, Thorshavn. Tel. 311 036. e-mail<EMAIL_ADDRESS>Animals covered by the Pets Travel Scheme (PETS) can travel in and out of the Faroe Islands providing they have a Pet Passport, microchip and Health Certificate and current Rabies Vaccination Certificate issued by a recognised Veterinarian and have had a blood test prior to travel.


Express Admin
Layout
Centered
Streched
Theme
Default
Amelia
Cerulean
Cosmo
Cyborg
Darkly
Flatly
Journal
Lumen
Readable
Simplex
Slate
Spacelab
Superhero
United
Yeti
Language
Български
Chinese/中文
Deutsch
English
한국어
Русский
Home
User (One to One)
1
User (One to One)
firstname
lastname
Address
Remove
street
street
Add another Address
Phone
mobile
Add another Phone
Delete
Save and add another
Save and continue editing
Save


Colleges and Universities(R)
(C)Copyright 1995,1996 Christina DeMello. Reproduction and distribution are
permissible for non-profit purposes only, but no changes are to be
made to this document without the author's written consent.
Please send additions, corrections, and comments to<EMAIL_ADDRESS>Give me a few days
to respond as I no longer have a direct net connection at work every
day. Also, this list may be updated more quickly than I can respond
personally to email.
A, B, C, D, E,
F, G, H, I, J,
K, L, M, N, O,
P, Q, R, S, T,
U, V, W, X, Y,Z
- Radford University
- Rajamangala Institute of Technology
- Ramrao Adik Institute of Engineering
- Rand Afrikaans University
- Randolph-Macon College
- Randolph-Macon Woman's College
- Rapperswil School of Engineering
- Rashtreeya Vidyalaya College of Engineering
- Rayapati Venkata Rangarao and Jagarlamudi Chandramouli College of Engineering
- Reading University
- Red River Community College
- Red de Interconexion Universitaria (RIU)
- Reed College
- Regent University
- Regent University College of Communication
- Regional Engineering College, Calicut
- Regional Engineering College, Durgapur
- Regional Engineering College, Rourkela
- Regional Engineering College, Suratkal
- Regional Engineering College, Tiruchirappalli, India
- Regional Engineering College, Trichy
- Regional Engineering College, Warangal
- Regional Institute of Technology, Jamshedpur
- Regional Technical College Cork
- Regional Technical College Galway
- Regional Technical College Letterkenny
- Regional Technical College Limerick
- Regional Technical College Sligo
- Regional Technical College Tallaght
- Regional Technical College, Carlow
- Regional Technical College, Dundalk
- Regis College
- Reitaku University
- Rensselaer Polytechnic Institute
- Rhode Island College
- Rhode Island School of Design
- Rhodes College
- Rhodes University
- Rice University
- Richard Huish College
- Richard Stockton University
- Richland College
- Richland Community College
- Ricks College
- Rider University
- Riga Technical University
- Rio Salado Community College
- Ripon College
- Ritsumeikan University
- Riverside Community College
- Roanoke Bible College
- Roanoke College
- Robert Gordon University
- Rochester Institute of Technology
- Rockefeller University
- Rockford College
- Rockhurst College
- Rocky Mountain College
- Rollins College
- Rollins School of Public Health
- Rose-Hulman Institute of Technology
- Roskilde University
- Ross University School of Veterinary Medicine
- Ross University Schoole of Medicine
- Rostov State University
- Rowan College of New Jersey
- Royal College of Surgeons
- Royal Danish School of Educational Studies
- Royal Danish School of Pharmacy
- Royal Holloway University of London
- Royal Melbourne Institute of Technology
- Royal Military Academy of Belgium
- Royal Military College of Canada
- Royal Postgraduate Medical School
- Royal Roads University
- Royal Veterinary College, London
- Royal Veterinary and Agricultural University
- Rudolf Steiner College
- Ruhr-Universität Bochum
- Russell Sage College
- Russian Academy of Sciences
- Rutgers University
- Rutgers University - Campus at Newark
- Rutgers University - Campus at Newark
- Rutgers University, Camden
- Ryerson Polytechnic University
Return to Top Level
<EMAIL_ADDRESS><EMAIL_ADDRESS>Last updated:
Mon Jul 15 00:44:47 PDT 1996


{include file='manage@public_file/header' /} {block name="php"}{/block} {block name="style"}{/block}
{block name="content">}{/block}
{include file='manage@public_file/footer' /} {block name="script"}{/block}


I am currently having one of the most wretched drug experiences of my life, thanks to yohimbe.
 Having heard that yohimbe could combat this side-effect, I purchased a quantity of yohimbe bark from a local herb-shop and tried it out.
I made a tea by placing about 2 tablespoons of the bark in a tea ball and steeping it in boiling hot water for 5-10 minutes. The tea, sweetened with honey, was drinkable and not particularly foul tasting. I noticed the effects within an hour; I felt sped up, uncomfortable, and a little nauseous. Paradoxically, I also felt like lying down (I wish I felt that way now.)
It's some eight hours later and I'm completely unable to go to sleep; the normally cheerful prospect of lying down in bed with my boyfriend is impossible to contemplate, because I can't sit still for more than five minutes and I don't want to wake him up. I resorted to alcohol, the only depressant I had on hand, to try to get to sleep, but it was no use. I've lost track of the number of times I've had to get up to pee; evidently this stuff exerts a diuretic effect. Also, I notice a mydriatic effect; my pupils are wide and dilated. The effect on my mood has not been pleasant, either; I've found myself dwelling on unpleasant things and experiencing something like panic.
It came as little consolation that I was, in fact, able to have sex; I got little pleasure from it.
I may try this again at a significantly lower dosage, because it did do what it was supposed to do, sort of. But right now it's looking as though I'm not to get a wink of sleep before sunrise, and that's a depressing thought.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


This is a paragraph ffffffffsdfsdfs
Responsive column resets
This is a template for a simple informational website. Use it as a starting point to create something more unique.
This is a template for a simple informational website. Use it as a starting point to create something more unique.
This is a template for a simple informational website. Use it as a starting point to create something more unique.
This is a template for a simple informational website. Use it as a starting point to create something more unique.
This is a template for a simple informational website. Use it as a starting point to create something more unique.
This is a template for a simple informational website. Use it as a starting point to create something more unique.


{{title}}
CPU Usage
- %
Memory Usage
- %
Heap Usage
- %
One Minute Load Avg
-
Spent in Event Loop
ms
Response Time
-
Requests per Second
-
Status Codes
2xx
3xx
4xx
5xx
{{#each healthCheckResults}}
{{/each}}


YOUR OPTIONS ARE:
-
Select for doing wordcount on a file
Select for making a sample directory in other location of your choice
Select for making and uploading a sample file
Select for uploading an existing file from your own computer
Select for going in safe mode
Select for setting user Quota
Select for setting space Quota
Select for clearing user Quota
Select for clearing space Quota
Select for seeing the Quota that is set
Select for seeing the uplaoded directories and files
Select to permanently set the replication and block size
Select to change the replication and block to the default values
Select to upload with different replication and block size
Select to upload
Select to leave safe mode
Select to exit
Select to see total space
UPLOAD


This event aims at applying the basic knowledge of chemistry(Chemical reactions). Participants have to perform magic using any chemical reaction. After performing their trick, participants must need to explain the mechanism behind the trick. Participants can perform as many tricks as they want.
1. Safety first. (Come with apron and safety shoes, Safety gloves will be provided.)
2. Hazardous or concentrated chemicals are not allowed.
3. Chemicals will not be provided.
Maximum 3 participants per team
9th March 2017
4:00 PM to 5:30 PM
CR-10
30/- per team
Heet Manavadariya(M:8238343466 email<EMAIL_ADDRESS>Fenil Miyani(M:7046741872 email: fenilmiyani12@gmail.com)


Support 39M with Paypal
Click the button below to support 39M, you can set any amount you want!
39M appreciate your donation!


This is our cystom syntax:
{日,に}{本,ほん}{語,ご}
Convert using RubyAnn
Press 'Convert' to modify the HTML above and show Furigana (should look like image below)


{% load i18n %} {% url 'speaker_create_token' token as token_url %} {% blocktrans with username=proposal.speaker.name site_name=current_site.name title=proposal.title %}
{{ username }} attached you as an additional speaker to a talk proposal for {{ site_name }} entitled "{{ title }}".
Go to
https://{{ current_site }}{{ token_url }}
to confirm and fill out your speaker profile.
{% endblocktrans %}


This iterator takes an iterator and combines its sequence of values.
Function Accumulate[ ]
Semantics


Adding to Your Library
We've just created a custom node and applied it to a specific process in our Dynamo graph. And we like this node so much, we want to keep it in our Dynamo library to reference in other graphs. To do this, we'll publish the node locally. This is a similar process to publishing a package, which we'll walk through in more detail in the next chapter.
Publishing a Custom Node Locally
Let's move forward with the custom node that we created in the previous section. By publishing a node locally, the node will be accessible in your Dynamo library when you open a new session. Without publishing a node, a Dynamo graph which references a custom node must also have that custom node in its folder (or the custom node must be imported into Dynamo using File>Import Library).
Download the example file that accompanies this exercise (Right click and "Save Link As..."). A full list of example files can be found in the Appendix. PointsToSurface.dyf
After opening the PointsToSurface custom node, we see the graph above in the Dynamo Custom Node Editor. You can also open up a custom node by double clicking on it in the Dynamo Graph Editor.
- To Publish a custom node locally, simply right click on the canvas and select "Publish This Custom Node..."
Fill out the relevant information similar to the image above and select "Publish Locally".. Note that the Group field defines the main element accessible from the Dynamo menu.
Choose a folder to house all of the custom nodes that you plan on publishing locally. Dynamo will check this folder each time it loads, so make sure the folder is in a permanent place. Navigate to this folder and choose "Select Folder". Your Dynamo node is now published locally, and will remain in your Dynamo Toolbar each time you load the program!
- To check on the custom node folder location, go to Settings > Manage Node and Package Paths...
In this window we see two paths: AppData\Roaming\Dynamo... refers to the default location of Dynamo Packages installed online. Documents\DynamoCustomNodes... refers to the location of custom nodes we've published locally. *
- You may want to move your local folder path down in the list order above (by selecting the folder path and clicking on the down arrow to the left of the path names). The top folder is the default path for package installs. So by keeping the default Dynamo package install path as the default folder, online packages will be separated from your locally published nodes.*
We switched the order of the path names in order to have Dynamo's default path as the package install location.
Navigating to this local folder, we can find the original custom node in the ".dyf" folder, which is the extension for a Dynamo Custom Node file. We can edit the file in this folder and the node will update in the UI. We can also add more nodes to the main DynamoCustomNode folder and Dynamo will add them to your library at restart!
Dynamo will now load each time with "PointsToSurface" in the "DynamoPrimer" group of your Dynamo library.


Preparation time
overnight
Cooking time
10 to 30 mins
Serves
Serves 4
Fire up the griddle-pan for a tasty tandoori quail recipe.
To spatchcock the quail, take some strong, sharp scissors (or poultry shears) and cut down either side of the spine. Take out the spine, then press down on the breastbone of the quail to open it out flat. Cut the quail in half lengthways.
For the marinade, mix the spices and yoghurt in a bowl until well combined.
Coat the quail with the marinade, cover with clingfilm and chill in the fridge for at least 2 hours, preferably overnight.
Heat a griddle pan until hot, then add the quail, skin-side down, and grill for 3 minutes on each side, or until the juices run clear when a skewer is inserted into the thickest part. Remove the quail from the griddle and lave to rest for 2-3 minutes.
Meanwhile for the fennel salad, mix the fennel, cucumber, red onion, mint and half the lemon juice in a bowl until well combined. Season to taste with salt and freshly ground black pepper.
Whisk the olive oil, yoghurt and remaining lemon juice in a bowl until well combined. Add the cumin and fennel seed, and season to taste with salt and freshly ground black pepper.
To serve, place the quail on top of the salad. Scatter with coriander cress and spoon a good dollop of yoghurt dressing alongside.


This project converts SVG files to the equivalent cairo source code. After this conversion, you don't need any SVG rendering library to display the content of the file. cairo and the generated source code is everything you need.
With librsvg, there exists an open-source library that can render SVGs using cairo. However, this library has some bulky dependencies, e.g., GLib. This complicates the distribution of programs using this library.
This converter can replace librsvg at least in thoses cases, where the SVGs are available at compile-time.
The first step is to convert the SVG into an XML file describing the cairo drawing commands. This is implemented in svg2cairoxml.c
using librsvg and cairo's XML surface that was introduced in cairo 1.10.
Next, we can convert the generated XML file to source code. This is done using a Lua script that parses and processes the XML file.
Windows binaries are available by clicking on the download button above. The zip archive contains:
svg2cairoxml.exe // SVG to cairo XML converter
cairoxml2cairo.lua // cairo XML to source code converter (Lua script)
lua.exe // Lua interpreter
formats/ // directory with supported source code exporters (Lua scripts)
tests/ // sample code (see below)
README.html // this file in HTML format
and all necessary DLLs
The easiest way to convert SVG files is by using the command line:
> svg2cairoxml.exe svg-file xml-file
> lua.exe cairoxml2cairo.lua [-f format] xml-file source-file
The available formats are described below.
On Linux, you have to compile svg2cairoxml.c
yourself (see below). Additionally, the Lua interpreter is required. The usage is aquivalent to the one on Windows:
$ ./svg2cairoxml svg-file xml-file
$ lua cairoxml2cairo.lua [-f format] xml-file source-file
The available formats are described below.
Currently, format
can be one of lua-oocairo
, c
, and scrupp
.
lua-oocairo
Creates a Lua file for use with oocairo (manual), a cairo binding for Lua.
Loading the generated file with require()
or dofile()
returns a table that contains 3 fields:
width
contains the default width of the graphic.height
contains the default height of the graphic.render
is a function that takes a cairo context as argument and renders the graphic using that context.The default size of the vector image (defined by width
and height
) can be changed by calling cr:scale(sx, sy)
before calling render
.
c
Produces C source code. The generated file defines 3 functions:
int cairo_code_BASENAME_get_width()
returns the default width of the graphic.int cairo_code_BASENAME_get_height()
returns the default height of the graphic.void cairo_code_BASENAME_render(cairo_t *cr)
renders the image using the provided cairo context.The default size of the vector image (defined by its width
and height
) can by changed by calling cairo_scale(cairo_t *cr, double sx, double sy)
before calling the render function.
BASENAME
is replaced by the name of the source XML file without suffix (e.g., the basename of symbol.xml
is symbol
).
scrupp
Generates a slua
file. If opened with Scrupp, the vector graphic is displayed in a window.
The tests
directory contains sample source code that shows how to load images defined by c code or lua files.
To compile svg2cairoxml.c
, librsvg and cairo (1.10 or later) with XML surface support are required.
In the cairo library, rendering to an XML surface is not possible by default. Therefore, --enable-xml=yes
has to be passed to configure
when compiling cairo.
The Windows binaries were created on Arch Linux using MinGW compiled for Linux. Most required mingw32 libraries were installed from the excellent Arch User Repository (AUR).
On Linux, the cairo library has to be compiled manually (pass --enable-xml=yes
to configure
). You should be able to install all other required libraries with the package manager of your distribution.
Finally, see the Makefile
for details on how to compile svg2cairoxml.c
.
An alternative to the manual compilation of cairo is the usage of wine with the provided Windows binaries.
This software is licensed under the MIT license.
© 2010 Andreas Krinke <andreas.krinke@gmx.de>.


Be sure to read the rules before playing. They will be displayed as soon as you join this server. You can view them again at any time by saying !motd
.
Rules
Violating these is the best way to get banned
-
The golden rule: DON'T BE A JERK!
- When someone, admin or otherwise, asks you to stop doing something, stop.

- Inappropriate chat messages (racist, harassment, etc.) are not permitted.
- Actions and ideas that violate federal/state law will be reported to the authorities.
- In general, think before you do and speak.
More Information
Please visit our websites


|
数字式立体视觉刺激系统
1.0.1
Digital Stereo System
|
类 | |
| struct | NV_MOSAIC_TOPO_DETAILS |
| This structure defines the topology details. 更多... | |
| struct | NV_MOSAIC_TOPO_BRIEF |
| struct | NV_MOSAIC_DISPLAY_SETTING |
| Basic per-display settings that are used in setting/getting the Mosaic mode. 更多... | |
| struct | NV_MOSAIC_SUPPORTED_TOPO_INFO |
| so arrays are bound. 更多... | |
| struct | NV_MOSAIC_TOPO_GROUP |
| struct | NV_MOSAIC_GRID_TOPO_DISPLAY |
| struct | NV_MOSAIC_TOPOLOGY |
| Used in NvAPI_GetCurrentMosaicTopology() and NvAPI_SetCurrentMosaicTopology(). 更多... | |
| struct | NV_MOSAIC_SUPPORTED_TOPOLOGIES |
| Used in NvAPI_GetSupportedMosaicTopologies(). 更多... | |
| #define NV_MOSAIC_DISPLAY_SETTINGS_MAX 40 |
Set a reasonable maximum number of display settings to support
| #define NV_MOSAIC_MAX_DISPLAYS (64) |
| #define NV_MOSAIC_MAX_TOPO_PER_TOPO_GROUP 2 |
This defines the maximum number of topos that can be in a topo group. At this time, it is set to 2 because our largest topo group (passive stereo) only needs 2 topos (left eye and right eye).
If a new topo group with more than 2 topos is added above, then this number will also have to be incremented.
| #define NV_MOSAIC_TOPO_IDX_DEFAULT 0 |
| #define NV_MOSAIC_TOPO_IDX_LEFT_EYE 0 |
| #define NV_MOSAIC_TOPO_IDX_RIGHT_EYE 1 |
| #define NV_MOSAIC_TOPO_NUM_EYES 2 |
| #define NV_MOSAIC_TOPO_VALIDITY_MISSING_DISPLAY 0x00000002 |
topology. hPhysicalGPU will be 0 for these.
Not enough displays were found to fill the entire
| #define NV_MOSAIC_TOPO_VALIDITY_MISSING_GPU 0x00000001 |
Not enough SLI GPUs were found to fill the entire
| #define NV_MOSAIC_TOPO_VALIDITY_MIXED_DISPLAY_TYPES 0x00000004 |
topology. displayOutputId will be 0 for these.
The topoogy is only possible with displays of the same
| #define NV_MOSAIC_TOPO_VALIDITY_VALID 0x00000000 |
The topology is valid.
| #define NVAPI_MAX_MOSAIC_DISPLAY_COLUMNS 8 |
Used in NV_MOSAIC_TOPOLOGY.
| #define NVAPI_MAX_MOSAIC_DISPLAY_COLUMNS 8 |
Used in NV_MOSAIC_TOPOLOGY.
| #define NVAPI_MAX_MOSAIC_DISPLAY_ROWS 8 |
Used in NV_MOSAIC_TOPOLOGY.
| #define NVAPI_MAX_MOSAIC_DISPLAY_ROWS 8 |
Used in NV_MOSAIC_TOPOLOGY.
| #define NVAPI_MAX_MOSAIC_TOPOS 16 |
Used in NV_MOSAIC_TOPOLOGY.
| #define NVAPI_MOSAIC_DISPLAY_SETTING_VER MAKE_NVAPI_VERSION(NV_MOSAIC_DISPLAY_SETTING,1) |
Macro for constructing the version field of NV_MOSAIC_DISPLAY_SETTING.
| #define NVAPI_MOSAIC_SUPPORTED_TOPO_INFO_VER MAKE_NVAPI_VERSION(NV_MOSAIC_SUPPORTED_TOPO_INFO,1) |
Macro forconstructing the version field of NV_MOSAIC_SUPPORTED_TOPO_INFO.
| #define NVAPI_MOSAIC_SUPPORTED_TOPOLOGIES_VER MAKE_NVAPI_VERSION(NV_MOSAIC_SUPPORTED_TOPOLOGIES,1) |
Used in NV_MOSAIC_SUPPORTED_TOPOLOGIES.
| #define NVAPI_MOSAIC_TOPO_BRIEF_VER MAKE_NVAPI_VERSION(NV_MOSAIC_TOPO_BRIEF,1) |
Macro for constructing the version field of NV_MOSAIC_TOPO_BRIEF.
| #define NVAPI_MOSAIC_TOPO_DETAILS_VER MAKE_NVAPI_VERSION(NV_MOSAIC_TOPO_DETAILS,1) |
Macro for constructing te vesion field of NV_MOSAIC_TOPO_DETAILS.
| #define NVAPI_MOSAIC_TOPO_GROUP_VER MAKE_NVAPI_VERSION(NV_MOSAIC_TOPO_GROUP,1) |
Macro for constructing the version field of NV_MOSAIC_TOPO_GROUP.
| #define NVAPI_MOSAIC_TOPOLOGY_VER MAKE_NVAPI_VERSION(NV_MOSAIC_TOPOLOGY,1) |
Used in NV_MOSAIC_TOPOLOGY.
| enum NV_MOSAIC_TOPO |
This is a complete list of supported Mosaic topologies.
Using a "Basic" topology combines multiple monitors to create a single desktop.
Using a "Passive" topology combines multiples monitors to create a passive stereo desktop. In passive stereo, two identical topologies combine - one topology is used for the right eye and the other identical //! topology (targeting different displays) is used for the left eye.
NOTE: common\inc\nvEscDef.h shadows a couple PASSIVE_STEREO enums. If this enum list changes and effects the value of NV_MOSAIC_TOPO_BEGIN_PASSIVE_STEREO please update the corresponding value in nvEscDef.h
| enum NV_MOSAIC_TOPO_TYPE |
These values refer to the different types of Mosaic topologies that are possible. When getting the supported Mosaic topologies, you can specify one of these types to narrow down the returned list to only those that match the given type.
| NVAPI_INTERFACE NvAPI_EnableCurrentMosaicTopology | ( | NvU32 | enable | ) |
DESCRIPTION: This API enables or disables the current Mosaic topology. When enabling, the last Mosaic topology will be set.
SUPPORTED OS: Windows XP
| [in] | enable | TRUE to enable the Mosaic Topology, FALSE to disable it. |
| NVAPI_OK | Call succeeded |
| NVAPI_INVALID_ARGUMENT | One or more arguments are invalid |
| NVAPI_NVIDIA_DEVICE_NOT_FOUND | No NVIDIA GPU driving a display was found |
| NVAPI_NOT_SUPPORTED | Mosaic is not supported with GPUs on this system. |
| NVAPI_NO_ACTIVE_SLI_TOPOLOGY | SLI is not enabled, yet needs to be, in order for this function to succeed. |
| NVAPI_INTERFACE NvAPI_GetCurrentMosaicTopology | ( | NV_MOSAIC_TOPOLOGY * | pMosaicTopo, |
| NvU32 * | pEnabled | ||
| ) |
DESCRIPTION: This API gets the current Mosaic topology.
SUPPORTED OS: Windows XP
| [out] | pMosaicTopo | The current Mosaic topology |
| [out] | pEnabled | TRUE if returned topology is currently enabled, else FALSE |
| NVAPI_OK | Call succeeded |
| NVAPI_INVALID_ARGUMENT | One or more arguments are invalid |
| NVAPI_NVIDIA_DEVICE_NOT_FOUND | No NVIDIA GPU driving a display was found |
| NVAPI_NOT_SUPPORTED | Mosaic is not supported with GPUs on this system. |
| NVAPI_NO_ACTIVE_SLI_TOPOLOGY | SLI is not enabled, yet needs to be, in order for this function to succeed. |
| NVAPI_INTERFACE NvAPI_GetSupportedMosaicTopologies | ( | NV_MOSAIC_SUPPORTED_TOPOLOGIES * | pMosaicTopos | ) |
DESCRIPTION: This API returns all valid Mosaic topologies.
SUPPORTED OS: Windows XP
| [out] | pMosaicTopos | An array of valid Mosaic topologies. |
| NVAPI_OK | Call succeeded; 1 or more topologies were returned |
| NVAPI_INVALID_ARGUMENT | One or more arguments are invalid |
| NVAPI_MIXED_TARGET_TYPES | Mosaic topology is only possible with all targets of the same NV_GPU_OUTPUT_TYPE. |
| NVAPI_NVIDIA_DEVICE_NOT_FOUND | No NVIDIA GPU driving a display was found |
| NVAPI_NOT_SUPPORTED | Mosaic is not supported with GPUs on this system. |
| NVAPI_NO_ACTIVE_SLI_TOPOLOGY | SLI is not enabled, yet needs to be, in order for this function to succeed. |
| NVAPI_INTERFACE NvAPI_Mosaic_EnableCurrentTopo | ( | NvU32 | enable | ) |
DESCRIPTION: This API enables or disables the current Mosaic topology based on the setting of the incoming 'enable' parameter.
An "enable" setting enables the current (previously set) Mosaic topology. Note that when the current Mosaic topology is retrieved, it must have an isPossible value of 1 or an error will occur.
A "disable" setting disables the current Mosaic topology. The topology information will persist, even across reboots. To re-enable the Mosaic topology, call this function again with the enable parameter set to 1.
SUPPORTED OS: Windows XP and higher
| [in] | enable | 1 to enable the current Mosaic topo, 0 to disable it. |
| NVAPI_OK | The Mosaic topo was enabled/disabled. |
| NVAPI_NOT_SUPPORTED | Mosaic is not supported with the existing hardware. |
| NVAPI_INVALID_ARGUMENT | One or more arguments passed in are invalid. |
| NVAPI_TOPO_NOT_POSSIBLE | The current topology is not currently possible. |
| NVAPI_MODE_CHANGE_FAILED | There was an error changing the display mode. |
| NVAPI_ERROR | Miscellaneous error occurred. |
| NVAPI_INTERFACE NvAPI_Mosaic_EnumDisplayGrids | ( | __out_opt NV_MOSAIC_GRID_TOPO * | pGridTopologies, |
| __inout NvU32 * | pGridCount | ||
| ) |
SUPPORTED OS: Windows 7 and higherDESCRIPTION: Enumerates the current active grid topologies. This includes Mosaic, IG, and Panoramic topologies, as well as single displays.
If pGridTopologies is NULL, then pGridCount will be set to the number of active grid topologies.
If pGridTopologies is not NULL, then pGridCount contains the maximum number of grid topologies to return. On return, pGridCount will be set to the number of grid topologies that were returned.
| [out] | pGridTopologies | The list of active grid topologies. |
| [in,out] | pGridCount | A pointer to the number of grid topologies returned. |
| NVAPI_OK | Capabilties have been returned. |
| NVAPI_END_ENUMERATION | There are no more topologies to return. |
| NVAPI_INVALID_ARGUMENT | One or more args passed in are invalid. |
| NVAPI_API_NOT_INTIALIZED | The NvAPI API needs to be initialized first |
| NVAPI_NO_IMPLEMENTATION | This entrypoint not available |
| NVAPI_ERROR | Miscellaneous error occurred |
| NVAPI_INTERFACE NvAPI_Mosaic_GetCurrentTopo | ( | NV_MOSAIC_TOPO_BRIEF * | pTopoBrief, |
| NV_MOSAIC_DISPLAY_SETTING * | pDisplaySetting, | ||
| NvS32 * | pOverlapX, | ||
| NvS32 * | pOverlapY | ||
| ) |
DESCRIPTION: This API returns information for the current Mosaic topology. This includes topology, display settings, and overlap values.
You can call NvAPI_Mosaic_GetTopoGroup() with the topology if you require more information.
If there isn't a current topology, then pTopoBrief->topo will be NV_MOSAIC_TOPO_NONE.
SUPPORTED OS: Windows XP and higher
| [out] | pTopoBrief | The current Mosaic topology |
| [out] | pDisplaySetting | The current per-display settings |
| [out] | pOverlapX | The pixel overlap between horizontal displays |
| [out] | pOverlapY | The pixel overlap between vertical displays |
| NVAPI_OK | Success getting current info. |
| NVAPI_NOT_SUPPORTED | Mosaic is not supported with the existing hardware. |
| NVAPI_INVALID_ARGUMENT | One or more argumentss passed in are invalid. |
| NVAPI_API_NOT_INTIALIZED | The NvAPI API needs to be initialized first. |
| NVAPI_NO_IMPLEMENTATION | This entry point not available. |
| NVAPI_ERROR | Miscellaneous error occurred. |
| NVAPI_INTERFACE NvAPI_Mosaic_GetDisplayViewportsByResolution | ( | NvU32 | displayId, |
| NvU32 | srcWidth, | ||
| NvU32 | srcHeight, | ||
| NV_RECT | viewports[NV_MOSAIC_MAX_DISPLAYS], | ||
| NvU8 * | bezelCorrected | ||
| ) |
since Release R290 SUPPORTED OS: Windows Vista and higherDESCRIPTION: This API returns the viewports that would be applied on the requested display.
| [in] | displayId | Display ID of a single display in the active mosaic topology to query. |
| [in] | srcWidth | Width of full display topology. If both width and height are 0, the current resolution is used. |
| [in] | srcHeight | Height of full display topology. If both width and height are 0, the current resolution is used. |
| [out] | viewports | Array of NV_RECT viewports which represent the displays as identified in NvAPI_Mosaic_EnumGridTopologies. If the requested resolution is a single-wide resolution, only viewports[0] will contain the viewport details, regardless of which display is driving the display. |
| [out] | bezelCorrected | Returns 1 if the requested resolution is bezel corrected. May be NULL. |
| NVAPI_OK | Capabilties have been returned. |
| NVAPI_INVALID_ARGUMENT | One or more args passed in are invalid. |
| NVAPI_API_NOT_INTIALIZED | The NvAPI API needs to be initialized first |
| NVAPI_MOSAIC_NOT_ACTIVE | The display does not belong to an active Mosaic Topology |
| NVAPI_NO_IMPLEMENTATION | This entrypoint not available |
| NVAPI_ERROR | Miscellaneous error occurred |
| NVAPI_INTERFACE NvAPI_Mosaic_GetOverlapLimits | ( | NV_MOSAIC_TOPO_BRIEF * | pTopoBrief, |
| NV_MOSAIC_DISPLAY_SETTING * | pDisplaySetting, | ||
| NvS32 * | pMinOverlapX, | ||
| NvS32 * | pMaxOverlapX, | ||
| NvS32 * | pMinOverlapY, | ||
| NvS32 * | pMaxOverlapY | ||
| ) |
DESCRIPTION: This API returns the X and Y overlap limits required if the given Mosaic topology and display settings are to be used.
SUPPORTED OS: Windows XP and higher
| [in] | pTopoBrief | The topology for getting limits This must be one of the topo briefs returned from NvAPI_Mosaic_GetSupportedTopoInfo(). |
| [in] | pDisplaySetting | The display settings for getting the limits. This must be one of the settings returned from NvAPI_Mosaic_GetSupportedTopoInfo(). |
| [out] | pMinOverlapX | X overlap minimum |
| [out] | pMaxOverlapX | X overlap maximum |
| [out] | pMinOverlapY | Y overlap minimum |
| [out] | pMaxOverlapY | Y overlap maximum |
| NVAPI_OK | Details were retrieved successfully. |
| NVAPI_NOT_SUPPORTED | Mosaic is not supported with the existing hardware. |
| NVAPI_INVALID_ARGUMENT | One or more argumentss passed in are invalid. |
| NVAPI_API_NOT_INTIALIZED | The NvAPI API needs to be initialized first. |
| NVAPI_NO_IMPLEMENTATION | This entrypoint not available. |
| NVAPI_INCOMPATIBLE_STRUCT_VERSION | The version of the structure passed in is not compatible with this entry point. |
| NVAPI_ERROR | Miscellaneous error occurred. |
| NVAPI_INTERFACE NvAPI_Mosaic_GetSupportedTopoInfo | ( | NV_MOSAIC_SUPPORTED_TOPO_INFO * | pSupportedTopoInfo, |
| NV_MOSAIC_TOPO_TYPE | type | ||
| ) |
DESCRIPTION: This API returns information on the topologies and display resolutions supported by Mosaic mode.
NOTE: Not all topologies returned can be set immediately. See 'OUT' Notes below.
Once you get the list of supported topologies, you can call NvAPI_Mosaic_GetTopoGroup() with one of the Mosaic topologies if you need more information about it.
'IN' Notes: pSupportedTopoInfo->version must be set before calling this function. If the specified version is not supported by this implementation, an error will be returned (NVAPI_INCOMPATIBLE_STRUCT_VERSION).
'OUT' Notes: Some of the topologies returned might not be valid for one reason or another. It could be due to mismatched or missing displays. It could also be because the required number of GPUs is not found. At a high level, you can see if the topology is valid and can be enabled by looking at the pSupportedTopoInfo->topoBriefs[xxx].isPossible flag. If this is true, the topology can be enabled. If it is false, you can find out why it cannot be enabled by getting the details of the topology via NvAPI_Mosaic_GetTopoGroup(). From there, look at the validityMask of the individual topologies. The bits can be tested against the NV_MOSAIC_TOPO_VALIDITY_* bits.
It is possible for this function to return NVAPI_OK with no topologies listed in the return structure. If this is the case, it means that the current hardware DOES support Mosaic, but with the given configuration no valid topologies were found. This most likely means that SLI was not enabled for the hardware. Once enabled, you should see valid topologies returned from this function.
SUPPORTED OS: Windows XP and higher
| [in,out] | pSupportedTopoInfo | Information about what topologies and display resolutions are supported for Mosaic. |
| [in] | type | The type of topologies the caller is interested in getting. See NV_MOSAIC_TOPO_TYPE for possible values. |
| NVAPI_OK | No errors in returning supported topologies. |
| NVAPI_NOT_SUPPORTED | Mosaic is not supported with the existing hardware. |
| NVAPI_INVALID_ARGUMENT | One or more arguments passed in are invalid. |
| NVAPI_API_NOT_INTIALIZED | The NvAPI API needs to be initialized first. |
| NVAPI_NO_IMPLEMENTATION | This entrypoint not available. |
| NVAPI_INCOMPATIBLE_STRUCT_VERSION | The version of the structure passed in is not |
| NVAPI_ERROR | Miscellaneous error occurred. |
| NVAPI_INTERFACE NvAPI_Mosaic_GetTopoGroup | ( | NV_MOSAIC_TOPO_BRIEF * | pTopoBrief, |
| NV_MOSAIC_TOPO_GROUP * | pTopoGroup | ||
| ) |
DESCRIPTION: This API returns a structure filled with the details of the specified Mosaic topology.
If the pTopoBrief passed in matches the current topology, then information in the brief and group structures will reflect what is current. Thus the brief would have the current 'enable' status, and the group would have the current overlap values. If there is no match, then the returned brief has an 'enable' status of FALSE (since it is obviously not enabled), and the overlap values will be 0.
'IN' Notes: pTopoGroup->version must be set before calling this function. If the specified version is not supported by this implementation, an error will be returned (NVAPI_INCOMPATIBLE_STRUCT_VERSION).
SUPPORTED OS: Windows XP and higher
| [in] | pTopoBrief | The topology for getting the details This must be one of the topology briefs returned from NvAPI_Mosaic_GetSupportedTopoInfo(). |
| [in,out] | pTopoGroup | The topology details matching the brief |
| NVAPI_OK | Details were retrieved successfully. |
| NVAPI_NOT_SUPPORTED | Mosaic is not supported with the existing hardware. |
| NVAPI_INVALID_ARGUMENT | One or more argumentss passed in are invalid. |
| NVAPI_API_NOT_INTIALIZED | The NvAPI API needs to be initialized first. |
| NVAPI_NO_IMPLEMENTATION | This entrypoint not available. |
| NVAPI_INCOMPATIBLE_STRUCT_VERSION | The version of the structure passed in is not |
| NVAPI_ERROR | Miscellaneous error occurred. |
| NVAPI_INTERFACE NvAPI_Mosaic_SetCurrentTopo | ( | NV_MOSAIC_TOPO_BRIEF * | pTopoBrief, |
| NV_MOSAIC_DISPLAY_SETTING * | pDisplaySetting, | ||
| NvS32 | overlapX, | ||
| NvS32 | overlapY, | ||
| NvU32 | enable | ||
| ) |
DESCRIPTION: This API sets the Mosaic topology and performs a mode switch using the given display settings.
If NVAPI_OK is returned, the current Mosaic topology was set correctly. Any other status returned means the topology was not set, and remains what it was before this function was called.
SUPPORTED OS: Windows XP and higher
| [in] | pTopoBrief | The topology to set. This must be one of the topologies returned from NvAPI_Mosaic_GetSupportedTopoInfo(), and it must have an isPossible value of 1. |
| [in] | pDisplaySetting | The per display settings to be used in the Mosaic mode. This must be one of the settings returned from NvAPI_Mosaic_GetSupportedTopoInfo(). |
| [in] | overlapX | The pixel overlap to use between horizontal displays (use positive a number for overlap, or a negative number to create a gap.) If the overlap is out of bounds for what is possible given the topo and display setting, the overlap will be clamped. |
| [in] | overlapY | The pixel overlap to use between vertical displays (use positive a number for overlap, or a negative number to create a gap.) If the overlap is out of bounds for what is possible given the topo and display setting, the overlap will be clamped. |
| [in] | enable | If 1, the topology being set will also be enabled, meaning that the mode set will occur. If 0, you don't want to be in Mosaic mode right now, but want to set the current Mosaic topology so you can enable it later with NvAPI_Mosaic_EnableCurrentTopo(). |
| NVAPI_OK | The Mosaic topology was set. |
| NVAPI_NOT_SUPPORTED | Mosaic is not supported with the existing hardware. |
| NVAPI_INVALID_ARGUMENT | One or more argumentss passed in are invalid. |
| NVAPI_TOPO_NOT_POSSIBLE | The topology passed in is not currently possible. |
| NVAPI_API_NOT_INTIALIZED | The NvAPI API needs to be initialized first. |
| NVAPI_NO_IMPLEMENTATION | This entrypoint not available. |
| NVAPI_INCOMPATIBLE_STRUCT_VERSION | The version of the structure passed in is not compatible with this entrypoint. |
| NVAPI_MODE_CHANGE_FAILED | There was an error changing the display mode. |
| NVAPI_ERROR | Miscellaneous error occurred. |
| NVAPI_INTERFACE NvAPI_SetCurrentMosaicTopology | ( | NV_MOSAIC_TOPOLOGY * | pMosaicTopo | ) |
DESCRIPTION: This API sets the Mosaic topology, and enables it so that the Mosaic display settings are enumerated upon request.
SUPPORTED OS: Windows XP
| [in] | pMosaicTopo | A valid Mosaic topology |
| NVAPI_OK | Call succeeded |
| NVAPI_INVALID_ARGUMENT | One or more arguments are invalid |
| NVAPI_NVIDIA_DEVICE_NOT_FOUND | No NVIDIA GPU driving a display was found |
| NVAPI_NOT_SUPPORTED | Mosaic is not supported with GPUs on this system. |
| NVAPI_NO_ACTIVE_SLI_TOPOLOGY | SLI is not enabled, yet needs to be, in order for this function to succeed. |


Press n or j to go to the next uncovered block, b, p or k for the previous block.
| File | Statements | Branches | Functions | Lines | |||||
|---|---|---|---|---|---|---|---|---|---|
| database.js | 98.29% | 172/175 | 91.01% | 81/89 | 98.25% | 56/57 | 98.18% | 162/165 | |
| entity.js | 100% | 13/13 | 100% | 8/8 | 100% | 1/1 | 100% | 13/13 | |
| executable.js | 97.56% | 40/41 | 96.67% | 29/30 | 100% | 4/4 | 97.44% | 38/39 | |
| queryable.js | 100% | 77/77 | 95.74% | 45/47 | 100% | 16/16 | 100% | 69/69 | |
| table.js | 96.3% | 78/81 | 93.88% | 46/49 | 100% | 10/10 | 96.3% | 78/81 |


Robinhood is saving: (Confidentiality)
Click here to make robinhood fail.
(Integrity)
Click here to make robinhood crash.
(Accessibility)
Attempted to set robin hood to crash.
Attempted to set robin hood to fail.
Make robinhood save:
LocalStorage variables:
Key
Value


Milwaukee Bucks' Eric Bledsoe commits head-scratching gaffe during Los Angeles Clippers game
by Ryan GaydosMilwaukee Bucks guard Eric Bledsoe apparently had a brain lapse in the fourth quarter against the Los Angeles Clippers on Wednesday night.
Bledsoe was set to inbound the ball with about 10 minutes left in the game to Giannis Antetokounmpo from the sideline when he decided to dribble the ball upon receiving it from the referee. He was immediately called for a violation and the ball was given back to the Clippers.
NBA: LEONARD NOT HEALTHY SO CLIPPERS ALLOWED TO REST HIM
Bledsoe was quickly mocked across social media for his poor judgment.
76ERS' BEN SIMMONS INJURED IN FIRST HALF AGAINST JAZZ
The gaffe was one of the Bucks’ 15 turnovers in the game.
Luckily, it wasn’t enough to change the tide of the game. Milwaukee still came away with the win 129-124 to improve to 6-2 on the season. Los Angeles fell to 5-3.
CLICK HERE FOR MORE SPORTS COVERAGE ON FOXNEWS.COM
Bledsoe had 20 points, six rebounds, and two assists in 26 minutes.  Antetokounmpo led the team with 38 points.


Open Angel Arena 4.9.1 Update
Item Changes
Shadow Amulet:
Cannot be used on Azazel towers anymore.
Previous
Home
Next


System Architect Symbol details for "State Change Activity"
Activity (Class)
- Description:
Purposeful and intentional "Event"
- Comment:
-
Previous documented definitions providing the source for the above are:
An exertion of energy initiated by an "Agent" (CBS v2) - this definition is followed by a definition
of its subtypes.
Conscious, directed and purposeful exertion of energy.
"Event" occurring through the volition of an "Agent".
Definitions Used:
Quantity (Class Attribute)
Activity For Subject (Class)
- Description:
"Activity" directed towards a single "Subject".
- Comment:
-
Previous definitions from which the above have been distilled:
An act which changes either the state, or the knowledge of the state, of a "Subject" (CBS v2).
Activity State Change (Class)
- Child Diagrams:
-
Activity State Change (
UML Class)
- Description:
"Activity" changing the state of another "Activity".
Activity/Direction (Generalization Node)
- Base Class:
Activity
- Definitions Used:
-
Activity (Class)
Agent (Class)
- Description:
-
Role of a subject enabling it to act purposefully.
- Comment:
-
CBS V2: - A role of a "Subject" which indicates that it has power to act
This is a role which may be played by a "Subject". Sometimes, an "Agent" may be created in order to
assemble a set of responsibilities and authorities prior to a specific "Subject" being identified
and allocated to it.
For purposes of creating an "Authorising Act", an "Agent" may actually be a group of individuals -
for example when joint responsibility is being taken for some decision, as in a clinical case
conference. In such a case the details of the group are taken care of by "Subject" and "Inter
Subject Relationship".
Examples of "Agent":
Dr Smithers within NHS XYZ Trust,
Ms J.Doe in the HXT Pathology laboratory.
A better understanding of the types of "Agent" can be gained from examination of its subtypes.
Agent State Change (Class)
- Child Diagrams:
-
Agent State Change (
UML Class)
- Description:
-
"State Change Activity" changing the state of an "Agent".
completion timepoint (Association)
- From Class:
Timepoint
- To Class:
"State Change Activity"
- From Class:
Timepoint
- To Class:
"State Change Activity"
Focus State Change (Class)
- Child Diagrams:
-
Focus State Change (
UML Class)
- Description:
"Activity" changing the state of a "Focus For Further Activity".
Intention State Change (Class)
- Child Diagrams:
-
Intention State Change (
UML Class)
- Description:
"Activity" changing the state of an "Intention".
responsible for performance of (Association)
- From Class:
Agent
- To Class:
"State Change Activity"
- From Class:
Agent
- To Class:
"State Change Activity"
SCA/Direction (Generalization Node)
- Base Class:
"State Change Activity"
- Definitions Used:
-
State Change Activity (Class)
State Change Activity (Class)
- Description:
"Activity" which changes the state of an "Object".
- Comment:
The "to" state is deemed to take effect simultaneously with the completion of the state change
activity. There will of course be occasions when the decision to make a state change is made well in
advance of this and that this decision may be communicated to interested parties.
Subject Identifier State Change (Class)
- Child Diagrams:
-
Subject Identifier State Change (
UML Class)
- Description:
"Activity" changing the state of a "Subject Identifier".
Temporal Resource Act (Class)
- Description:
"Activity" making a "Temporal Resource" available for a specified period.
- Comment:
-
Examples include:
Staff roster
Room schedule
Operating theatre session list.
Timepoint (Class)
- Description:
"Reference Point" being a point or period in time.


{{ template "header" }}
The /{{.}} mapping you're looking for does not exist.
/{{.}}
Would you like to define it?


An application that generates random restaurants based on the inputted city. Also shows the weather of the city on search.
Repository WebpageA space to share your sound - an application where you can search for songs and add to your personal interactive playlist.
Repository WebpageOrganizes employees' data in a table and includes a search bar to filter employees. Also includes a sort function that sorts data.
Repository WebpageAn easy to use planner for a day's work. Add, edit, and remove tasks and color codes based on current time.
Repository WebpageKeeps track of incoming money and expenses. Also a Progressive Web App (PWA) that can be downloaded.
Repository WebpageSearch for a city to find out the current weather along with the next 5 days' forecast. Forecasts include: temperature, humidity, and wind-speed.
Repository Webpage


Kempinski Nile Hotel
Situated in Cairo’s affluent Garden City district, Kempinski Hotel offers luxurious rooms on the shores of the Nile River. It features a wellness centre and a rooftop swimming pool.
Each of Kempinski’s rooms offer free WiFi and high definition LCD TVs with satellite channels and a free minibar with soft drinks. For guests’ comfort, it offers a butler service and pillow concierge. The bathrooms are marbled.
Kempinski’s full-service spa and wellness centre offers complimentary hot tubs, steam rooms, and saunas. Guests can also enjoy professional massages, or cool off in the outdoor swimming pool on the hotel’s rooftop.
Nile Hotel Kempinski boasts a variety of restaurants and bars, including the Osmanly offering Ottoman cuisine. Guests can also enjoy French dining at the Blue Restaurant or drink champagne at the Floor 10.
Kempinski Nile Hotel is 5 minutes’ walk from downtown Cairo and from the Egyptian Museum. Cairo International Airport is 25 km away, and the Pyramids of Giza and the Cairo Citadel are 20 minutes away by car.
Garden City is a great choice for travellers interested in nightlife, entertainment and museums.


Navigation
First page
Second page
Last page
Remove "myNavi" var
Clear all
Mode
Fire jsGET listener (and update output box below) with every change
Fire jsGET listener (and update output box below) ONLY when you change the URL by going back in the browser history (or by manually editing the hash section)
Listener test frequency:
very fast (0.1s)
|
fast (0.25s)
|
regular/default (0.5s)
|
slow (1s)
|
very slow (5s)


NURESTPushCenter¶
-
class
NURESTPushCenter
[source]¶ Push center wait for push notifications.
It has to listen a specific URL.
Every time a notification is send, it will automatically get it and store it into get_last_events method.
Methods¶
NURESTPushCenter.
add_delegate
(callback)[source]¶Registers a new delegate callback
The prototype should be function(data), where data will be the decoded json push
Parameters: callback (function) – method to trigger when push center receives events
NURESTPushCenter.
get_last_events
()[source]¶Retrieve events that has been
Returns: Returns a list of events and flush existing events.
NURESTPushCenter.
remove_delegate
(callback)[source]¶Unregisters a registered delegate function or a method.
Parameters: callback (function) – method to trigger when push center receives events
NURESTPushCenter.
start
(timeout=None, root_object=None)[source]¶Starts listening to events.
Parameters:
- timeout (int) – number of seconds before timeout. Used for testing purpose only.
- root_object (bambou.NURESTRootObject) – NURESTRootObject object that is listening. Used for testing purpose only.


Preparation time
over 2 hours
Cooking time
10 to 30 mins
Serves
Makes 8–10
These tear-and-share savoury rolls are lovely served warm from the oven. If they have cooled, warm them through slightly first.
Put the flour, yeast, salt and sugar (or honey) in a bowl and drizzle in the olive oil, then the water, mixing together until it comes together as a dough. Add the chorizo, 50g/1¾oz of the cheese and the chives (or other herbs).
Knead in the bowl for a minute until the additions have worked in a little, then knead on a floured surface until the dough is smooth. Return to the bowl, cover with a damp cloth or cling film and leave to rest somewhere warm for 1½ –2 hours, until doubled in size.
Preheat your oven to its highest setting. Knock back the risen dough and divide into 8–10 even pieces. Knead and shape into balls, then place in a 28cm/11in diameter cake tin or a small roasting tin, which has been lined with greaseproof paper. Cover with a damp towel again and leave to rise for another 20–30 minutes, or until risen and squashing together.
Brush lightly with the egg glaze (you need a very light touch if the bread dough is at all puffy and springy), then sprinkle over the remaining 50g/1¾oz cheese. Bake in the oven for 20–25 minutes, or until cooked through and a golden-brown colour. They should feel slightly hollow. Serve warm from the oven or cold.


Files.createDirectory(directoryName);
Creates directory "directoryName". If this directory already exists, the function call is ignored. If several directories in "directoryName" do not exist, all of them are created. For example, assume that directory "E:/test1" exists and that directory "E:/test1/test2/test3" shall be created. In this case the directories "test2" in "test1" and "test3" in "test2" are created.
This function is silent, i.e., it does not print a message. In case of error (e.g., "directoryName" is an existing regular file), an assert is triggered.
function createDirectory extends Modelica.Icons.Function; input String directoryName "Name of directory to be created (if present, ignore call)"; end createDirectory;


Stormzy announces details of highly-anticipated second album
Stormzy has revealed that his second album will be called Heavy Is The Head and will contain a previously unreleased song with Ed Sheeran.
In a post to his 1.3 million Twitter followers, the Brit Award-winning grime rapper, 26, also said the record would be released on December 13.
Its title appears to refer his song Crown, released in June, which features the lyrics: “I tried to be grateful and count all my blessings / But heavy is the head that wears the crown.”
Stormzy’s post on Monday also unveiled the album’s full tracklisting as well as its cover.
The cover shows Stormzy wearing a crown and holding the Banksy-designed Union Jack stab vest he wore during his Glastonbury Festival headline performance in June.
The 16-track album, which arrives on the rapper’s own Merky Records outfit, will include three previously released tracks – Wiley Flow, Crown and Vossi Bop – as well as unreleased songs such as Super Heroes, Handsome and Rachael’s Little Brother.
Stormzy, from south London, has also collaborated with close friend Ed Sheeran and Nigerian singer Burna Boy on the track Own It.
Headie One, Yebba and Aitch are also among the stars who will appear on the record.
Stormzy, real name Michael Omari, topped the charts with his debut, 2017’s Gang Signs And Prayer.
It was the first album by a grime artist to reach number one.
In June this year he used his Friday night slot on Glastonbury Festival’s Pyramid Stage to highlight the experience of young black people in the UK.