#include "board.h"
#include "const.h"
#include "empty.h"
#include "eval.h"
#include "hash.h"
#include "move.h"
#include "util.h"
#include <stdio.h>
Go to the source code of this file.
Classes | |
| struct | Selectivity |
| struct | Bound |
| struct | Result |
| struct | Level |
| struct | Search |
Typedefs | |
| typedef struct Selectivity | Selectivity |
| typedef struct Bound | Bound |
| typedef struct Result | Result |
| typedef struct Search | Search |
Functions | |
| void | search_global_init (void) |
| void | search_init (Search *) |
| Init the main search. | |
| void | search_free (Search *) |
| Free the search allocated ressource. | |
| void | search_cleanup (Search *) |
| Clean-up some search data. | |
| void | search_setup (Search *) |
| Set up various structure once the board has been set. | |
| void | search_clone (Search *, Search *) |
| Clone a search for parallel search. | |
| void | search_set_board (Search *, const Board *, const int) |
| Set the board to analyze. | |
| void | search_set_level (Search *, const int, const int) |
| Set the search level. | |
| void | search_set_ponder_level (Search *, const int, const int) |
| Set the search level while pondering. | |
| void | search_resize_hashtable (Search *) |
| void | search_set_game_time (Search *, const long long) |
| set time to search. | |
| void | search_set_move_time (Search *, const long long) |
| set time to search. | |
| void | search_time_init (Search *) |
| Initialize the alloted time. | |
| void | search_time_reset (Search *, const Board *) |
| Reset the alloted time. | |
| void | search_adjust_time (Search *, const bool) |
| Give more time. | |
| bool | search_continue (Search *) |
| Check if it can iterate more... | |
| void | search_check_timeout (Search *search) |
| Check if it can iterate more... | |
| void | search_set_task_number (Search *, const int) |
| Change the number of task. | |
| void | search_swap_parity (Search *, const int) |
| Change parity. | |
| void | search_get_movelist (const Search *, MoveList *) |
| Get a list of legal moves. | |
| void | search_update_endgame (Search *, const Move *) |
| Update the search state after a move. | |
| void | search_restore_endgame (Search *, const Move *) |
| Restore the search state as before a move. | |
| void | search_pass_endgame (Search *) |
| Update the search state after a passing move. | |
| void | search_update_midgame (Search *, const Move *) |
| Update the search state after a move. | |
| void | search_restore_midgame (Search *, const Move *) |
| Restore the search state as before a move. | |
| void | search_update_pass_midgame (Search *) |
| Update the search state after a passing move. | |
| void | search_restore_pass_midgame (Search *) |
| Update the search state after a passing move. | |
| long long | search_time (Search *) |
| Return the time spent by the search. | |
| unsigned long long | search_count_nodes (Search *) |
| Return the number of nodes searched. | |
| void | search_print_pv (Search *, const int, const char *, FILE *) |
| void | search_print (Search *, const int, const int, const char, FILE *) |
| int | get_pv_extension (const int, const int) |
| Compute the pv_extension. | |
| void | result_print (Result *, FILE *) |
| Print the current search result. | |
| bool | search_SC_PVS (Search *, volatile int *, volatile int *, int *) |
| Stability Cutoff (SC). | |
| bool | search_SC_NWS (Search *, const int, int *) |
| Stability Cutoff (TC). | |
| bool | search_TC_PVS (HashData *, const int, const int, volatile int *, volatile int *, int *) |
| Transposition Cutoff (TC). | |
| bool | search_TC_NWS (HashData *, const int, const int, const int, int *) |
| Transposition Cutoff (TC). | |
| bool | search_ETC_PVS (Search *, MoveList *, unsigned long long, const int, const int, volatile int *, volatile int *, int *) |
| bool | search_ETC_NWS (Search *, MoveList *, unsigned long long, const int, const int, const int, int *) |
| Enhanced Transposition Cutoff (ETC). | |
| NodeType | next_node_type (const NodeType parent, const bool first_move) |
| int | search_solve (const Search *) |
| Get the final score. | |
| int | search_solve_0 (const Search *) |
| Get the final score. | |
| int | board_score_1 (const Board *, const int, const int) |
| Get the final score. | |
| int | NWS_endgame (Search *, const int) |
| Evaluate an endgame position with a Null Window Search algorithm. | |
| int | search_eval_0 (Search *) |
| evaluate a midgame position with the evaluation function. | |
| int | search_eval_1 (Search *, const int, int) |
| Evaluate a position at depth 1. | |
| int | search_eval_2 (Search *, int, const int) |
| Evaluate a position at depth 2. | |
| int | NWS_midgame (Search *, const int, int, struct Node *) |
| Evaluate a midgame position with a Null Window Search algorithm. | |
| int | PVS_midgame (Search *, const int, const int, int, struct Node *) |
| Evaluate a position with a deep Principal Variation Search algorithm. | |
| int | NWS_shallow (Search *, const int, int, HashTable *) |
| Evaluate a midgame position with a Null Window Search algorithm. | |
| int | PVS_shallow (Search *, int, int, int) |
| Evaluate a midgame position with a Null Window Search algorithm. | |
| bool | is_pv_ok (Search *, int, int) |
| Check if PV is ok. | |
| void | record_best_move (Search *, const Board *, const Move *, const int, const int, const int) |
| Record best move. | |
| int | PVS_root (Search *, const int, const int, const int) |
| Principal Variation Search algorithm at the root of the tree. | |
| int | aspiration_search (Search *, int, int, const int, int) |
| Aspiration window. | |
| void | iterative_deepening (Search *, int, int) |
| Iterative deepening. | |
| void * | search_run (void *) |
| Search the bestmove of a given board. | |
| int | search_guess (Search *, const Board *) |
| Guess the bestmove of a given board. | |
| void | search_stop_all (Search *, const Stop) |
| Stop the search. | |
| void | search_set_state (Search *, const Stop) |
| Set the search running/waiting state. | |
| void | search_observer (Result *) |
| default observer. | |
| void | search_set_observer (Search *, void(*Observer)(Result *)) |
| set observer. | |
| void | search_share (const Search *, Search *) |
| Share search information. | |
| int | search_count_tasks (const Search *) |
| Count the number of tasks used in parallel search. | |
| bool | is_depth_solving (const int, const int) |
| Check if final score use pv_extension or is solved. | |
| int | solvable_depth (const long long, int) |
| Compute the deepest level that can be solved given a limited time... | |
| void | pv_debug (Search *, const Move *, FILE *) |
| Debug PV. | |
| int | search_get_pv_cost (Search *) |
| Compute a cost as a combination of node count, depth, etc. from hash_table. | |
| void | show_current_move (FILE *f, Search *, const Move *, const int, const int, const bool) |
| int | search_bound (const Search *, int) |
| bound root scores according to stable squares |
Variables | |
| struct Level | LEVEL [61][61] |
| const int | QUADRANT_ID [] |
| const Selectivity | selectivity_table [] |
| const int | NO_SELECTIVITY |
| const int | NWS_STABILITY_THRESHOLD [] |
| const int | PVS_STABILITY_THRESHOLD [] |
| const int | SQUARE_TYPE [] |
| typedef struct Selectivity Selectivity |
Selectivity probcut
| int aspiration_search | ( | Search * | search, |
| int | alpha, | ||
| int | beta, | ||
| const int | depth, | ||
| int | score | ||
| ) |
Aspiration window.
| search | Search. |
| alpha | Alpha bound. |
| beta | Beta bound. |
| depth | Depth. |
| score | Previous score. |
|
inline |
Get the final score.
Get the final score, when 1 empty squares remain. The following code has been adapted from Zebra by Gunnar Anderson.
| board | Board to evaluate. |
| beta | Beta bound. |
| x | Last empty square to play. |
| int get_pv_extension | ( | const int | depth, |
| const int | n_empties | ||
| ) |
Compute the pv_extension.
| depth | Depth. |
| n_empties | Game stage (number of empty squares). |
| bool is_depth_solving | ( | const int | depth, |
| const int | n_empties | ||
| ) |
Check if final score use pv_extension or is solved.
| depth | search depth. |
| n_empties | position depth. |
| bool is_pv_ok | ( | Search * | search, |
| int | bestmove, | ||
| int | search_depth | ||
| ) |
Check if PV is ok.
| search | Search. |
| bestmove | Best move. |
| search_depth | Depth. |
| void iterative_deepening | ( | Search * | search, |
| int | alpha, | ||
| int | beta | ||
| ) |
| int NWS_endgame | ( | Search * | search, |
| const int | alpha | ||
| ) |
Evaluate an endgame position with a Null Window Search algorithm.
This function is used when there are still many empty squares on the board. Move ordering, hash table cutoff, enhanced transposition cutoff, etc. are used in order to diminish the size of the tree to analyse, but at the expense of a slower speed.
| search | Search. |
| alpha | Alpha bound. |
Evaluate a midgame position with a Null Window Search algorithm.
This function is used when there are still many empty squares on the board. Move ordering, hash table cutoff, enhanced transposition cutoff, etc. are used in order to diminish the size of the tree to analyse, but at the expense of a slower speed.
| search | Search. |
| alpha | Alpha bound. |
| depth | Depth. |
| parent | Parent node. |
Evaluate a midgame position with a Null Window Search algorithm.
This function is used when there are still many empty squares on the board. Move ordering, hash table cutoff, enhanced transposition cutoff, etc. are used in order to diminish the size of the tree to analyse, but at the expense of a slower speed.
| search | search. |
| alpha | lower bound. |
| depth | Search remaining depth. |
| hash_table | Hash Table to use. |
Debug PV.
| search | Search. |
| bestmove | Best move. |
| f | Output stream. |
Evaluate a position with a deep Principal Variation Search algorithm.
This function is used when there are still many empty squares on the board. Move ordering, hash table cutoff, enhanced transposition cutoff, etc. are used in order to diminish the size of the tree to analyse, but at the expense of a slower speed.
| search | Search. |
| alpha | Lower bound. |
| beta | Upper bound. |
| depth | Depth. |
| parent | Parent node. |
| int PVS_root | ( | Search * | search, |
| const int | alpha, | ||
| const int | beta, | ||
| const int | depth | ||
| ) |
Principal Variation Search algorithm at the root of the tree.
this function solves the position provided within the limits set by the alpha and beta bounds. The movelist parameter is updated so that the bestmove is the first of the list when the search ended.
| search | Search. |
| alpha | Alpha bound. |
| beta | Beta bound. |
| depth | Remaining depth. |
| int PVS_shallow | ( | Search * | search, |
| int | alpha, | ||
| int | beta, | ||
| int | depth | ||
| ) |
Evaluate a midgame position with a Null Window Search algorithm.
This function is used when there are still many empty squares on the board. Move ordering, hash table cutoff, enhanced transposition cutoff, etc. are used in order to diminish the size of the tree to analyse, but at the expense of a slower speed.
| void result_print | ( | Result * | result, |
| FILE * | f | ||
| ) |
Print the current search result.
| result | Last search result. |
| f | output stream. |
| void search_adjust_time | ( | Search * | search, |
| const bool | once | ||
| ) |
Give more time.
| search | Search. |
| once | A flag to prevent further time extension. |
| int search_bound | ( | const Search * | search, |
| int | score | ||
| ) |
bound root scores according to stable squares
| search | Position to search. |
| score | score to bound. |
| void search_check_timeout | ( | Search * | search | ) |
Check if it can iterate more...
| search | Search. |
| void search_cleanup | ( | Search * | search | ) |
Clean-up some search data.
| search | search. |
Clone a search for parallel search.
| search | search. |
| master | search to be cloned. |
| unsigned long long search_count_nodes | ( | Search * | search | ) |
| int search_count_tasks | ( | const Search * | search | ) |
Count the number of tasks used in parallel search.
| search | Search. |
| bool search_ETC_NWS | ( | Search * | search, |
| MoveList * | movelist, | ||
| unsigned long long | hash_code, | ||
| const int | depth, | ||
| const int | selectivity, | ||
| const int | alpha, | ||
| int * | score | ||
| ) |
Enhanced Transposition Cutoff (ETC).
Before looping over each moves to search at next ply, ETC looks if a cutoff is available from the hashtable. This version also looks for a cutoff based on stability.
| search | Current position. |
| movelist | List of moves for the current position. |
| hash_code | Hashing code. |
| depth | Search depth. |
| selectivity | Search selectivity. |
| alpha | Alpha bound. |
| score | Score to return in case a cutoff is found. |
| bool search_ETC_PVS | ( | Search * | , |
| MoveList * | , | ||
| unsigned long | long, | ||
| const int | , | ||
| const int | , | ||
| volatile int * | , | ||
| volatile int * | , | ||
| int * | |||
| ) |
| int search_eval_0 | ( | Search * | search | ) |
evaluate a midgame position with the evaluation function.
| search | Position to evaluate. |
| int search_eval_1 | ( | Search * | search, |
| const int | alpha, | ||
| int | beta | ||
| ) |
Evaluate a position at depth 1.
As an optimization, the last move is used to only updates the evaluation features.
| search | Position to evaluate. |
| alpha | Alpha bound. |
| beta | Beta bound. |
| int search_eval_2 | ( | Search * | search, |
| int | alpha, | ||
| const int | beta | ||
| ) |
Evaluate a position at depth 2.
Simple alpha-beta with no move sorting.
| search | Position to evaluate. |
| alpha | Lower bound |
| beta | Upper bound |
| void search_free | ( | Search * | search | ) |
Free the search allocated ressource.
Free a previously initialized search structure.
| search | search. |
Get a list of legal moves.
Compute the complete list of legal moves and store it into a simple linked list, to fasten ulterior move sorting. Note: at this point the list is sorted from A1 to H8 (i.e. unsorted).
| search | Search. |
| movelist | List of moves. |
| int search_get_pv_cost | ( | Search * | search | ) |
Compute a cost as a combination of node count, depth, etc. from hash_table.
The board is supposed to be updated by a move after the root position.
| search | Search. |
| void search_global_init | ( | void | ) |
Global initialisations.
| void search_init | ( | Search * | search | ) |
Init the main search.
Initialize a new search structure.
| search | search. |
| void search_observer | ( | Result * | result | ) |
default observer.
| result | search results to print. |
| void search_pass_endgame | ( | Search * | search | ) |
Update the search state after a passing move.
| search | search. |
| void search_print | ( | Search * | , |
| const int | , | ||
| const int | , | ||
| const char | , | ||
| FILE * | |||
| ) |
| void search_print_pv | ( | Search * | , |
| const int | , | ||
| const char * | , | ||
| FILE * | |||
| ) |
| void search_resize_hashtable | ( | Search * | ) |
Restore the search state as before a move.
| search | search. |
| move | played move. |
Restore the search state as before a move.
| search | search. |
| move | played move. |
| void search_restore_pass_midgame | ( | Search * | search | ) |
Update the search state after a passing move.
| search | search. |
| void* search_run | ( | void * | v | ) |
Search the bestmove of a given board.
this is a function runable within its own thread. The board is supposed to have been set (by search_set_board()), and all search options (level, time, etc.) too. this function proceeds to some internal initialisations and then call the iterative deepening function, from where the search is actually done. After the search ends, some finalizations are done before the function returns.
| v | Search cast as void. |
| bool search_SC_NWS | ( | Search * | search, |
| const int | alpha, | ||
| int * | score | ||
| ) |
Stability Cutoff (TC).
| search | Current position. |
| alpha | Alpha bound. |
| score | Score to return in case of a cutoff is found. |
| bool search_SC_PVS | ( | Search * | search, |
| volatile int * | alpha, | ||
| volatile int * | beta, | ||
| int * | score | ||
| ) |
Stability Cutoff (SC).
| search | Current position. |
| alpha | Alpha bound. |
| beta | Beta bound, to adjust if necessary. |
| score | Score to return in case of a cutoff is found. |
Set the board to analyze.
| search | search. |
| board | board. |
| player | player's turn. |
| void search_set_game_time | ( | Search * | search, |
| const long long | t | ||
| ) |
set time to search.
This function should be called before each new search, with the accurate remaining time to do the whole search for the game.
| search | Search. |
| t | time in ms. |
| void search_set_level | ( | Search * | search, |
| const int | level, | ||
| const int | n_empties | ||
| ) |
Set the search level.
Compute the couple (depth, selectivity) as a function of (level, n_empties)
| search | search. |
| level | search level. |
| n_empties | Search stage. |
| void search_set_move_time | ( | Search * | search, |
| const long long | t | ||
| ) |
set time to search.
This function should be called before each new search, with the accurate remaining time to do the whole search for this move.
| search | Search. |
| t | time in ms. |
set observer.
| search | Searched position. |
| observer | call back function to print the current search. |
| void search_set_ponder_level | ( | Search * | search, |
| const int | level, | ||
| const int | n_empties | ||
| ) |
Set the search running/waiting state.
| search | Search. |
| stop | State. |
| void search_set_task_number | ( | Search * | search, |
| const int | n | ||
| ) |
Change the number of task.
| search | Search. |
| n | New task number. |
| void search_setup | ( | Search * | search | ) |
Set up various structure once the board has been set.
Initialize the list of empty squares, the parity and the evaluation function.
| search | search. |
Share search information.
| src | source search. |
| dest | destination search. |
| int search_solve | ( | const Search * | search | ) |
Get the final score.
Get the final score, when no move can be made.
| search | Search. |
| int search_solve_0 | ( | const Search * | search | ) |
Get the final score.
Get the final score, when the board is full.
| search | Search. |
Stop the search.
| search | Search. |
| stop | Source of stopping. |
| void search_swap_parity | ( | Search * | search, |
| const int | x | ||
| ) |
Change parity.
| search | Search. |
| x | Played square. |
| bool search_TC_NWS | ( | HashData * | data, |
| const int | depth, | ||
| const int | selectivity, | ||
| const int | alpha, | ||
| int * | score | ||
| ) |
| bool search_TC_PVS | ( | HashData * | data, |
| const int | depth, | ||
| const int | selectivity, | ||
| volatile int * | alpha, | ||
| volatile int * | beta, | ||
| int * | score | ||
| ) |
Transposition Cutoff (TC).
| data | Transposition data. |
| depth | Search depth. |
| selectivity | Search selecticity level. |
| alpha | Alpha bound, to adjust of necessary. |
| beta | Beta bound, to adjust of necessary. |
| score | Score to return in case of a cutoff is found. |
| long long search_time | ( | Search * | search | ) |
Reset the alloted time.
Adjust the time when continuing the search from pondering.
| search | Search. |
| initial_board | Initial board. |
Update the search state after a move.
| search | search. |
| move | played move. |
Update the search state after a move.
| search | search. |
| move | played move. |
| void search_update_pass_midgame | ( | Search * | search | ) |
Update the search state after a passing move.
| search | search. |
| int solvable_depth | ( | const long long | limit, |
| int | n_tasks | ||
| ) |
Compute the deepest level that can be solved given a limited time...
This is a very approximate computation... SMP_W & SMP_C depends on the depth and the position. The branching factor depends also of the position.
| limit | Time limit in ms. |
| n_tasks | Number of parallel tasks. |
| struct Level LEVEL[61][61] |
| const int NO_SELECTIVITY |
level with no selectivity
| const int NWS_STABILITY_THRESHOLD[] |
threshold values to try stability cutoff during NWS search
| const int PVS_STABILITY_THRESHOLD[] |
threshold values to try stability cutoff during PVS search
| const int QUADRANT_ID[] |
a quadrant id for each square
| const Selectivity selectivity_table[] |
predefined selectivity
| const int SQUARE_TYPE[] |
square type


Zimbabwe Presidential Guard Commander suspended over shooting at State House
by Staff ReporterThe Commander of One Presidential Guard Samson Murombo has been suspended over a shooting that happened in State house on Wednesday Professor Jonathan Moyo has said.
Moyo who broke the story of the shooting revealed that, “The Commander of One Presidential Guard Infantry Battalion at State House, Lt Col Samson Murombo, has been suspended from duty over the State House shooting incident, for which he’s being blamed. He’s been replaced by Col Chicha. Murombo is of the Auxillia audio fame!”
On Wednesday Moyo said the soldier Private Mangadu was arrested when he emptied his magazine firing in the air at State House.
He was arrested as he was reloading. He complained of hardships and saying he can’t survive in dead economy.
Moyo further revealed Magandu was,” interviewed by Lt Col Murombo, detained at KGVI; tortured and deprived of sleep for alleged links with opposition and foreigners; ranted that “men in suits get all the money but real army gets nothing”. He was sent for psychiatric evaluation this morning!”
The government has not spoken out regarding the matter.
Source – Byo24


Partial Date Input
Model: {{ model }}
Short date: {{ model | incompleteDate:'shortDate' }}
Medium date: {{ model | incompleteDate:'mediumDate' }}
Long date: {{ model | incompleteDate:'longDate' }}
Full date: {{ model | incompleteDate:'fullDate' }}


--- layout: page title: About header-img: "img/about-bg.png" ---
I graduated from Ole Miss in 2016 with a bachelor's degree in chemical engineering. Upon graduation, I accepted a position at Curtsy as the Lead Marketer. Living in Silicon Valley, I quickly learned I wanted to understand computers... so there you have it, I'm well on my way to becoming a Full Stack Web Developer.


| Home | Trees | Indices | Help |
|
|---|
|
|
object --+ | OAuthHandler.OAuthHandler --+ | PythonOAuth2OAuthHandler
An OAuth handler that uses python-oauth2.
Library included from: https://github.com/simplegeo/python-oauth2.
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
Inherited from Inherited from |
|
|||
|
Inherited from |
|
|||
|
Inherited from |
|
Gets a request token. Args: credentials: dict The credentials, including the consumer key and consumer secret. scope: str The scope of the application to authorize. server: str Optional OAuth server to make the request against. callbackurl: str Optional callback url. applicationname: str Optional name of the application to display on the authorization redirect page. Returns: dict The credentials, including the consumer key, consumer secret, token and token secret.
|
Gets the access token for an authorized request token. Args: credentials: dict The credentials, including the consumer key, consumer secret, token, and token secret. verifier: str The OAuth verifier code returned with the callback. server: str Optional OAuth server to make the request against. Returns: str The credentials, including the consumer key, consumer secret, token, and token secret.
|
Gets the signed OAuth parameters required to make a request for the URL. Args: credentials: dict The credentials, including the consumer key, consumer secret, token, and token secret. url: str The URL the request will be made against. Returns: dict An array of OAuth parameter names to values. |
Makes and HTTP request to the given URL and extracts the OAuth token. Args: url: str The URL to make the request to. Returns: Token The returned token. |
Parses a query string and extracts the OAuth token. Args: querystring: str The query string. Returns: Token The returned token. |
| Home | Trees | Indices | Help |
|
|---|
| Generated by Epydoc 3.0.1 | http://epydoc.sourceforge.net |


Notebooks
Story: ||hara and Tto
||hara and Tto
Title
||hara and Tto
Collection
Summary
The Bushmen anoint their heads with //hára (which is black and sparkling), mixed with fat, and rub their bodies with ttò. (L VIII.-14. 7272 rev.,-7276 rev., note). Ttò or 'Roode Klip' is dug out from the mountain side. Precautions to be taken against sorcerers upon these occasions. (L VIII.-14. 7275 and 7276, 7279 and 7380). A description of stones called ||hara and tto. ||hara is black and the people pound it together with fat and anoint their heads with it. Tto is red and is pounded and rubbed onto their flesh.
Comments
1) This story is found in Book VIII-14
Contributors
|han≠kass'o (Klein Jantje) (VIII)
Date
August 1878
Categories
Keywords
stone (called tto, or rooi klip) , stone (called ||hara) , stone (used for 'anointing' or painting the body) , painting (the head with ||hara) , painting (with tto) , painting (`) , painting (anointing) , painting (of the body) , painting (preparation of substances used for) , painting (the stones used for) , ||hara (and tto) , ||hara (mixed with fat) , ||hara (makes the head resemble the !khi tree) , ||hara (the bag used for) , ||hara (the preparation and mixing of) , ||hara (stone) , ||hara (its colour) , ||hara (makes people 'handsome' or 'beautiful') , ||hara (painting the head with) , ||hara (a description of) , tto (the bag used for) , tto (a description of) , tto (rooi klip) , tto (painting with) , tto (is rubbed into the body) , tto (the preparation of) , adornment (with ||hara and tto) , bag (used for ||hara and tto) , tree (!khi) , tree (||hara makes the head resemble) , names (of stones used for anointing the body) , names (tto, or rooi klip) , names (||hara) , body (anointing or painting with ||hara and tto)
Story Pages
7272v-7276v


Michael (1996) John Travolta, Andie Mac Dowell, William Hurt, Robert Pastorelli, Bob Hoskins, Jean Stapleton, Teri Garr, Wally Ward, Joey Lauren Adams, Carla Gugino, Tom Hodges, Wallace Langham. Directed by Nora Ephron. Rated PG, *** stars (out of ***** stars)
Review by Ed Johnson-Ott www.nuvo-online.com/film/
John Travolta makes his first appearance as the archangel Michael wearing nothing but boxer shorts. The eyes focus on his large belly as he tromps to the kitchen, cigarette in hand, in search of a beer. Asked how he went about gaining weight for the role, Travolta explained that he didn't. He's willing to try and lose weight for a movie, but never gain it. He just happened to be fat when it came time to make this film. That simple honesty is part of John Travolta's charm, and part of the charm of "Michael," Nora Ephron's sweet romantic comedy.
In "Michael", Chicago-based tabloid reporters William Hurt, Robert Pastorelli, and Andie MacDowell travel to Iowa to get the story on an alleged angel. There they meet Jean Stapleton, the crusty owner of a run- down motel, and her only tenant, a self-indulgent slob with very real wings. The stunned trio cut a deal with Michael - - he'll go with them and allow himself to be photographed once they arrive, but only if they make the trip to Chicago by car (he's anxious to see the world's largest ball of twine and other tourist attractions). And so the road trip begins.
The structure and details of "Michael" seem terminally cute on paper. Hurt is a world weary cynic, MacDowell is deadly earnest, Pastorelli is funny and a bit slow. Care to guess which characters will fall in love? The reporters are suspicious of their self-indulgent homily-spouting charge. Will they come to believe that Michael is really an angel and not just a genetic freak? Will they come to believe in his message of wonder? Don't think to hard on these questions.
The charm in "Michael" lies not in the cliched story, but in the performances of the powerhouse cast. William Hurt is a phenomenal actor whose ability to convey intelligence, directness and dry, acerbic line readings is unmatched. What other actor could deliver a stilted line like "Don't say this was a mistake, I couldn't bear it" and make it sound real? Andie MacDowell has made a career of being a walking contradiction. She is an achingly beautiful woman who manages to somehow also look like "just plain folks." She appears bright and naive at the same time. MacDowell uses her skills to great effect as a reporter who is also an aspiring country songwriter, enduring much teasing from Hurt over her homespun lyrics. In one magical scene, she sings her "work in progress" at a honky-tonk bar. Her voice and facial expressions as she delivers the song's clunky, but true, lyrics provide one of the most graceful and elegant moments in the movie. And Pastorelli, "Eldon" from "Murphy Brown, " does a fine job as a crusty innocent, although his character is tragically underused.
And then there's John Travolta, an amazing actor. Since his comeback in "Pulp Fiction," Travolta has selected his roles in an astute and audacious fashion. In "Michael," he gives one of his most winsome performances yet. After casting Lucifer out of Heaven, Michael has came to Earth many times. This is his last visit ("they only let you come down so many times") and he intends to wring every drop of hedonistic pleasure from it. In addition to his passion for food, drink and cigarettes, Michael loves women. His touch is magical, and his scent acts as an aphrodisiac (MacDowell explains, "He smells like cookies. It gets stronger when he's in heat".) Whether delivering greeting card wisdom or engaging in battle, Travolta makes the character work by conveying a great sense of self-comfort. Totally at peace with himself, he holds court effortlessly and effectively. When he urges the others to "listen to the Earth," his inflection makes the great truth behind the statement quite clear. Travolta's keen sense of wonder is contagious. Despite the cheesy plot and dialogue that ranges from inspired to insipid, the extraordinary performances by Travolta and company leave the audience feeling happy and very much alive.
Copyright 1997, Ed Johnson-Ott
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


This is my special recipe which goes great with white rice and potato fry. Very simple recipe which tastes good
with roti, idly, dosa
and rice.
Let’s check out the recipe. :)
Ingredients
Tomatoes – 4 medium size
Garlic – handful (15 to 20 cloves)
Green chilly – 10 to 12
Oil – 2 tbsp
Cumin seeds – 1 tsp
Mustard seeds – 1 tsp
Turmeric – 1 tsp
Coriander leaves
Salt to taste
Instructions
Chop green chillies, garlic and tomatoes.(Doesn’t need to be small as we will grind it later)
Add oil in pan and heat it.
Add mustard and cumin seeds.
Add chopped green chili and garlic.
keep the flame to medium low and fry them till the color about to change to brown.
Add some coriander leaves and fry for a 30 sec.
Shift this to a mixer jar.
Add tomatoes and turmeric to the same pan and let them cook with lid closed, till they become soft and
meshi.
let the tomatoes cool down and then add them to the same mixer jar, add salt and grind them and then sift
it to a bowl
Now take pan add a tsp of oil, add cumin seeds, mustard seeds, curry leaves, dried red chili, 2 to 3
garlic cloves fry them and add it to our chutney.(if you don’t have some of these still our chutney taste
great, not to worry)
Tips
Make sure you take equal amount of green chili and garlic; this makes the recipe tasty.


{{ $style := resources.Get "css/main.scss" | resources.ToCSS | }}
Style Guide - Hearts and Homes for Refugees


|
|||||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |
See:
Description
| Interface Summary | |
| EventHandler | Provides a callback interface for playing blackjack. |
| Move | Represents a player's move, such as hitting or standing. |
| Result | Represents the result of one hand that is complete. |
| Class Summary | |
| Blackjack | Provides for playing a game of blackjack. |
| Hand | Represents a player's hand of cards. |
| Rules | Represents the rules that dictate how the game is played. |
| Exception Summary | |
| NotAllowedException | Thrown when a move is chosen that is now allowed. |
Provides classes for playing a game of blackjack.
Implement EventHandler
to respond to events that a fired by
Blackjack
. Then, pass in an instance of that handler to
Blackjack.playGame(garrettsmith.blackjack.EventHandler, double)
.
For example:
double wager = 2.0; Blackjack blackjack = new Blackjack(); EventHandler handler = new MyEventHandler(); blackjack.playGame( handler, wager );
See TextPlayer
for an example implementation.
|
|||||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |


The Climber In Motion
Climb
About
© 2020 Riley Hoonan
The Climber in Motion is an experiment in video data and web technology. It is a data-maximalist view of a climb, inspired by Eadweard Muybridge’s famous photo series studying locomotion in horses and humans.
Data for this project was extracted from a video, shot on a hand-held mobile device. The background image and stills are a composite of 120 frames selected from the set of roughly 16 thousand stills making up the video. Each frame can be seen in the final piece; frames are selected based on the climber’s completion of a single movement; eg. one of the climber’s limbs has moved from point A to point B. In a few cases, movements were obscured or difficult to parse; you can see these instances when multiple limbs move between images.
To estimate the distances between each movement, I used known heights (the height of the climber and the total height climbed) to build an exponential regression that estimated the real distance (in feet) per pixel, accounting for distortion caused by perspective. This estimation could be improved with a fixed camera perspective, more detailed topology and/or a myriad of other adjustments, but for now is meant as a proof of concept.
Stylistic choices were made for the sake of scope and simplicity – black and white imagery is easier to manage for composites; reducing the color gamut means distracting details like the change in lighting quality are mitigated; monospace fonts keep numbers easy to compare.
Tech:
Composite images were built in Photoshop
Pixel-to-foot estimates were built with Node using D3-Regression
Visualizations were built with HTML, CSS, and D3
Thank You:
Logan Cerelli-Lough, the climber in question, for his collaboration and patience
Tomas DeCarcer, Nathan Singhapok & Eric Petersen for their guidance and feedback
Questions, comments or feedback? Please do reach out.


This snippet lets you toggle the wcmmode
parameter on Adobe AEM applications. If the parameter is present, it will be removed completely. If it is not present, it will be added with the value disabled
.
You can use it as a bookmarklet by dragging the link below to your bookmarks bar:
drag merequire(["http://cdn.rawgit.com/ryanburnette/Qurl/master/qurl.js"], function() { var url = Qurl.create(); if ("wcmmode" in url.query()) { // wcmmode exists, remove it url.query("wcmmode", false); } else { // default new wcmmode is disabled url.query("wcmmode", "disabled"); } // apply change location.reload(); });


- setAngularRateZ(self, rate)
- Sets the angular rate along Z-axis in radians per second.
The arguments are:
- rate The rate as a float in radians per second.
Data and other attributes defined here:
- THIS_OBJECT_ID = 32
Methods inherited from EngineOutputBase:
- eyeIdName(eye_id)
- Returns a string containing the name of the eye referred to by eye_id.
- setSerialableSubObjectsEnabled(self, valid_objects_ids, recursive=False)
- Set sub-object serialization enabled by object ID.
By default, sub-objects are serializeEnabled() and will be serialized.
Any attached sub-object with an id not in this vector will be
setSerializeEnabled(false) preventing it from being serialized.
The arguments are:
- valid_object_ids The list of object-ids to enable serialization for.
- recursive Whether to recurse into sub-object tree.
Note that only valid objects are recursed into. If
recursive is true then the only sub objects that will
be serialized will be the objects that can be traversed
with all object ids in valid_object_ids.
For example, given the following object graph.
1
|-2
| `4
`-3
|-5
`-6
If this method is called on object marked as 1 and the vector of
objects ids is [3, 4] and recursive is true. Then objects 2 will
be set false, object 4 will be untouched, object 3 will be set true
and obects 5 and 6 will be set false.
The only sub object serialized would be object 3.
- setSerializeEnabled(self, enabled)
- Sets the flag indicating that the object and its children should not be serialized.
Data and other attributes inherited from EngineOutputBase:
- ARRAY_SIZE_2D_DATA = 2
- ARRAY_SIZE_3D_DATA = 3
- ARRAY_SIZE_4D_DATA = 4
- ARRAY_SIZE_PAIR_DATA = 2
Methods inherited from SerializableComposite:
- addSubObject(self, sub_object)
- Adds a child object to this object.
The arguments are:
- sub_object Object to add or None.
This method may raise the following exceptions:
- SerializableError The object id already exists or the
object id is not valid for this object.
- hasSubObjectID(self, object_id)
- Returns true if a child object of that id has been added.
- numOwnDataBytes(self)
- Returns the number of bytes owned by this object excluding any child objects.
- numSubObjects(self)
- Returns the number of child objects added.
- numValidSubObjects(self)
- Returns the number of child objects that serializeEnabled() returns True.
- removeSubObject(self, object_id, index=None)
- Removes a child object if it exists.
Returns a reference to the object if it exists, otherwise,
it returns None.
- subObject(self, object_id)
- Returns the child object for that ID or None
- subObjectAtIndex(self, object_id, index=0)
- Returns the child object for that ID or None
- subObjects(self, object_id=None)
- Returns a VectorSerializable containg the subobjects
Methods inherited from Serializable:
- clone(self)
- Returns a new copy of the object
- extendedHeaderSize(data_size)
- Returns true if an extended header is required for data_size.
- extendedHeaderSizeMagicCookie()
- Returns the 'magic' size value used to indicate that the object's size is held in a uint32.
The old header consisted of:
objectid - uint8
object size - uint16
When the object's size matches the return value from this method then
the header consists of:
objectid - uint8
magic cookie - uint16
object size - uint32
- headerText(self)
- Returns a string containing the column headings for lineText() of the object in a fixed width format.
- lineText(self)
- Returns a string containing the data of the object in a fixed width format.
- minHeaderBytes()
- Returns the minimum number of header bytes that need to be read
to be able to determine if the header is an extended header or not.
This is the number of bytes for the object_id and 16 bit data size.
An extended header the data size field equal to the value returned
from extendedHeaderSizeMagicCookie().
- numDataBytes(self)
- Returns the number of bytes of data required to serialize class.
- numHeaderBytes(data_size)
- Returns the number of header bytes that are written to the buffer by the serialize function before the actual data is appended.
- numTotalBytes(self)
- Returns the total number of bytes required tp serialize the object,
This includes the header and the data bytes.
- objectID(self)
- Identifier for type of object
- readDataSizeHeader(buffer, read_pos_inout)
- Reads the size of the object header from the buffer.
The arguments are:
- buffer The buffer of data.
- read_pos_inout The position within the buffer to read from.
This method returns a tuple consisting of a boolean success indicator and the
size of the header. The success indicator can be false if there is
insufficient data in the buffer.
- serialize(self, buffer)
- Appends to the buffer the object's data.
- serializeEnabled(self)
- Returns whether this object, and its descendents, are to be serialized.
- unSerialize(self, buffer, read_pos_inout)
- Attempts to build the object from the buffer.
The arguments are:
- buffer The buffer of data to use to reconstruct the object
with.
- read_pos_inout The offset into the buffer to start reading data from.
This value must be >= 0.
Returns a tuple consisting of:
- boolean success indicator. The success indicator can be false
if the buffer contained insufficent data in which case the object will be left unmodified.
Otherwise, it returns true when the object was successfully deserialized.
- next read position, only valid if the success indicator is True.
This method may raise the following exceptions:
SerializableError The objectid in buffer does not match this object, or
the data_size in header didn't match amount of data read, or
duplicate sub-object ids were found.
The object may have been partially updated.
- writeHeader(buffer, object_id, data_size)
- Writes a header to the buffer.
The arguments are:
- buffer The buffer of data to append the header to.
- object_id The ID of the object that understands the data.
- data_size The size of the data associated with the header.
|
class IntersectionOutputBase(EngineOutputBase) |
| |
Abstract base class which contains intersections with world model items. |
| |
- Method resolution order:
- IntersectionOutputBase
- EngineOutputBase
- SerializableComposite
- Serializable
Methods defined here:
- intersectionObjectIndex(self)
- Returns the index of the world-model object intersected by the direction vector.
The world model contains a number of indexed objects. The field
contains the index of the object that is intersected,
or -1 if no object is intersected or the tracking failed. The value
is only valid if >=1.
Note that this does not include the screen, which is a special
world model object.
- intersectionObjectName(self)
- Returns the name of the world-model object intersected by the direction vector.
The world model contains a number of indexed objects. The field
contains the name of the object that is intersected,
or "nothing" if no object is intersected or "notrack" if the
tracking failed.
Note: This name can be any length, but when this object is serialized,
the name will be truncated/padded to ensure it is exactly
MAX_OBJ_NAME_LENGTH characters.
- intersectsScreen(self)
- Returns a boolean indicating that the direction vector intersects with the screen.
The flag is true when the vector intersects the
special world object "screen". In this case, the intersection
coordinates presented in following data members are coordinates within
the region defined as the screen area.
- screenIntersectionPixelCoordinates(self)
- Returns the point as a 2-tuple of ints in pixel coordinates
where the vector intersects the screen plane.
The field contains the 2D point in pixels at which the
vector intersects the screen plane defined by the special
screen object in the world model. The values are valid even when the
vector does not intersect the screen. In this case the pixel coordinates
will be outside the region defined as the screen. If the head
tracking fails the values are 0.
- screenIntersectionScreenCoordinates(self)
- Returns the point as a 2-tuple of floats in screen coordinates
where the vector intersects the screen plane (in meters).
The field contains the 2D point in screen coordinates in meters at which the
vector intersects the screen plane defined by the special
screen object in the world model. The values are valid even when the
cyclops vector does not intersect the screen. In this case the 2D point will be
outside the region defined as the screen. If the head tracking
fails the values are 0.
- screenIntersectionWorldCoordinates(self)
- Returns the point as a 3-tuple of floats in world coordinates
where the vector intersects the screen plane (in meters).
The field contains the 3D point in world coordinates in meters at which the
vector intersects the screen plane defined by the special
screen object in the world model. The values are valid even when the
vector does not intersect the screen. In this case the 3D point will be
outside the region defined as the screen. If the head tracking
fails the values are 0.
- setIntersectionObjectIndex(self, index)
- Set the index of the currently intersected world-model object.
The arguments are:
- index The index.
- setIntersectionObjectName(self, name)
- Set the name of the currently intersected world-model object.
The arguments are:
- name The name of the world model object. This name can
be any length, but when this object is serialized,
the name will be truncated/padded to ensure it is
exactly MAX_OBJ_NAME_LENGTH
- setIntersectsScreen(self, intersects)
- Set the screen intersection flag
The arguments are:
- intersects True if the screen is intersected.
- setScreenIntersectionPixelCoordinates(self, screen_intersection)
- Set the the screen-intersection point in pixel co-ordinates.
The arguments are:
- screen_intersection A 2-tuple of ints in pixel co-ordinates.
- setScreenIntersectionScreenCoordinates(self, screen_intersection)
- Set the the screen-intersection point in screen co-ordinates.
The arguments are:
- screen_intersection A 2-tuple of floats in screen co-ordinates.
- setScreenIntersectionWorldCoordinates(self, screen_intersection)
- Set the the screen-intersection point in world co-ordinates.
The arguments are:
- screen_intersection A 3-tuple of floats in world co-ordinates.
Data and other attributes defined here:
- MAX_OBJ_NAME_LENGTH = 7
Methods inherited from EngineOutputBase:
- eyeIdName(eye_id)
- Returns a string containing the name of the eye referred to by eye_id.
- setSerialableSubObjectsEnabled(self, valid_objects_ids, recursive=False)
- Set sub-object serialization enabled by object ID.
By default, sub-objects are serializeEnabled() and will be serialized.
Any attached sub-object with an id not in this vector will be
setSerializeEnabled(false) preventing it from being serialized.
The arguments are:
- valid_object_ids The list of object-ids to enable serialization for.
- recursive Whether to recurse into sub-object tree.
Note that only valid objects are recursed into. If
recursive is true then the only sub objects that will
be serialized will be the objects that can be traversed
with all object ids in valid_object_ids.
For example, given the following object graph.
1
|-2
| `4
`-3
|-5
`-6
If this method is called on object marked as 1 and the vector of
objects ids is [3, 4] and recursive is true. Then objects 2 will
be set false, object 4 will be untouched, object 3 will be set true
and obects 5 and 6 will be set false.
The only sub object serialized would be object 3.
- setSerializeEnabled(self, enabled)
- Sets the flag indicating that the object and its children should not be serialized.
Data and other attributes inherited from EngineOutputBase:
- ARRAY_SIZE_2D_DATA = 2
- ARRAY_SIZE_3D_DATA = 3
- ARRAY_SIZE_4D_DATA = 4
- ARRAY_SIZE_PAIR_DATA = 2
Methods inherited from SerializableComposite:
- addSubObject(self, sub_object)
- Adds a child object to this object.
The arguments are:
- sub_object Object to add or None.
This method may raise the following exceptions:
- SerializableError The object id already exists or the
object id is not valid for this object.
- hasSubObjectID(self, object_id)
- Returns true if a child object of that id has been added.
- numOwnDataBytes(self)
- Returns the number of bytes owned by this object excluding any child objects.
- numSubObjects(self)
- Returns the number of child objects added.
- numValidSubObjects(self)
- Returns the number of child objects that serializeEnabled() returns True.
- removeSubObject(self, object_id, index=None)
- Removes a child object if it exists.
Returns a reference to the object if it exists, otherwise,
it returns None.
- subObject(self, object_id)
- Returns the child object for that ID or None
- subObjectAtIndex(self, object_id, index=0)
- Returns the child object for that ID or None
- subObjects(self, object_id=None)
- Returns a VectorSerializable containg the subobjects
Methods inherited from Serializable:
- clone(self)
- Returns a new copy of the object
- extendedHeaderSize(data_size)
- Returns true if an extended header is required for data_size.
- extendedHeaderSizeMagicCookie()
- Returns the 'magic' size value used to indicate that the object's size is held in a uint32.
The old header consisted of:
objectid - uint8
object size - uint16
When the object's size matches the return value from this method then
the header consists of:
objectid - uint8
magic cookie - uint16
object size - uint32
- headerText(self)
- Returns a string containing the column headings for lineText() of the object in a fixed width format.
- lineText(self)
- Returns a string containing the data of the object in a fixed width format.
- minHeaderBytes()
- Returns the minimum number of header bytes that need to be read
to be able to determine if the header is an extended header or not.
This is the number of bytes for the object_id and 16 bit data size.
An extended header the data size field equal to the value returned
from extendedHeaderSizeMagicCookie().
- numDataBytes(self)
- Returns the number of bytes of data required to serialize class.
- numHeaderBytes(data_size)
- Returns the number of header bytes that are written to the buffer by the serialize function before the actual data is appended.
- numTotalBytes(self)
- Returns the total number of bytes required tp serialize the object,
This includes the header and the data bytes.
- objectID(self)
- Identifier for type of object
- readDataSizeHeader(buffer, read_pos_inout)
- Reads the size of the object header from the buffer.
The arguments are:
- buffer The buffer of data.
- read_pos_inout The position within the buffer to read from.
This method returns a tuple consisting of a boolean success indicator and the
size of the header. The success indicator can be false if there is
insufficient data in the buffer.
- serialize(self, buffer)
- Appends to the buffer the object's data.
- serializeEnabled(self)
- Returns whether this object, and its descendents, are to be serialized.
- unSerialize(self, buffer, read_pos_inout)
- Attempts to build the object from the buffer.
The arguments are:
- buffer The buffer of data to use to reconstruct the object
with.
- read_pos_inout The offset into the buffer to start reading data from.
This value must be >= 0.
Returns a tuple consisting of:
- boolean success indicator. The success indicator can be false
if the buffer contained insufficent data in which case the object will be left unmodified.
Otherwise, it returns true when the object was successfully deserialized.
- next read position, only valid if the success indicator is True.
This method may raise the following exceptions:
SerializableError The objectid in buffer does not match this object, or
the data_size in header didn't match amount of data read, or
duplicate sub-object ids were found.
The object may have been partially updated.
- writeHeader(buffer, object_id, data_size)
- Writes a header to the buffer.
The arguments are:
- buffer The buffer of data to append the header to.
- object_id The ID of the object that understands the data.
- data_size The size of the data associated with the header.
|
class IntersectionOutputBaseV2(EngineOutputBase) |
| |
A data class which contains intersections with world model items. |
| |
- Method resolution order:
- IntersectionOutputBaseV2
- EngineOutputBase
- SerializableComposite
- Serializable
Methods defined here:
- addIntersection(self, label, world, plane=None, pixel=None)
- Add an intersection in world and plane coordinates.
The arguments are:
- label label of world item. Using an existing
label will replace the existing world intersection
and clear any pixel intersection.
- world 3D co-ordinates of the intersection in metres relative
to the world co-ordinate origin.
- plane 2D co-ordinates of the intersection measured in meters
relative to the centre of the plane.
- pixel 2D co-ordinates of the intersection measured in pixels
relative to the top left corner of the plane.
Any intersections not supplied will be cleared.
Example:
>>> s.addIntersection("mirror", (1, 2, 3))
Will clear any plane or pixel intersections that the mirror
world item had.
- clearAllData(self)
- Clear all intersection data.
- hasPixel(self, label)
- Returns true if there an intersection against the specified world model item in pixel co-ordinates.
The arguments are:
- label label of world item.
- hasPlane(self, label)
- Returns true if there an intersection against the specified world model item in plane co-ordinates.
The arguments are:
- label label of world item.
- hasWorld(self, label)
- Returns true if there an intersection against the specified world model item in world co-ordinates.
The arguments are:
- label label of world item.
- intersectedItems(self)
- Returns the list of labels for all world model items that have an intersection.
- pixel(self, label)
- Returns the 2D co-ordinates of the intersection point against the specified world model item in pixel co-ordinates.
The arguments are:
- label label of world item.
The co-ordinates are measured in pixels relative to the top left corner of the
plane, and will be (0,0) if the intersection doesn't exist.
- plane(self, label)
- Returns the 2D co-ordinates of the intersection point against the specified world model item in plane co-ordinates.
The arguments are:
- label label of world item.
The co-ordinates are measured in meters relative to the centre of the
plane, and will be (0,0) if the intersection doesn't exist.
- world(self, label)
- Returns the 3D co-ordinates of the intersection point against the specified world model item in world co-ordinates.
The arguments are:
- label label of world item.
The co-ordinates are measured in meters relative to the world co-ordinate
origin and will be zero if the intersection doesn't exist.
Methods inherited from EngineOutputBase:
- eyeIdName(eye_id)
- Returns a string containing the name of the eye referred to by eye_id.
- setSerialableSubObjectsEnabled(self, valid_objects_ids, recursive=False)
- Set sub-object serialization enabled by object ID.
By default, sub-objects are serializeEnabled() and will be serialized.
Any attached sub-object with an id not in this vector will be
setSerializeEnabled(false) preventing it from being serialized.
The arguments are:
- valid_object_ids The list of object-ids to enable serialization for.
- recursive Whether to recurse into sub-object tree.
Note that only valid objects are recursed into. If
recursive is true then the only sub objects that will
be serialized will be the objects that can be traversed
with all object ids in valid_object_ids.
For example, given the following object graph.
1
|-2
| `4
`-3
|-5
`-6
If this method is called on object marked as 1 and the vector of
objects ids is [3, 4] and recursive is true. Then objects 2 will
be set false, object 4 will be untouched, object 3 will be set true
and obects 5 and 6 will be set false.
The only sub object serialized would be object 3.
- setSerializeEnabled(self, enabled)
- Sets the flag indicating that the object and its children should not be serialized.
Data and other attributes inherited from EngineOutputBase:
- ARRAY_SIZE_2D_DATA = 2
- ARRAY_SIZE_3D_DATA = 3
- ARRAY_SIZE_4D_DATA = 4
- ARRAY_SIZE_PAIR_DATA = 2
Methods inherited from SerializableComposite:
- addSubObject(self, sub_object)
- Adds a child object to this object.
The arguments are:
- sub_object Object to add or None.
This method may raise the following exceptions:
- SerializableError The object id already exists or the
object id is not valid for this object.
- hasSubObjectID(self, object_id)
- Returns true if a child object of that id has been added.
- numOwnDataBytes(self)
- Returns the number of bytes owned by this object excluding any child objects.
- numSubObjects(self)
- Returns the number of child objects added.
- numValidSubObjects(self)
- Returns the number of child objects that serializeEnabled() returns True.
- removeSubObject(self, object_id, index=None)
- Removes a child object if it exists.
Returns a reference to the object if it exists, otherwise,
it returns None.
- subObject(self, object_id)
- Returns the child object for that ID or None
- subObjectAtIndex(self, object_id, index=0)
- Returns the child object for that ID or None
- subObjects(self, object_id=None)
- Returns a VectorSerializable containg the subobjects
Methods inherited from Serializable:
- clone(self)
- Returns a new copy of the object
- extendedHeaderSize(data_size)
- Returns true if an extended header is required for data_size.
- extendedHeaderSizeMagicCookie()
- Returns the 'magic' size value used to indicate that the object's size is held in a uint32.
The old header consisted of:
objectid - uint8
object size - uint16
When the object's size matches the return value from this method then
the header consists of:
objectid - uint8
magic cookie - uint16
object size - uint32
- headerText(self)
- Returns a string containing the column headings for lineText() of the object in a fixed width format.
- lineText(self)
- Returns a string containing the data of the object in a fixed width format.
- minHeaderBytes()
- Returns the minimum number of header bytes that need to be read
to be able to determine if the header is an extended header or not.
This is the number of bytes for the object_id and 16 bit data size.
An extended header the data size field equal to the value returned
from extendedHeaderSizeMagicCookie().
- numDataBytes(self)
- Returns the number of bytes of data required to serialize class.
- numHeaderBytes(data_size)
- Returns the number of header bytes that are written to the buffer by the serialize function before the actual data is appended.
- numTotalBytes(self)
- Returns the total number of bytes required tp serialize the object,
This includes the header and the data bytes.
- objectID(self)
- Identifier for type of object
- readDataSizeHeader(buffer, read_pos_inout)
- Reads the size of the object header from the buffer.
The arguments are:
- buffer The buffer of data.
- read_pos_inout The position within the buffer to read from.
This method returns a tuple consisting of a boolean success indicator and the
size of the header. The success indicator can be false if there is
insufficient data in the buffer.
- serialize(self, buffer)
- Appends to the buffer the object's data.
- serializeEnabled(self)
- Returns whether this object, and its descendents, are to be serialized.
- unSerialize(self, buffer, read_pos_inout)
- Attempts to build the object from the buffer.
The arguments are:
- buffer The buffer of data to use to reconstruct the object
with.
- read_pos_inout The offset into the buffer to start reading data from.
This value must be >= 0.
Returns a tuple consisting of:
- boolean success indicator. The success indicator can be false
if the buffer contained insufficent data in which case the object will be left unmodified.
Otherwise, it returns true when the object was successfully deserialized.
- next read position, only valid if the success indicator is True.
This method may raise the following exceptions:
SerializableError The objectid in buffer does not match this object, or
the data_size in header didn't match amount of data read, or
duplicate sub-object ids were found.
The object may have been partially updated.
- writeHeader(buffer, object_id, data_size)
- Writes a header to the buffer.
The arguments are:
- buffer The buffer of data to append the header to.
- object_id The ID of the object that understands the data.
- data_size The size of the data associated with the header.
|
class PupilOutputData(EngineOutputBase) |
| |
A data class that represents pupil related data output by the Tracking Engine. |
| |
- Method resolution order:
- PupilOutputData
- EngineOutputBase
- SerializableComposite
- Serializable
Methods defined here:
- __init__(self)
- All members zeroed.
- pupilDiameter(self, eye_id)
- Returns the diameter of the pupil in metres.
The arguments are:
- eye_id The ID for the eye, must be sm.eod.LEFT_EYE or sm.eod.RIGHT_EYE.
This value is only available if the corresponding Gaze Quality Level for this frame is 3.
- pupilPosition(self, eye_id)
- Returns the position of the centre of the pupil in world coordinates.
The arguments are:
- eye_id The ID for the eye, must be sm.eod.LEFT_EYE or sm.eod.RIGHT_EYE.
The positions of the centre of the pupils in world coordinates
is derived directly from the images by localising the iris in
both images and triangulation. It is independent from eye ball
calibration.
This parameter was added for people who need to know the position
of the pupils in space, i.e. for 3D displays.
The values are unfiltered image processing results.
- setPupilDiameter(self, pupil_diameter)
- Set the pupil diameter for an eye.
The arguments are:
- eye_id The ID for the eye, must be sm.eod.LEFT_EYE
or sm.eod.RIGHT_EYE.
- pupil_diameter The pupil diameters as a float in metres.
- setPupilPosition(self, pupil_position)
- Set the pupil diameter for an eye.
The arguments are:
- eye_id The ID for the eye, must be sm.eod.LEFT_EYE
or sm.eod.RIGHT_EYE.
- pupil_position The pupil position in world co-ordinates.
Data and other attributes defined here:
- THIS_OBJECT_ID = 14
Methods inherited from EngineOutputBase:
- eyeIdName(eye_id)
- Returns a string containing the name of the eye referred to by eye_id.
- setSerialableSubObjectsEnabled(self, valid_objects_ids, recursive=False)
- Set sub-object serialization enabled by object ID.
By default, sub-objects are serializeEnabled() and will be serialized.
Any attached sub-object with an id not in this vector will be
setSerializeEnabled(false) preventing it from being serialized.
The arguments are:
- valid_object_ids The list of object-ids to enable serialization for.
- recursive Whether to recurse into sub-object tree.
Note that only valid objects are recursed into. If
recursive is true then the only sub objects that will
be serialized will be the objects that can be traversed
with all object ids in valid_object_ids.
For example, given the following object graph.
1
|-2
| `4
`-3
|-5
`-6
If this method is called on object marked as 1 and the vector of
objects ids is [3, 4] and recursive is true. Then objects 2 will
be set false, object 4 will be untouched, object 3 will be set true
and obects 5 and 6 will be set false.
The only sub object serialized would be object 3.
- setSerializeEnabled(self, enabled)
- Sets the flag indicating that the object and its children should not be serialized.
Data and other attributes inherited from EngineOutputBase:
- ARRAY_SIZE_2D_DATA = 2
- ARRAY_SIZE_3D_DATA = 3
- ARRAY_SIZE_4D_DATA = 4
- ARRAY_SIZE_PAIR_DATA = 2
Methods inherited from SerializableComposite:
- addSubObject(self, sub_object)
- Adds a child object to this object.
The arguments are:
- sub_object Object to add or None.
This method may raise the following exceptions:
- SerializableError The object id already exists or the
object id is not valid for this object.
- hasSubObjectID(self, object_id)
- Returns true if a child object of that id has been added.
- numOwnDataBytes(self)
- Returns the number of bytes owned by this object excluding any child objects.
- numSubObjects(self)
- Returns the number of child objects added.
- numValidSubObjects(self)
- Returns the number of child objects that serializeEnabled() returns True.
- removeSubObject(self, object_id, index=None)
- Removes a child object if it exists.
Returns a reference to the object if it exists, otherwise,
it returns None.
- subObject(self, object_id)
- Returns the child object for that ID or None
- subObjectAtIndex(self, object_id, index=0)
- Returns the child object for that ID or None
- subObjects(self, object_id=None)
- Returns a VectorSerializable containg the subobjects
Methods inherited from Serializable:
- clone(self)
- Returns a new copy of the object
- extendedHeaderSize(data_size)
- Returns true if an extended header is required for data_size.
- extendedHeaderSizeMagicCookie()
- Returns the 'magic' size value used to indicate that the object's size is held in a uint32.
The old header consisted of:
objectid - uint8
object size - uint16
When the object's size matches the return value from this method then
the header consists of:
objectid - uint8
magic cookie - uint16
object size - uint32
- headerText(self)
- Returns a string containing the column headings for lineText() of the object in a fixed width format.
- lineText(self)
- Returns a string containing the data of the object in a fixed width format.
- minHeaderBytes()
- Returns the minimum number of header bytes that need to be read
to be able to determine if the header is an extended header or not.
This is the number of bytes for the object_id and 16 bit data size.
An extended header the data size field equal to the value returned
from extendedHeaderSizeMagicCookie().
- numDataBytes(self)
- Returns the number of bytes of data required to serialize class.
- numHeaderBytes(data_size)
- Returns the number of header bytes that are written to the buffer by the serialize function before the actual data is appended.
- numTotalBytes(self)
- Returns the total number of bytes required tp serialize the object,
This includes the header and the data bytes.
- objectID(self)
- Identifier for type of object
- readDataSizeHeader(buffer, read_pos_inout)
- Reads the size of the object header from the buffer.
The arguments are:
- buffer The buffer of data.
- read_pos_inout The position within the buffer to read from.
This method returns a tuple consisting of a boolean success indicator and the
size of the header. The success indicator can be false if there is
insufficient data in the buffer.
- serialize(self, buffer)
- Appends to the buffer the object's data.
- serializeEnabled(self)
- Returns whether this object, and its descendents, are to be serialized.
- unSerialize(self, buffer, read_pos_inout)
- Attempts to build the object from the buffer.
The arguments are:
- buffer The buffer of data to use to reconstruct the object
with.
- read_pos_inout The offset into the buffer to start reading data from.
This value must be >= 0.
Returns a tuple consisting of:
- boolean success indicator. The success indicator can be false
if the buffer contained insufficent data in which case the object will be left unmodified.
Otherwise, it returns true when the object was successfully deserialized.
- next read position, only valid if the success indicator is True.
This method may raise the following exceptions:
SerializableError The objectid in buffer does not match this object, or
the data_size in header didn't match amount of data read, or
duplicate sub-object ids were found.
The object may have been partially updated.
- writeHeader(buffer, object_id, data_size)
- Writes a header to the buffer.
The arguments are:
- buffer The buffer of data to append the header to.
- object_id The ID of the object that understands the data.
- data_size The size of the data associated with the header.
|
class Serializable |
| |
Abstract interface class for all objects that can read and write themselves from/to a buffer. |
| |
Methods defined here:
- clone(self)
- Returns a new copy of the object
- extendedHeaderSize(data_size)
- Returns true if an extended header is required for data_size.
- extendedHeaderSizeMagicCookie()
- Returns the 'magic' size value used to indicate that the object's size is held in a uint32.
The old header consisted of:
objectid - uint8
object size - uint16
When the object's size matches the return value from this method then
the header consists of:
objectid - uint8
magic cookie - uint16
object size - uint32
- headerText(self)
- Returns a string containing the column headings for lineText() of the object in a fixed width format.
- lineText(self)
- Returns a string containing the data of the object in a fixed width format.
- minHeaderBytes()
- Returns the minimum number of header bytes that need to be read
to be able to determine if the header is an extended header or not.
This is the number of bytes for the object_id and 16 bit data size.
An extended header the data size field equal to the value returned
from extendedHeaderSizeMagicCookie().
- numDataBytes(self)
- Returns the number of bytes of data required to serialize class.
- numHeaderBytes(data_size)
- Returns the number of header bytes that are written to the buffer by the serialize function before the actual data is appended.
- numTotalBytes(self)
- Returns the total number of bytes required tp serialize the object,
This includes the header and the data bytes.
- objectID(self)
- Identifier for type of object
- readDataSizeHeader(buffer, read_pos_inout)
- Reads the size of the object header from the buffer.
The arguments are:
- buffer The buffer of data.
- read_pos_inout The position within the buffer to read from.
This method returns a tuple consisting of a boolean success indicator and the
size of the header. The success indicator can be false if there is
insufficient data in the buffer.
- serialize(self, buffer)
- Appends to the buffer the object's data.
- serializeEnabled(self)
- Returns whether this object, and its descendents, are to be serialized.
- unSerialize(self, buffer, read_pos_inout)
- Attempts to build the object from the buffer.
The arguments are:
- buffer The buffer of data to use to reconstruct the object
with.
- read_pos_inout The offset into the buffer to start reading data from.
This value must be >= 0.
Returns a tuple consisting of:
- boolean success indicator. The success indicator can be false
if the buffer contained insufficent data in which case the object will be left unmodified.
Otherwise, it returns true when the object was successfully deserialized.
- next read position, only valid if the success indicator is True.
This method may raise the following exceptions:
SerializableError The objectid in buffer does not match this object, or
the data_size in header didn't match amount of data read, or
duplicate sub-object ids were found.
The object may have been partially updated.
- writeHeader(buffer, object_id, data_size)
- Writes a header to the buffer.
The arguments are:
- buffer The buffer of data to append the header to.
- object_id The ID of the object that understands the data.
- data_size The size of the data associated with the header.
|
class SerializableComposite(Serializable) |
| |
Serializable object that is composed of many other Serializable sub-objects. |
| |
Methods defined here:
- addSubObject(self, sub_object)
- Adds a child object to this object.
The arguments are:
- sub_object Object to add or None.
This method may raise the following exceptions:
- SerializableError The object id already exists or the
object id is not valid for this object.
- hasSubObjectID(self, object_id)
- Returns true if a child object of that id has been added.
- numOwnDataBytes(self)
- Returns the number of bytes owned by this object excluding any child objects.
- numSubObjects(self)
- Returns the number of child objects added.
- numValidSubObjects(self)
- Returns the number of child objects that serializeEnabled() returns True.
- removeSubObject(self, object_id, index=None)
- Removes a child object if it exists.
Returns a reference to the object if it exists, otherwise,
it returns None.
- subObject(self, object_id)
- Returns the child object for that ID or None
- subObjectAtIndex(self, object_id, index=0)
- Returns the child object for that ID or None
- subObjects(self, object_id=None)
- Returns a VectorSerializable containg the subobjects
Methods inherited from Serializable:
- clone(self)
- Returns a new copy of the object
- extendedHeaderSize(data_size)
- Returns true if an extended header is required for data_size.
- extendedHeaderSizeMagicCookie()
- Returns the 'magic' size value used to indicate that the object's size is held in a uint32.
The old header consisted of:
objectid - uint8
object size - uint16
When the object's size matches the return value from this method then
the header consists of:
objectid - uint8
magic cookie - uint16
object size - uint32
- headerText(self)
- Returns a string containing the column headings for lineText() of the object in a fixed width format.
- lineText(self)
- Returns a string containing the data of the object in a fixed width format.
- minHeaderBytes()
- Returns the minimum number of header bytes that need to be read
to be able to determine if the header is an extended header or not.
This is the number of bytes for the object_id and 16 bit data size.
An extended header the data size field equal to the value returned
from extendedHeaderSizeMagicCookie().
- numDataBytes(self)
- Returns the number of bytes of data required to serialize class.
- numHeaderBytes(data_size)
- Returns the number of header bytes that are written to the buffer by the serialize function before the actual data is appended.
- numTotalBytes(self)
- Returns the total number of bytes required tp serialize the object,
This includes the header and the data bytes.
- objectID(self)
- Identifier for type of object
- readDataSizeHeader(buffer, read_pos_inout)
- Reads the size of the object header from the buffer.
The arguments are:
- buffer The buffer of data.
- read_pos_inout The position within the buffer to read from.
This method returns a tuple consisting of a boolean success indicator and the
size of the header. The success indicator can be false if there is
insufficient data in the buffer.
- serialize(self, buffer)
- Appends to the buffer the object's data.
- serializeEnabled(self)
- Returns whether this object, and its descendents, are to be serialized.
- unSerialize(self, buffer, read_pos_inout)
- Attempts to build the object from the buffer.
The arguments are:
- buffer The buffer of data to use to reconstruct the object
with.
- read_pos_inout The offset into the buffer to start reading data from.
This value must be >= 0.
Returns a tuple consisting of:
- boolean success indicator. The success indicator can be false
if the buffer contained insufficent data in which case the object will be left unmodified.
Otherwise, it returns true when the object was successfully deserialized.
- next read position, only valid if the success indicator is True.
This method may raise the following exceptions:
SerializableError The objectid in buffer does not match this object, or
the data_size in header didn't match amount of data read, or
duplicate sub-object ids were found.
The object may have been partially updated.
- writeHeader(buffer, object_id, data_size)
- Writes a header to the buffer.
The arguments are:
- buffer The buffer of data to append the header to.
- object_id The ID of the object that understands the data.
- data_size The size of the data associated with the header.
|
class SerializableError(EODError) |
| |
An error raised when serialization goes bad. |
| |
Methods defined here:
- __init__(self, message)
- Initializes the error.
The arguments are:
- message Message describing error.
Methods inherited from EODError:
- className(self)
- Returns the name of the class as a string.
|
class SerializableFactory |
| |
Factory for creating new Serializable objects. |
| |
Methods defined here:
- newObject(buffer_or_object_id, read_pos=None)
- Create a new Serializable object from the contents of a buffer.
The arguments are:
- buffer_or_object_id If it is an int then it is assumed to
be an object ID to create. Otherwise it
is expected to be a buffer of bytes.
- read_pos When buffer_or_object_id is a buffer, this
is expected to be the position within the buffer
to create the object from.
When creating a new object from an object_id the method returns an
instance derived from Serializable or None. No exceptions are raised.
When creating an object from a buffer the method returns a tuple consisting of:
- Newly created object or None if the object is unrecognised.
- Position following the object created unless an exception is raised
in which case the read_pos parsed into the function is returned.
This method may raise the following exceptions:
- SerializableError Something went wrong while deserializing the buffer.
This could be that the buffer was too small to contain
the whole object. Or the packet was malformed.
|
class TimingOutputData(EngineOutputBase) |
| |
A data class which contains timing related data. |
| |
- Method resolution order:
- TimingOutputData
- EngineOutputBase
- SerializableComposite
- Serializable
Methods defined here:
- __init__(self)
- Initializes the object
- experimentTime(self)
- Returns a floating point value which is the time since tracking started in seconds.
This time value represents the time in seconds since the
tracking was started, that is, since the start button was
pushed.
The time gets reset when the stop button is pushed
and the start button is pushed again. However, this will
also create a new logfile, and therefore, this time
will always start with 0 in each logfile.
Data and other attributes defined here:
- INVALID_ANNOTATION_LABEL = -1
- THIS_OBJECT_ID = 10
Methods inherited from EngineOutputBase:
- eyeIdName(eye_id)
- Returns a string containing the name of the eye referred to by eye_id.
- setSerialableSubObjectsEnabled(self, valid_objects_ids, recursive=False)
- Set sub-object serialization enabled by object ID.
By default, sub-objects are serializeEnabled() and will be serialized.
Any attached sub-object with an id not in this vector will be
setSerializeEnabled(false) preventing it from being serialized.
The arguments are:
- valid_object_ids The list of object-ids to enable serialization for.
- recursive Whether to recurse into sub-object tree.
Note that only valid objects are recursed into. If
recursive is true then the only sub objects that will
be serialized will be the objects that can be traversed
with all object ids in valid_object_ids.
For example, given the following object graph.
1
|-2
| `4
`-3
|-5
`-6
If this method is called on object marked as 1 and the vector of
objects ids is [3, 4] and recursive is true. Then objects 2 will
be set false, object 4 will be untouched, object 3 will be set true
and obects 5 and 6 will be set false.
The only sub object serialized would be object 3.
- setSerializeEnabled(self, enabled)
- Sets the flag indicating that the object and its children should not be serialized.
Data and other attributes inherited from EngineOutputBase:
- ARRAY_SIZE_2D_DATA = 2
- ARRAY_SIZE_3D_DATA = 3
- ARRAY_SIZE_4D_DATA = 4
- ARRAY_SIZE_PAIR_DATA = 2
Methods inherited from SerializableComposite:
- addSubObject(self, sub_object)
- Adds a child object to this object.
The arguments are:
- sub_object Object to add or None.
This method may raise the following exceptions:
- SerializableError The object id already exists or the
object id is not valid for this object.
- hasSubObjectID(self, object_id)
- Returns true if a child object of that id has been added.
- numOwnDataBytes(self)
- Returns the number of bytes owned by this object excluding any child objects.
- numSubObjects(self)
- Returns the number of child objects added.
- numValidSubObjects(self)
- Returns the number of child objects that serializeEnabled() returns True.
- removeSubObject(self, object_id, index=None)
- Removes a child object if it exists.
Returns a reference to the object if it exists, otherwise,
it returns None.
- subObject(self, object_id)
- Returns the child object for that ID or None
- subObjectAtIndex(self, object_id, index=0)
- Returns the child object for that ID or None
- subObjects(self, object_id=None)
- Returns a VectorSerializable containg the subobjects
Methods inherited from Serializable:
- clone(self)
- Returns a new copy of the object
- extendedHeaderSize(data_size)
- Returns true if an extended header is required for data_size.
- extendedHeaderSizeMagicCookie()
- Returns the 'magic' size value used to indicate that the object's size is held in a uint32.
The old header consisted of:
objectid - uint8
object size - uint16
When the object's size matches the return value from this method then
the header consists of:
objectid - uint8
magic cookie - uint16
object size - uint32
- headerText(self)
- Returns a string containing the column headings for lineText() of the object in a fixed width format.
- lineText(self)
- Returns a string containing the data of the object in a fixed width format.
- minHeaderBytes()
- Returns the minimum number of header bytes that need to be read
to be able to determine if the header is an extended header or not.
This is the number of bytes for the object_id and 16 bit data size.
An extended header the data size field equal to the value returned
from extendedHeaderSizeMagicCookie().
- numDataBytes(self)
- Returns the number of bytes of data required to serialize class.
- numHeaderBytes(data_size)
- Returns the number of header bytes that are written to the buffer by the serialize function before the actual data is appended.
- numTotalBytes(self)
- Returns the total number of bytes required tp serialize the object,
This includes the header and the data bytes.
- objectID(self)
- Identifier for type of object
- readDataSizeHeader(buffer, read_pos_inout)
- Reads the size of the object header from the buffer.
The arguments are:
- buffer The buffer of data.
- read_pos_inout The position within the buffer to read from.
This method returns a tuple consisting of a boolean success indicator and the
size of the header. The success indicator can be false if there is
insufficient data in the buffer.
- serialize(self, buffer)
- Appends to the buffer the object's data.
- serializeEnabled(self)
- Returns whether this object, and its descendents, are to be serialized.
- unSerialize(self, buffer, read_pos_inout)
- Attempts to build the object from the buffer.
The arguments are:
- buffer The buffer of data to use to reconstruct the object
with.
- read_pos_inout The offset into the buffer to start reading data from.
This value must be >= 0.
Returns a tuple consisting of:
- boolean success indicator. The success indicator can be false
if the buffer contained insufficent data in which case the object will be left unmodified.
Otherwise, it returns true when the object was successfully deserialized.
- next read position, only valid if the success indicator is True.
This method may raise the following exceptions:
SerializableError The objectid in buffer does not match this object, or
the data_size in header didn't match amount of data read, or
duplicate sub-object ids were found.
The object may have been partially updated.
- writeHeader(buffer, object_id, data_size)
- Writes a header to the buffer.
The arguments are:
- buffer The buffer of data to append the header to.
- object_id The ID of the object that understands the data.
- data_size The size of the data associated with the header.
|
class WorldOutputData(EngineOutputBase) |
| |
A data class that represents world model related data. |
| |
- Method resolution order:
- WorldOutputData
- EngineOutputBase
- SerializableComposite
- Serializable
Methods defined here:
- __init__(self)
- All members zeroed.
- gazeIntersectionOutputData(self)
- Returns the attached GazeIntersectionOutputDataBase or None.
- headIntersectionOutputData(self)
- Returns the attached HeadIntersectionOutputDataV1 or None.
Data and other attributes defined here:
- THIS_OBJECT_ID = 19
Methods inherited from EngineOutputBase:
- eyeIdName(eye_id)
- Returns a string containing the name of the eye referred to by eye_id.
- setSerialableSubObjectsEnabled(self, valid_objects_ids, recursive=False)
- Set sub-object serialization enabled by object ID.
By default, sub-objects are serializeEnabled() and will be serialized.
Any attached sub-object with an id not in this vector will be
setSerializeEnabled(false) preventing it from being serialized.
The arguments are:
- valid_object_ids The list of object-ids to enable serialization for.
- recursive Whether to recurse into sub-object tree.
Note that only valid objects are recursed into. If
recursive is true then the only sub objects that will
be serialized will be the objects that can be traversed
with all object ids in valid_object_ids.
For example, given the following object graph.
1
|-2
| `4
`-3
|-5
`-6
If this method is called on object marked as 1 and the vector of
objects ids is [3, 4] and recursive is true. Then objects 2 will
be set false, object 4 will be untouched, object 3 will be set true
and obects 5 and 6 will be set false.
The only sub object serialized would be object 3.
- setSerializeEnabled(self, enabled)
- Sets the flag indicating that the object and its children should not be serialized.
Data and other attributes inherited from EngineOutputBase:
- ARRAY_SIZE_2D_DATA = 2
- ARRAY_SIZE_3D_DATA = 3
- ARRAY_SIZE_4D_DATA = 4
- ARRAY_SIZE_PAIR_DATA = 2
Methods inherited from SerializableComposite:
- addSubObject(self, sub_object)
- Adds a child object to this object.
The arguments are:
- sub_object Object to add or None.
This method may raise the following exceptions:
- SerializableError The object id already exists or the
object id is not valid for this object.
- hasSubObjectID(self, object_id)
- Returns true if a child object of that id has been added.
- numOwnDataBytes(self)
- Returns the number of bytes owned by this object excluding any child objects.
- numSubObjects(self)
- Returns the number of child objects added.
- numValidSubObjects(self)
- Returns the number of child objects that serializeEnabled() returns True.
- removeSubObject(self, object_id, index=None)
- Removes a child object if it exists.
Returns a reference to the object if it exists, otherwise,
it returns None.
- subObject(self, object_id)
- Returns the child object for that ID or None
- subObjectAtIndex(self, object_id, index=0)
- Returns the child object for that ID or None
- subObjects(self, object_id=None)
- Returns a VectorSerializable containg the subobjects
Methods inherited from Serializable:
- clone(self)
- Returns a new copy of the object
- extendedHeaderSize(data_size)
- Returns true if an extended header is required for data_size.
- extendedHeaderSizeMagicCookie()
- Returns the 'magic' size value used to indicate that the object's size is held in a uint32.
The old header consisted of:
objectid - uint8
object size - uint16
When the object's size matches the return value from this method then
the header consists of:
objectid - uint8
magic cookie - uint16
object size - uint32
- headerText(self)
- Returns a string containing the column headings for lineText() of the object in a fixed width format.
- lineText(self)
- Returns a string containing the data of the object in a fixed width format.
- minHeaderBytes()
- Returns the minimum number of header bytes that need to be read
to be able to determine if the header is an extended header or not.
This is the number of bytes for the object_id and 16 bit data size.
An extended header the data size field equal to the value returned
from extendedHeaderSizeMagicCookie().
- numDataBytes(self)
- Returns the number of bytes of data required to serialize class.
- numHeaderBytes(data_size)
- Returns the number of header bytes that are written to the buffer by the serialize function before the actual data is appended.
- numTotalBytes(self)
- Returns the total number of bytes required tp serialize the object,
This includes the header and the data bytes.
- objectID(self)
- Identifier for type of object
- readDataSizeHeader(buffer, read_pos_inout)
- Reads the size of the object header from the buffer.
The arguments are:
- buffer The buffer of data.
- read_pos_inout The position within the buffer to read from.
This method returns a tuple consisting of a boolean success indicator and the
size of the header. The success indicator can be false if there is
insufficient data in the buffer.
- serialize(self, buffer)
- Appends to the buffer the object's data.
- serializeEnabled(self)
- Returns whether this object, and its descendents, are to be serialized.
- unSerialize(self, buffer, read_pos_inout)
- Attempts to build the object from the buffer.
The arguments are:
- buffer The buffer of data to use to reconstruct the object
with.
- read_pos_inout The offset into the buffer to start reading data from.
This value must be >= 0.
Returns a tuple consisting of:
- boolean success indicator. The success indicator can be false
if the buffer contained insufficent data in which case the object will be left unmodified.
Otherwise, it returns true when the object was successfully deserialized.
- next read position, only valid if the success indicator is True.
This method may raise the following exceptions:
SerializableError The objectid in buffer does not match this object, or
the data_size in header didn't match amount of data read, or
duplicate sub-object ids were found.
The object may have been partially updated.
- writeHeader(buffer, object_id, data_size)
- Writes a header to the buffer.
The arguments are:
- buffer The buffer of data to append the header to.
- object_id The ID of the object that understands the data.
- data_size The size of the data associated with the header.
|
class WorldOutputDataV2(EngineOutputBase) |
| |
A data class that represents world model related data. |
| |
- Method resolution order:
- WorldOutputDataV2
- EngineOutputBase
- SerializableComposite
- Serializable
Methods defined here:
- gazeIntersectionOutputData(self)
- Returns the attached GazeIntersectionOutputDataV3 or None.
- headIntersectionOutputData(self)
- Returns the attached HeadIntersectionOutputDataV2 or None.
Data and other attributes defined here:
- THIS_OBJECT_ID = 43
Methods inherited from EngineOutputBase:
- eyeIdName(eye_id)
- Returns a string containing the name of the eye referred to by eye_id.
- setSerialableSubObjectsEnabled(self, valid_objects_ids, recursive=False)
- Set sub-object serialization enabled by object ID.
By default, sub-objects are serializeEnabled() and will be serialized.
Any attached sub-object with an id not in this vector will be
setSerializeEnabled(false) preventing it from being serialized.
The arguments are:
- valid_object_ids The list of object-ids to enable serialization for.
- recursive Whether to recurse into sub-object tree.
Note that only valid objects are recursed into. If
recursive is true then the only sub objects that will
be serialized will be the objects that can be traversed
with all object ids in valid_object_ids.
For example, given the following object graph.
1
|-2
| `4
`-3
|-5
`-6
If this method is called on object marked as 1 and the vector of
objects ids is [3, 4] and recursive is true. Then objects 2 will
be set false, object 4 will be untouched, object 3 will be set true
and obects 5 and 6 will be set false.
The only sub object serialized would be object 3.
- setSerializeEnabled(self, enabled)
- Sets the flag indicating that the object and its children should not be serialized.
Data and other attributes inherited from EngineOutputBase:
- ARRAY_SIZE_2D_DATA = 2
- ARRAY_SIZE_3D_DATA = 3
- ARRAY_SIZE_4D_DATA = 4
- ARRAY_SIZE_PAIR_DATA = 2
Methods inherited from SerializableComposite:
- addSubObject(self, sub_object)
- Adds a child object to this object.
The arguments are:
- sub_object Object to add or None.
This method may raise the following exceptions:
- SerializableError The object id already exists or the
object id is not valid for this object.
- hasSubObjectID(self, object_id)
- Returns true if a child object of that id has been added.
- numOwnDataBytes(self)
- Returns the number of bytes owned by this object excluding any child objects.
- numSubObjects(self)
- Returns the number of child objects added.
- numValidSubObjects(self)
- Returns the number of child objects that serializeEnabled() returns True.
- removeSubObject(self, object_id, index=None)
- Removes a child object if it exists.
Returns a reference to the object if it exists, otherwise,
it returns None.
- subObject(self, object_id)
- Returns the child object for that ID or None
- subObjectAtIndex(self, object_id, index=0)
- Returns the child object for that ID or None
- subObjects(self, object_id=None)
- Returns a VectorSerializable containg the subobjects
Methods inherited from Serializable:
- clone(self)
- Returns a new copy of the object
- extendedHeaderSize(data_size)
- Returns true if an extended header is required for data_size.
- extendedHeaderSizeMagicCookie()
- Returns the 'magic' size value used to indicate that the object's size is held in a uint32.
The old header consisted of:
objectid - uint8
object size - uint16
When the object's size matches the return value from this method then
the header consists of:
objectid - uint8
magic cookie - uint16
object size - uint32
- headerText(self)
- Returns a string containing the column headings for lineText() of the object in a fixed width format.
- lineText(self)
- Returns a string containing the data of the object in a fixed width format.
- minHeaderBytes()
- Returns the minimum number of header bytes that need to be read
to be able to determine if the header is an extended header or not.
This is the number of bytes for the object_id and 16 bit data size.
An extended header the data size field equal to the value returned
from extendedHeaderSizeMagicCookie().
- numDataBytes(self)
- Returns the number of bytes of data required to serialize class.
- numHeaderBytes(data_size)
- Returns the number of header bytes that are written to the buffer by the serialize function before the actual data is appended.
- numTotalBytes(self)
- Returns the total number of bytes required tp serialize the object,
This includes the header and the data bytes.
- objectID(self)
- Identifier for type of object
- readDataSizeHeader(buffer, read_pos_inout)
- Reads the size of the object header from the buffer.
The arguments are:
- buffer The buffer of data.
- read_pos_inout The position within the buffer to read from.
This method returns a tuple consisting of a boolean success indicator and the
size of the header. The success indicator can be false if there is
insufficient data in the buffer.
- serialize(self, buffer)
- Appends to the buffer the object's data.
- serializeEnabled(self)
- Returns whether this object, and its descendents, are to be serialized.
- unSerialize(self, buffer, read_pos_inout)
- Attempts to build the object from the buffer.
The arguments are:
- buffer The buffer of data to use to reconstruct the object
with.
- read_pos_inout The offset into the buffer to start reading data from.
This value must be >= 0.
Returns a tuple consisting of:
- boolean success indicator. The success indicator can be false
if the buffer contained insufficent data in which case the object will be left unmodified.
Otherwise, it returns true when the object was successfully deserialized.
- next read position, only valid if the success indicator is True.
This method may raise the following exceptions:
SerializableError The objectid in buffer does not match this object, or
the data_size in header didn't match amount of data read, or
duplicate sub-object ids were found.
The object may have been partially updated.
- writeHeader(buffer, object_id, data_size)
- Writes a header to the buffer.
The arguments are:
- buffer The buffer of data to append the header to.
- object_id The ID of the object that understands the data.
- data_size The size of the data associated with the header.
| |


Build Number Ranges
Use this reference of build number ranges to specify the correct since-build
and until-build
values in your plugin descriptor.
Starting with IntelliJ IDEA 9 beta, a multi-part build number is used, such as:
IU-90.94
The number consists of the following parts:
- Product ID (IC for IDEA Community, IU for IDEA Ultimate, RM for RubyMine, PY for PyCharm, etc.)
- Branch number (“90”)
- Build number in the branch (“94”)
Every time a release branch is created for one of the products based on IntelliJ Platform, the branch number in the release branch is incremented by 1, and the branch number in the trunk is incremented by 2. Accordingly, the trunk always has even branch numbers (90, 92, 94, etc.), while release branches have odd branch numbers (91, 93, etc.). For example, the RubyMine 7 release branch has the branch number 139.
Multi-part build numbers can also be used in the since-build
and until-build
attributes of idea-version
. Usually you should omit the product ID and use only the branch number and build number, for example:
<idea-version since-build="94.539"/>
The following branch numbers are used for IntelliJ Platform-based products and build numbers of recent IDE versions:
- branch 143 - IntelliJ IDEA 15, WebStorm 11, PyCharm 5, PhpStorm 10, RubyMine 8, AppCode 3.3, CLion 1.2, DataGrip 1.0
- branch 141 - IntelliJ IDEA 14.1, WebStorm 10, PyCharm 4.1, Android Studio 1.3
- branch 139 - IntelliJ IDEA 14, WebStorm 9, PyCharm 4, PhpStorm 8, RubyMine 7
- branch 135 - IntelliJ IDEA 13.1, WebStorm 8
- branch 133 - IntelliJ IDEA 13, PyCharm 3.1, WebStorm 7, PhpStorm 7
- branch 131 - WebStorm 7, PyCharm 3.0, PhpStorm 7
- branch 129 - IntelliJ IDEA 12.1, bug-fix updates for PyCharm 2.7, PhpStorm/WebStorm 6
- branch 127 - PhpStorm/WebStorm 6.0, AppCode 2.0
- branch 125 - PyCharm 2.7, RubyMine 5.0
- branch 123 - IntelliJ IDEA 12
- 12.0 - 123.72
- branch 121 - AppCode 1.6, PyCharm 2.6, PhpStorm/WebStorm 5.0
- branch 119 - RubyMine 4.5
- branch 117 - IntelliJ IDEA 11.1, PyCharm 2.5, RubyMine 4.0.x, AppCode 1.5, PhpStorm/WebStorm 4.0
- 11.1 - 117.105
- 11.1.1 - 117.117
- 11.1.2 - 117.418
- 11.1.3 - 117.798
- branch 111 - IntelliJ IDEA 11.0
- 11.0 - 111.69
- 11.0.1 - 111.167
- 11.0.2 - 111.277
- branch 107 - IDEA 10.5
- 10.5 - 107.105
- 10.5.1 - 107.322
- 10.5.2 - 107.587
- branch 103 - IDEA 10.0.2+
- 10.0.2 - 103.72
- 10.0.3 - 103.255
- 10.0 - 99.18
- 10.0.1 - 99.32
- branch 95 - IDEA 9.0.2+
- 9.0.2 - 95.66
- 9.0.3 - 95.429
- 9.0.4 - 95.627
- branch 99 - IDEA 10.0
- branch 93 - IDEA 9.0
- 9.0 - 93.13
- 9.0.1 - 93.94
Previous versions of IntelliJ IDEA use linear build numbers, with the following ranges:
- IntelliJ IDEA 8.1.x - 9500-9999
- IntelliJ IDEA 8.1 - 9732
- IntelliJ IDEA 8.0.x - 9100-9499
- IntelliJ IDEA 8.0.1 - 9164
- IntelliJ IDEA 8.0 - 8000-9099
- IntelliJ IDEA 8.0M1 - 8664
- IntelliJ IDEA 8.0 - 9013
- IntelliJ IDEA 7.0.2+ - 7500-7999
- 7.0.2 - 7590
- 7.0.3 - 7757
- 7.0.5 - 7971
- IntelliJ IDEA 7.0 final - 7200-7499
- 7.0 final - 7361
- IntelliJ IDEA 7.0 pre-M2 - 6900-7199
- 7.0 M2 - 7126
- IntelliJ IDEA 7.0 pre-M1 - 6500-6899
- 7.0 M1 - 6813
- IntelliJ IDEA 6.0.2 branch - 6000-6499
- 6.0.5 - 6180
- 6.0.6 - 6197
- IntelliJ IDEA 6.0 branch - 5000-5999
- 6.0.1 - 5784
- IntelliJ IDEA 5.1 branch - 4000-4999
- 5.1.2 - 4267


Editor This page demonstrates a parser, which needs JavaScript to operate. You currently do not have JavaScript support enabled. Type or copy and paste the HTML you want to parse into the box below. HTML  Glenn Jones  Options BaseURL Filters Experimental ‐ Parse lang attribute and display two letter code i.e. en for english Experimental ‐ Text white-space collapsing Experimental ‐ Parse h-geo writen as 30.26;-97.73 into latitude and longitude auto microformats2 w3c html5 rfc3339 Experimental ‐ Fixed ISO date profile for output