Accelerometer
Specification: http://www.phidgets.com/products.php?category=5&product_id=1059
Source File: accelerometer.cpp
Example: accelerometer_client.cpp
Published Topics
Default topic:
phidgets/accelerometer <
accelerometer_params>
This can also be altered by specifying
topic_path,
name and
serial_number as parameters.
Launch Parameters
topic_path (str, default: "phidgets/")
This sets the topic path for the device
name (str, default: "accelerometer")
An optional name for the device. The complete topic is given as the topic path plus the name.
serial_number (int, default: -1)
The serial number for the device. A value of -1 indicates that any serial number is acceptable. Use this with caution as there is no guarantee of which device gets connected if there is more than one device connected.
sensitivity (float, default: 0.0)
This is the amount that an acceleration value must change to trigger an event and publish new data to the topic. The default of 0.0 generates events and publishes to the topic as fast as the hardware can trigger events (our tests show ~62HZ)
x_axis_id (int, default: 0)
The accelerometer hardware provides values for axes that are indexed 0-2. Depending on how the device is mounted, the x,y,z mapping can change. Use this parameter to specify the x-axis.
y_axis_id (int, default: 1)
The accelerometer hardware provides values for axes that are indexed 0-2. Depending on how the device is mounted, the x,y,z mapping can change. Use this parameter to specify the y-axis.
z_axis_id (int, default: 2)
The accelerometer hardware provides values for axes that are indexed 0-2. Depending on how the device is mounted, the x,y,z mapping can change. Use this parameter to specify the z-axis.
Advanced Servo Controller
Specification: http://www.phidgets.com/products.php?category=11&product_id=1061
Source File: advanced_servo.cpp
Example: advanced_servo_client.cpp
Published Topics
The default topic is
phidgets/servos <
servo_params>
This can also be altered by specifying
topic_path,
name and
serial_number as parameters.
Launch Parameters
topic_path (str, default: "phidgets/")
This sets the topic path for the device
name (str, default: "servos")
An optional name for the device. The complete topic is given as the topic path plus the name.
serial_number (int, default: -1)
The serial number for the device. A value of -1 indicates that any serial number is acceptable. Use this with caution as there is no guarantee of which device gets connected if there is more than one device connected.
Service Format
Commands are sent to servos in the following format. The units for position, speed and acceleration are as given in the specification.
int32 index
Index number of the servo.
bool engage
Whether to engage/energise the servo.
float32 position
The desired reference position for the servo.
float32 speed
The speed at which the servo should move.
float32 acceleration
The acceleration at which the servo should move.
High Speed Encoder
Specification: http://www.phidgets.com/products.php?category=1&product_id=1057
Source File: high_speed_encoder.cpp
Example: high_speed_encoder_client.cpp
Published Topics
The default topic is
phidgets/encoder <
encoder_params>
This can also be altered by specifying
topic_path,
name and
serial_number as parameters.
Launch Parameters
topic_path (str, default: "phidgets/")
This sets the topic path for the device
name (str, default: "encoder")
An optional name for the device. The complete topic is given as the topic path plus the name.
serial_number (int, default: -1)
The serial number for the device. A value of -1 indicates that any serial number is acceptable. Use this with caution as there is no guarantee of which device gets connected if there is more than one device connected.
Message Format
Header header
Message header.
int32 index
Index number of the encoder.
int32 count
Returned count from the encoder.
int32 count_change
Change in encoder count between this and the previous value.
int32 time
Time when the encoder count was taken.
Interface Kit
Specification: http://www.phidgets.com/products.php?category=0&product_id=1018
Source File: interface_kit.cpp
Example: interface_kit_client.cpp
Published Topics
The default topic is
phidgets/interface_kit <
interface_kit_params>
This can also be altered by specifying
topic_path,
name and
serial_number as parameters.
Launch Parameters
topic_path (str, default: "phidgets/")
This sets the topic path for the device
name (str, default: "interface_kit")
An optional name for the device. The complete topic is given as the topic path plus the name.
serial_number (int, default: -1)
The serial number for the device. A value of -1 indicates that any serial number is acceptable. Use this with caution as there is no guarantee of which device gets connected if there is more than one device connected.
Service Format
Digital output states or the trigger levels for analogue inputs are set using the following format.
int32 index
Index number of the digital output or analogue input.
int32 value_type
Type of value being set.
1 = Digital output.
2 = Analogue sensor trigger level.
int32 value
Value to be set.
Message Format
Values for inputs are received in the following format.
Header header
Message header.
int32 index
Index number of the input or output.
int32 value_type
Value type of the input.
1 = Digital input.
2 = Digital Output.
3 = Analogue input.
int32 value
Returned value of the input or output.
IR
Specification: http://www.phidgets.com/products.php?category=27&product_id=1055
Source File: ir.cpp
Example: ir_client.cpp
Published Topics
The default topic is
phidgets/ir <
ir_params>
This can also be altered by specifying
topic_path,
name and
serial_number as parameters.
Launch Parameters
topic_path (str, default: "phidgets/")
This sets the topic path for the device
name (str, default: "ir")
An optional name for the device. The complete topic is given as the topic path plus the name.
serial_number (int, default: -1)
The serial number for the device. A value of -1 indicates that any serial number is acceptable. Use this with caution as there is no guarantee of which device gets connected if there is more than one device connected.
LED
Specification: http://www.phidgets.com/products.php?category=15&product_id=1031
Source File: led.cpp
Example: led_client.cpp
Published Topics
The default topic is
phidgets/led <
led_params>
This can also be altered by specifying
topic_path,
name and
serial_number as parameters.
Launch Parameters
topic_path (str, default: "phidgets/")
This sets the topic path for the device
name (str, default: "led")
An optional name for the device. The complete topic is given as the topic path plus the name.
serial_number (int, default: -1)
The serial number for the device. A value of -1 indicates that any serial number is acceptable. Use this with caution as there is no guarantee of which device gets connected if there is more than one device connected.
Service Format
byte[] brightness
sets the brightness value for each LED, in the range 0-100.
Motor Control HC
Specification: http://www.phidgets.com/products.php?category=12&product_id=1064
Source File: motor_control_hc.cpp
Example: motor_control_hc_client.cpp
Published Topics
The default topic is:
phidgets/motorcontrol <
motor_params>
This can also be altered by specifying
topic_path,
name and
serial_number as parameters.
Launch Parameters
topic_path (str, default: "phidgets/")
This sets the topic path for the device
name (str, default: "motorcontrol")
An optional name for the device. The complete topic is given as the topic path plus the name.
serial_number (int, default: -1)
The serial number for the device. A value of -1 indicates that any serial number is acceptable. Use this with caution as there is no guarantee of which device gets connected if there is more than one device connected.
timeout (int, default: 2)
This sets a timeout period in seconds after which if a motor control command has not been received then the motors will be halted. This is a safety feature to ensure that the motors don't keep spinning if higher level systems have crashed or hung.
Subscriptions
cmd_vel
This is a message of type
geometry_msgs::Twist used to by other systems to request motor movement in a particular direction. The
linear.x property of this message is used to set the angular speed and
linear.y is used to set the forward speed.
PH Sensor
Specification: http://www.phidgets.com/products.php?category=19&product_id=1058
Source File: phsensor.cpp
Example: phsensor_client.cpp
Published Topics
The default topic is
phidgets/phsensor <
phsensor_params>
This can also be altered by specifying
topic_path,
name and
serial_number as parameters.
Launch Parameters
topic_path (str, default: "phidgets/")
This sets the topic path for the device
name (str, default: "phsensor")
An optional name for the device. The complete topic is given as the topic path plus the name.
serial_number (int, default: -1)
The serial number for the device. A value of -1 indicates that any serial number is acceptable. Use this with caution as there is no guarantee of which device gets connected if there is more than one device connected.
RFID
Specification: http://www.phidgets.com/products.php?category=14&product_id=1023
Source File: rfid.cpp
Example: rfid_client.cpp
Published Topics
The default topic is
phidgets/rfid <
rfid_params>
This can also be altered by specifying
topic_path,
name and
serial_number as parameters.
Launch Parameters
topic_path (str, default: "phidgets/")
This sets the topic path for the device
name (str, default: "rfid")
An optional name for the device. The complete topic is given as the topic path plus the name.
serial_number (int, default: -1)
The serial number for the device. A value of -1 indicates that any serial number is acceptable. Use this with caution as there is no guarantee of which device gets connected if there is more than one device connected.
Spatial
Specification: http://www.phidgets.com/products.php?category=5&product_id=1056
Source File: spatial.cpp
Example: spatial_client.cpp
Published Topics
The default topic is:
phidgets/spatial <
spatial_params>
This can also be altered by specifying
topic_path,
name and
serial_number as parameters.
Launch Parameters
topic_path (str, default: "phidgets/")
This sets the topic path for the device
name (str, default: "spatial")
An optional name for the device. The complete topic is given as the topic path plus the name.
serial_number (int, default: -1)
The serial number for the device. A value of -1 indicates that any serial number is acceptable. Use this with caution as there is no guarantee of which device gets connected if there is more than one device connected.
Stepper Controller
Specification: http://www.phidgets.com/products.php?category=13&product_id=1062
Source File: stepper.cpp
Example: stepper_client.cpp
Published Topics
The default topic is
phidgets/stepper <
stepper_params>
This can also be altered by specifying
topic_path,
name and
serial_number as parameters.
Launch Parameters
topic_path (str, default: "phidgets/")
This sets the topic path for the device
name (str, default: "stepper")
An optional name for the device. The complete topic is given as the topic path plus the name.
serial_number (int, default: -1)
The serial number for the device. A value of -1 indicates that any serial number is acceptable. Use this with caution as there is no guarantee of which device gets connected if there is more than one device connected.
Service Format
Commands are sent to the stepper motors in the following format:
int32 index
Index number of the motor.
bool engage
Whether to engage/energise the motor.
float32 velocity
Reference velocity for the motor.
float32 acceleration
Reference acceleration for the motor.
int64 position
Reference position for the motor.
bool reset_position
Resets the position count.
Text LCD Display
Specification:
http://www.phidgets.com/products.php?category=15&product_id=1203
Source File: textlcd.cpp
Example: textlcd_client.cpp
Published Topics
The default topic is
phidgets/textlcd <
textlcd_params>
This can also be altered by specifying
topic_path,
name and
serial_number as parameters.
Launch Parameters
topic_path (str, default: "phidgets/")
This sets the topic path for the device
name (str, default: "textlcd")
An optional name for the device. The complete topic is given as the topic path plus the name.
serial_number (int, default: -1)
The serial number for the device. A value of -1 indicates that any serial number is acceptable. Use this with caution as there is no guarantee of which device gets connected if there is more than one device connected.
Odometry
Source File: odometry.cpp
This uses the Phidgets
high speed encoder devices to create an odometry frame for a two wheel/track differential drive system.
Published Topics
The default topic is:
odom <
nav_msgs::Odometry>
This can also be altered using the
name parameter.
Launch Parameters
name (str, default: "odom")
Published topic name.
encodername (str, default: "encoder")
Name of the encoders.
topic_path (str, default: "phidgets/")
This sets the topic path for the encoder devices.
serialleft (int)
Serial number of the left encoder.
serialright (int)
Serial number of the right encoder.
encoderindexleft (int, default: -1)
If the Phidget device has two or more encoders this specifies the index of the left encoder.
encoderindexright (int, default: -1)
If the Phidget device has two or more encoders this specifies the index of the right encoder.
base_link (str, default: "base_link")
Base frame.
frame_id (str, default: "odom")
Odometry frame.
wheelbase (int, default: 400)
The distance between wheels in millimetres.
countspermmleft (int, default: 1000)
The number of encoder counts per millimetre of travel for the left wheel.
countspermmright (int, default: 1000)
The number of encoder counts per millimetre of travel for the right wheel.
verbose (bool)
Whether to report additional debugging information.
Example launch file
<!--
Launcher for differential drive wheel odometry.
Change the encoder serial numbers as needed. The serial numbers can be viewed by running:
rosrun phidgets manager
This requires:
2 x Phidgets
high speed encoder
A known number of encoder counts per millimetre of travel for each wheel
-->
<launch>
<!-- Machine settings. See
http://www.ros.org/wiki/roslaunch/XML/machine -->
<machine name="local_alt" address="localhost" default="true" />
<!-- phidgets high speed encoders -->
<node pkg="phidgets" type="high_speed_encoder" name="encoder_left" respawn="true">
<!-- phidget device serial number for the left encoder -->
<param name="serial_number" value="52980" />
</node>
<node pkg="phidgets" type="high_speed_encoder" name="encoder_right" respawn="true">
<!-- phidget device serial number for the right encoder -->
<param name="serial_number" value="54104" />
</node>
<!-- odometry -->
<node pkg="phidgets" type="odometry" name="odometry" respawn="true" output="screen">
<!-- phidget device serial numbers for the left and right encoders -->
<param name="serialleft" value="52980" />
<param name="serialright" value="54104" />
<!-- separation between the two wheels in millimetres -->
<param name="wheelbase" value="400" />
<!-- number of encoder counts per millimetre for the left wheel -->
<param name="countspermmleft" value="100" />
<!-- number of encoder counts per millimetre for the right wheel -->
<param name="countspermmright" value="100" />
<!-- whether to show additional info -->
<param name="verbose" value="true" />
</node>
</launch>
Joystick
Specification: http://www.phidgets.com/products.php?category=7&product_id=1113
Source File: joystick.cpp
This is a virtual device, which uses the Mini Joystick Sensor (or any other similar device) and a Phidgets
interface kit.
The joystick is disabled by default, but can be enabled by setting the
joystick/enable parameter to true.
Published Topics
The default topic is:
phidgets/joystick <
joystick_params>
This can also be altered using the
topic_path and
name parameters.
Launch Parameters
topic_path (str, default: "phidgets/")
This sets the topic path for the device
name (str, default: "joystick")
An optional name for the device. The complete topic is given as the topic path plus the name.
interfacekitname (str, default: "interface_kit")
An optional name for the
interface kit. The complete topic of the
interface kit is given as the topic path plus this name.
horizontalaxis (int, default: 1)
Index number of the analogue input used for the horizontal (sideways) joystick axis.
verticalaxis (int, default: 2)
Index number of the analogue input used for the vertical (forwards) joystick axis.
horizontaldirection (int, default: 1)
Defines whether the signal from the horizontal (sideways) joystick axis should be reversed. To reverse the direction set this value to -1.
verticaldirection (int, default: 1)
Defines whether the signal from the vertical (forward) joystick axis should be reversed. To reverse the direction set this value to -1.
buttoninput (int, default: -1)
If not set to -1 this specifies the index number of the digital input on the
interface kit to be used as the joystick button.
Joystick Motor Control
Source File: joystick_motor_control.cpp
This is a virtual device, which uses the Mini
Joystick Sensor, Phidgets
interface kit and
motor control HC devices in order to enable
joystick control of a two wheel/track differential drive system.
This can be enabled or disabled by setting the
joystick/enable_motor_control parameter.
Published Topics
The default topic is:
cmd_vel <
geometry_msgs::Twist>
This can be altered by setting the
name parameter.
Launch Parameters
topic_path (str, default: "phidgets/")
This sets the topic path for the Phidgets devices
name (str, default: "cmd_vel")
Topic name of the velocity command to be published.
joystickname (str, default: "joystick")
An optional name for the
joystick virtual device.
motorcontrolname (str, default: "motorcontrol")
An optional name for the
motor control HC device.
interfacekitname (str, default: "interface_kit")
An optional name for the
interface kit. The complete topic of the
interface kit is given as the topic path plus this name.
startbutton (int, default: -1)
If not set to -1 this specifies the index of a digital input on the
interface kit to be used to start
joystick control of the motors.
stopbutton (int, default: -1)
If not set to -1 this specifies the index of a digital input on the
interface kit to be used to stop
joystick control of the motors.
enablesound (str, default: "Joystick control enabled")
Some text to be spoken via text-to-speech when
joystick motor control is initially enabled.
startbuttonsound (str, default: "Started")
Some text to be spoken via text-to-speech when
joystick motor control is started by pressing the start button.
stopbuttonsound (str, default: "Stopped")
Some text to be spoken via text-to-speech when
joystick motor control is stopped by pressing the stop button.
speed (float, default: 20)
Speed value sent to the motors.
acceleration (float, default: 20)
Acceleration value sent to the motors.
deadband (float, default: 0.1)
Joystick deadband in the range 0-1. This helps to prevent continual speed changes being made if the
joystick moves by some small amount.
Example launch file
<!--
Launcher for
joystick control of two motors.
This requires:
Phidgets
motor control HC
Phidgets 8/8/8
interface kit
Analog
joystick connected to sensors 1 and 2 on the
interface kit
Start and stop buttons (normally off momentary switch) connected to digital inputs 0 and 1
-->
<launch>
<!-- Machine settings. See
http://www.ros.org/wiki/roslaunch/XML/machine -->
<machine name="local_alt" address="localhost" default="true" />
<!-- phidgets
motor control HC -->
<node pkg="phidgets" type="motor_control_hc" name="motor_control_hc" respawn="true">
<!-- phidget device serial number -->
<param name="serial_number" value="-1" />
</node>
<!-- phidgets 8/8/8
interface kit -->
<node pkg="phidgets" type="interface_kit" name="interface_kit" respawn="true">
<!-- phidget device serial number -->
<param name="serial_number" value="-1" />
</node>
<!-- virtual
joystick -->
<node pkg="phidgets" type="
joystick" name="
joystick" respawn="true">
<!--
interface kit sensor index for the horizontal
joystick axis -->
<param name="horizontalaxis" value="1" />
<!--
interface kit sensor index for the vertical
joystick axis -->
<param name="verticalaxis" value="2" />
<!-- direction of the horizontal
joystick axis (1 or -1) -->
<param name="horizontaldirection" value="1" />
<!-- direction of the horizontal
joystick axis (1 or -1) -->
<param name="verticaldirection" value="1" />
</node>
<!-- speech synthesis -->
<node name="talker" pkg="sound_play" type="soundplay_node.py" />
<!--
joystick control -->
<node pkg="phidgets" type="
joystick_motor_control" name="
joystick_motor_control" respawn="true">
<!-- whether
joystick control is enabled by default or waits to be enabled by some other system -->
<param name="enable" value="true" />
<!-- maximum speed value sent to the motor controller -->
<param name="speed" value="30" />
<!-- start button index of the digital input on the
interface kit -->
<param name="startbutton" value="0" />
<!-- stop button index of the digital input on the
interface kit -->
<param name="stopbutton" value="1" />
</node>
</launch>
Joystick Servo Control
Source File: joystick_servo_control.cpp
This is a virtual device, which uses the Mini
Joystick Sensor, Phidgets
interface kit and
advanced servo controller devices in order to enable
joystick control of a pair of servos.
This can be enabled or disabled by setting the
joystick/enable_servo_control parameter.
Launch Parameters
topic_path (str, default: "phidgets/")
This sets the topic path for the Phidgets devices
joystickname (str, default: "joystick")
An optional name for the
joystick virtual device.
servocontrolname (str, default: "servos")
An optional name for the
advanced servo controller device.
servoreference (str, default: "servo_reference")
Service used to set servo positions.
servoindex0 (int, default 0)
Index number of the servo which will be controlled by the horizontal (sideways)
joystick axis.
servoindex1 (int, default 1)
Index number of the servo which will be controlled by the vertical (forward)
joystick axis.
speed (float, default: 20)
Speed value sent to the servos.
acceleration (float, default: 50)
Acceleration value sent to the servos.
deadband (float, default: 0.01)
Joystick deadband in the range 0-1. This helps to prevent continual servo position changes being made if the
joystick moves by some small amount.
Servo Glimpse
Source File: servo_glimpse.cpp
This is a virtual device, which uses the Phidgets
advanced servo controller device to control pan and tilt axes and capture multiple views using a stereo camera or other ranging device.
Launch Parameters
topic_path (str, default: "phidgets/")
This sets the topic path for Phidgets device topics.
glimpsecommand (str, default: "")
The command to be run at each pan/tilt position.
finalcommand (str, default: "")
A final command to be run after all pan/tilt positions have been visited.
glimpsecommans2 (str, default: "")
An optional secondary command to be run at each pan/tilt position.
finalcommand2 (str, default: "")
An optional secondary final command to be run after all pan/tilt positions have been visited.
outputdirectory (str, default: "")
A directory where output files or images will be saved.
forward (int, default: 0)
Foward position of the ranging device from the centre of the pan axis. Typically this is in millimetres.
vertical (int, default: 0)
Vertical position of the ranging device from the centre of the pan axis. Typically this is in millimetres.
baseline (int, default: 120)
If a stereo camera is being used this value gives the baseline distance in millimetres.
speed (float, default: 20)
Speed value sent to the servo controller.
acceleration (float, default: 50)
Acceleration value sent to the servo controller
servo0pos0 (float)
Calibration starting pan position in servo coordinates.
servo0angle0 (float)
Calibration starting pan angle in degrees.
servo0pos1 (float)
Calibration ending pan position in servo coordinates.
servo0angle1 (float)
Calibration ending pan angle in degrees.
servo1pos0 (float)
Calibration starting tilt position in servo coordinates.
servo1angle0 (float)
Calibration starting tilt angle in degrees.
servo1pos1 (float)
Calibration ending tilt position in servo coordinates.
servo1angle1 (float)
Calibration ending tilt angle in degrees.
servoindex0 (int, default: 0)
Index number of the pan axis servo.
servoindex1 (int, default: 1)
Index number of the tilt axis servo.
minpanangle (float)
The starting pan angle for the glimpse in degrees.
maxpanangle (float)
The ending pan angle for the glimpse in degrees.
mintiltangle (float)
The starting tilt angle for the glimpse in degrees.
maxtiltangle (float)
The ending tilt angle for the glimpse in degrees.
pansteps (int, default: 3)
The number of pan steps to take between the minimum and maximum pan angles.
tiltsteps (int, default: 3)
The number of tilt steps to take between the minimum and maximum tilt angles.
glimpsetime (int, default: 2)
The time to dwell at each pan/tilt position in seconds.
servoreference (str, default: "servo_reference")
Service used by the
advanced servo controller to set servo positions.
servocontrollername (str, default: "servos")
Topic published by the
advanced servo controller.
Example launch file
<!--
Launcher for servo glimpse
This requires:
Phidgets
advanced servo controller
Pan servo connected to servo 0
Tilt servo connected to servo 1
v4l2stereo and pcloud utilities installed
Stereo camera
-->
<launch>
<!-- Machine settings. See
http://www.ros.org/wiki/roslaunch/XML/machine -->
<machine name="local_alt" address="localhost" default="true" />
<!-- phidgets
advanced servo controller -->
<node pkg="phidgets" type="advanced_servo" name="advanced_servo" respawn="true">
<!-- phidget device serial number -->
<param name="serial_number" value="-1" />
</node>
<!-- glimpse -->
<node pkg="phidgets" type="servo_glimpse" name="servo_glimpse" respawn="false" output="screen">
<!-- -->
<param name="enable" value="true" />
<!-- Speed of movement -->
<param name="speed" value="80" />
<!-- Acceleration of movement -->
<param name="acceleration" value="80" />
<!-- Deadband -->
<param name="deadband" value="0.1" />
<!-- Pan servo index -->
<param name="servoindex0" value="0" />
<!-- Tilt servo index -->
<param name="servoindex1" value="1" />
<!-- Pan servo position 0 -->
<param name="servo0pos0" value="180" />
<!-- Pan servo angle 0 (degrees) -->
<param name="servo0angle0" value="-50" />
<!-- Pan servo position 1 -->
<param name="servo0pos1" value="74" />
<!-- Pan servo angle 1 (degrees) -->
<param name="servo0angle1" value="50" />
<!-- Tilt servo position 0 -->
<param name="servo1pos0" value="127" />
<!-- Tilt servo angle 0 (degrees) -->
<param name="servo1angle0" value="0" />
<!-- Tilt servo position 1 -->
<param name="servo1pos1" value="180" />
<!-- Tilt servo angle 1 (degrees) -->
<param name="servo1angle1" value="35" />
<!-- Tilt servo rear camera position 0 -->
<param name="servo2pos0" value="127" />
<!-- Tilt servo rear camera angle 0 (degrees) -->
<param name="servo2angle0" value="0" />
<!-- Tilt servo rear camera position 1 -->
<param name="servo2pos1" value="180" />
<!-- Tilt servo rear camera angle 1 (degrees) -->
<param name="servo2angle1" value="35" />
<!-- Minimum pan angle (degrees) -->
<param name="minpanangle" value="-45" />
<!-- Maximum pan angle (degrees) -->
<param name="maxpanangle" value="45" />
<!-- Minimum tilt angle (degrees) -->
<param name="mintiltangle" value="0" />
<!-- Maximum tilt angle (degrees) -->
<param name="maxtiltangle" value="35" />
<!-- Pan Steps -->
<param name="pansteps" value="3" />
<!-- Tilt Steps -->
<param name="tiltsteps" value="2" />
<!-- Forward translation of the camera relative to the pan servo centre in millimetres -->
<param name="forward" value="90" />
<!-- vertical translation of the camera relative to the pan servo centre in millimetres -->
<param name="vertical" value="0" />
<!-- Glimpse time in seconds -->
<param name="glimpsetime" value="3" />
<!-- Directory to save files to -->
<param name="outputdirectory" value="/home/motters/develop/phidgets/glimpse/" />
<!-- Command to run for each position -->
<param name="glimpsecommand" value="v4l2stereo --dev0
/dev/video2 --dev1
/dev/video1 --flipleft --vcamera --equal --calibrationfile
/home/motters/develop/libv4l2cam/v4l2stereo/calibration. --poserotation '%d %d 0' --posetranslation '%d %d %d' --pointcloud %sgl%d.dat" />
<!-- If there is a second rearward pointing camera this command will be run for each position -->
<param name="glimpsecommand2" value="" />
<!-- Command to run after all glimpses -->
<param name="finalcommand" value="pcloud -f %s --savex3d %sglimpse.x3d" />
<!-- If there is a second rearward pointing camera this command will be run after all glimpses -->
<param name="finalcommand2" value="" />
</node>
</launch>
accelerometer_params
Header header
Message header
float64[] acceleration
Acceleration value for each axis of motion.
float64[] orientation
Tilt and toll angles in degrees.
time[] stamp
Timestamp for the last measurement taken for each axis of motion.
encoder_params
Header header
Message header.
int32 index
Index number of the encoder.
int32 count
Returned count from the encoder.
int32 count_change
Change in encoder count between this and the previous value.
int32 time
Time when the encoder count was taken.
interface_kit_params
Header header
int32 index
int32 value_type
int32 value
ir_params
Header header
int32[] code
int32[] data
byte bitcount
int32[] head
int32[] zero
int32[] one
int32 trail
int32 gap
int32[] repeat
int32 duty_cycle
int32 carrier_frequency
joystick_params
Header header
Message header.
float32[] axes
Positions of the horizontal and vertical
joystick axes in the range -1 to 1.
int32[] buttons
States of
joystick buttons (0 or 1).
led_params
Header header
Message header.
byte[] brightness
Brightness value for each
LED, in the range 0-100.
motor_params
Header header
Message header.
int32 index
Index number of the motor (0 or 1).
int32 value_type
Type of value.
1 = Motor inputs
2 = Velocity
3 = Current
float32 value
Value returned.
phsensor_params
Header header
Message header.
float32 value
Returned PH value.
float32 potential
Returned potential value.
rfid_params
Header header
Message header.
bool gained
Whether the
RFID has been gained (read) or lost.
string tag
The returned
RFID tag.
servo_params
Header header
Message header.
int32 index
Index number of the servo.
bool engage
Whether the servo is engaged/energised.
float32 position
Returned position of the servo.
float32 speed
Returned speed of the servo.
float32 acceleration
Returned acceleration of the servo.
spatial_params
Header header
Message header
float64[] acceleration
Returned linear acceleration values for each axis of motion.
float64[] orientation
Tilt and roll angle in degrees.
float64[] angular
Returned angular position values for each axis of motion in degrees.
float64[] magnetic
Returned magnetic (compass) parameters.
float64[] timestamp
Timestamp value for each measurement in seconds.
stepper_params
Header header
Message header.
int32 index
Index number of the motor.
int64 position
Position in steps.
textlcd_params
Header header
Message header.
string[] row
Two rows of text to be displayed.
byte contrast
Sets the contrast.
bool cursor
Enables the cursor.
bool blink
Enables cursor blinking.


DISCAIMER: AVRHID is provided free of charge with NO WARRANTY. You use it at your own risk. Licensing terms are stated at the beginning of each source file.
This program implements USB HID devices (mouse, keyboard and joystick). The target is the Atmega32u4 MCU used in the Arduino Leonardo and Micro boards. At present the following devices are implemented:
keyboard with 101 keys including 8 modifier keys mouse with three buttons and a wheel joystick with 16 buttons, X and Y axis, throttle and rudder controls and an 8-position HAT switch
The code is supposed to be compiled by the avr-gcc compiler suite. There is a Makefile for building the program from the command line. I have tested the build process only under Linux (Xubuntu 64-bit 16.04). In principle it should work under other operating systems as well provided that the avr-gcc toolchain is installed.
This program is for serious developers who prefer the traditional way of
making software and don't want to use the simplistic Arduino IDE made for
beginners. A nice tutorial by Ashley Mills about the use of C/C++ (avr-gcc)
for AVR programming can be found at the following WEB site:
https://www.ashleymills.com/node/327
I have put together this package because I noticed that it is quite difficult to find simple and easy to understand C code that would implement the HID devices keyboard, mouse and joystick on Atmega MCUs. Good quality joystick implementations are especially rare. You can find a lot of code on the WEB for implementing a USB joystick but most of it is IMHO garbage. These are usually perfunctorily stiched together packages using code from several different sources and contain lots of unneeded code that makes the whole stuff difficult to understand. In most cases documentation is non-existent or very sketchy. And some of these packages simply don't work at all (cannot be compiled or run).
HID devices are implemented in the Arduino and Teensyduino IDEs but if
you want to do traditional programmming by using the avr-gcc you are out of
luck. People on forums suggest to use the LUFA library. Well, it does work
but IMHO it is far from being simple (concerning either code or usage)
regardless of claims to the contrary made on different forums.
Keyboard and mouse code are based on the following two code packages
from the PJRC.COM company:
Keyboard example for the Teensy USB Development Board
Mouse example with debug channel for Teensy USB Development Board
HID report descriptor examples for joysticks were taken from code I have
downloaded from the following site:
https://github.com/Cryocrat/LeonardoJoystick
I got two files (HID.cpp and USBAPI.h) to which joystick code was added
by Peter Barrett and extracted the joystick descriptor to use in my HID
code.
You can configure the program for different boards and HID devices.
Board type
At present two Arduino boards are supported: Leonardo and Micro. Set
BOARD_TYPE in the Makefile to the desired value by uncommenting the
appropriate statement. Configuring the board type will automatically
set the product ID of the HID device to the correct value.
HID device type
You may specify one of the HID types HID_MOUSE, HID_KEYBOARD or HID_JOYSTICK
by uncommenting the appropriate statement in the Makefile. Please note that
only one type may be defined. Consequently any compiled instance of the
program supports exactly one HID type depending on the setting of this
value. Composite USB devices (e.g. mouse + keyboard) cannot be handled by
this program.
If you need a custom joystick with a different number of buttons, controls and axis you have to modify two source files: hid_joy.c and hid_joy.h.
In hid_joy.c you should edit the HID report descriptor structure to correspond to the number of controls (buttons, axis, etc.) you want to implement. You should also modify the function copy_report_to_buf so that it correctly copies the actual values from joy_state to the hardware USB buffer of the MCU.
In hid_joy.h you should set the constant HID_REPORT_SIZE to the new size of the structure you edited in hid_joy.c. The joy_state_t structure must also be modified so that it corresponds to your new setup.
You should also revise the test program dev_joy.c for possible code changes.
Note:
1. Similar modifications should be made to the hid_kbd or hid_mou
source files if you want to implement a different keyboard or mouse device.
2. The maximum size of report that can be copied to the hardware buffer
(i.e. the number of bytes sent, NOT the size of the HID report descriptor)
is 8 bytes for a keyboard or a mouse and 64 bytes for a joystick. Please
do not exceed these limits!
 You should get it from the software repository of your distribution.
In a terminal navigate to the directory where the Makefile of the program is located and run the command make. If everything is OK the program is created in the subdirectory build. The name of the program will be usb_keyboard.hex, usb_mouse.hex or usb_joystick.hex depending on your device setting.
Three other make targets are available:
make clean --> removes all files created by the build process except the dependency files make xclean -> removes all files created by the build process make blink --> builds the minimal LED blinking program 'blink'
blink.hex can be used to reset the board to its factory state
(i.e. loaded with a a blink sketch and USB connection activated).
Connect your board to an USB port. Open a terminal and navigate to the directory where the Makefile is located. Start the burning script:
./burnhex image-namewhere image-name is the name of the HEX file created by the build process (in the subdirectory build) w/o the .hex extension.
After the script starts you have to press the reset button of the board and then immediately press ENTER (these instructions are displayed on the screen).
You can start your burned program by disconnecting the board and connecting it again.
Notes:
1. You have to specify in the burnhex script the serial port to which the board connects when it is reset. Currently it is set to /dev/ttyACM0. You can find the name of the port in the following way:
- Connect the board to an USB port - In a terminal run tail -f /var/log/syslog - Press the reset button on the board - tail will display a couple of new lines about a new USB device - In the text printed by tail find the name of the port used (mine was /dev/ttyACM0 but it may be different on your machine) - Edit the file burnhex to set the variable port to this value
2. You should have python and python-serial installed because the burnhex script uses the python script reset_board.py to set up the board for programming (see the content of the script if you want to know what is done).
3. The subdirectory bin contains the avrdude programmer
utility and its configuration file. That's all you need to burn a HEX image.
This is a 64-bit Linux program (from Ubuntu). If you run a 32-bit Linux
you have to get the 32-bit version of avrdude. Then you can either replace
the file avrdude in bin or modify the variables conf
and burn in the burnhex script to point to the newly installed
program and config files.
1. Try building the program under Windows 7/8 using winavr (the main hurdle here will be finding out which COM port the board uses when it is reset for programming)
2. Extend the set of boards usable with the program. This could include the Teensy2 and Teensy3 as well as Arduino boards that have an MCU with built-in USB support similar to the Atmega32u4.


Now in movie
The Mandalorian
this is a very cute movie about the secret life of your pets and everything they can do when you are not at home with them
The Secret life of pets
this is a very cute movie about the secret life of your pets and everything they can do when you are not at home with them
The Secret life of pets
this is a very cute movie about the secret life of your pets and everything they can do when you are not at home with them
The Secret life of pets
this is a very cute movie about the secret life of your pets and everything they can do when you are not at home with them
Do not miss
The Secret life of pets
this is a very cute movie about the secret life of your pets and everything they can do when you are not at home with them
The Secret life of pets
this is a very cute movie about the secret life of your pets and everything they can do when you are not at home with them
The Secret life of pets
this is a very cute movie about the secret life of your pets and everything they can do when you are not at home with them
The Secret life of pets
this is a very cute movie about the secret life of your pets and everything they can do when you are not at home with them
More see
The Secret life of pets
this is a very cute movie about the secret life of your pets and everything they can do when you are not at home with them
The Secret life of pets
this is a very cute movie about the secret life of your pets and everything they can do when you are not at home with them
The Secret life of pets
this is a very cute movie about the secret life of your pets and everything they can do when you are not at home with them
The Secret life of pets
this is a very cute movie about the secret life of your pets and everything they can do when you are not at home with them


-
Next generation portal for federated testbeds MySlice v2: from prototype to production
Baron, Loı̈c,
Klacza, Radomir,
Gaudet-Chardonnet, Pauline,
Bradai, Amira,
Scognamiglio, Ciro,
and Fdida, Serge
arXiv preprint arXiv:1806.04467
2018
-
F-Interop Platform and Tools: Validating IoT Implementations Faster
Palattella, Maria Rita,
Sismondi, Federico,
Chang, Tengfei,
Baron, Loic,
Vučinić, Mališa,
Modernell, Pablo,
Vilajosana, Xavier,
and Watteyne, Thomas
In International Conference on Ad-Hoc Networks and Wireless
2018
-
Describing the Essential Ingredients for an Open, General-Purpose, Shared and Both Large-Scale and Sustainable Experimental Facility (OpenLab)
Niavis, Harris,
Korakis, Thanasis,
Fdida, Serge,
and Baron, Loic
2017
-
Federated Experimentation Infrastructure Interconnecting Sites from Both Europe and South Korea (SmartFIRE)
Choumas, Kostas,
Korakis, Thanasis,
Ordiz, Jordi,
Skarmeta, Antonio,
Martinez-Julia, Pedro,
You, Taewan,
Baron, Loic,
Fdida, Serge,
Seok, Woojin,
Lee, Minsun,
and others,
2017
-
On-demand deployment of IoT over IPv6 Infrastructure as a service for IEEE INFOCOM community
Baron, Loı̈c,
Klacza, Radomir,
Rahman, Mohammed Yasin,
Scognamiglio, Ciro,
Friedman, Timur,
Fdida, Serge,
and Saint-Marcel, F OneLab
In Proceedings of the IEEE Infocom
2016
-
D6. 6–Report on third cycle development regarding measuring and monitoring
TUB, Yahya Al-Hazmi,
TUB, Alexander Willner,
Wauters, Tim,
Mehani, Olivier,
Rakotoarivelo, Thierry,
UTH, Donatos Stavropoulos,
Baron, Loı̈c,
Smirnov, Reviewers Mikhail,
and Bermudo, Carlos
2016
-
OneLab: Major computer networking testbeds open to the IEEE INFOCOM community
Baron, Loic,
Scognamiglio, Ciro,
Rahman, Mohammed Yasin,
Klacza, Radomir,
Cicalese, Danilo,
Kurose, Nina,
Friedman, Timur,
and Fdida, Serge
In 2015 IEEE Conference on Computer Communications Workshops (INFOCOM WKSHPS)
2015
-
OneLab: Major Computer Networking Testbeds for IoT and Wireless Experimentation
Baron, Loı̈c,
Boubekeur, Fadwa,
Klacza, Radomir,
Rahman, Mohammed Yasin,
Scognamiglio, Ciro,
Kurose, Nina,
Friedman, Timur,
and Fdida, Serge
In Proceedings of the 21st Annual International Conference on Mobile Computing and Networking
2015
-
Enabling SDN Experimentation with Wired and Wireless Resources: The SmartFIRE facility
Choumas, Kostas,
Korakis, Thanasis,
Lee, Hyunwoo,
Kim, Donghyun,
Suh, Junho,
Kwon, Ted “Taekyoung”,
Martinez-Julia, Pedro,
Skarmeta, Antonio,
You, Taewan,
Baron, Loic,
and others,
2015
-
Onelab tutorial: A single portal to heterogeneous testbeds
Baron, Loı̈c,
Klacza, Radomir,
Kurose, Nina,
Rahman, Mohamed Yasin,
Scognamiglio, Ciro,
Friedman, Timur,
Fdida, Serge,
and Saint-Marcel, Frederic
In TridentCom 2015
2015
-
D5-4–Detailed specifications for third cycle ready
Smirnov, Mikhail,
Schreiner, Florian,
TUB, Alexander Willner,
Papagianni, Chrysa,
Leivadeas, Aris,
Eirini, Tsiropoulou,
UTH, Donatos Stavropoulos,
Ostermann, Elena Garrido,
Lloreda, Javier Garcı́a,
Bermudo, Carlos,
and others,
2015
-
D6. 5–Report on second cycle development regarding measuring and monitoring
TUB, Yahya Al-Hazmi,
Vermeulen, Brecht,
UTH, Donatos Stavropoulos,
Wauters, Tim,
Baron, Loı̈c,
UTH, Aris Dadoukis,
TUB, Daniel Nehls,
Mehani, Olivier,
Smirnov, Reviewers Mikhail,
and Bermudo, Carlos
2015
-
Tools to foster a global federation of testbeds
Auge, Jordan,
Parmentelat, Thierry,
Turro, Nicolas,
Avakian, Sandrine,
Baron, Loı̈c,
Larabi, Mohamed Amine,
Rahman, Mohammed Yasin,
Friedman, Timur,
and Fdida, Serge
Computer Networks
2014
-
FIBRE-an international testbed for future internet experimentation
Salmito, Tiago,
Ciuffo, Leandro,
Machado, Iara,
Salvador, Marcos,
Stanton, Michael,
Rodriguez, Noemi,
Abelem, Antonio,
Bergesio, Leonardo,
Sallent, Sebastià,
and Baron, Loı̈c
In Simpósio Brasileiro de Redes de Computadores e Sistemas Distribuı́dos-SBRC 2014
2014
-
D6. 2-Detailed specifications regarding monitoring and measurement for second cycle
TUB, Yahya Al-Hazmi,
Vandenberghe, Wim,
Rakotoarivelo, Thierry,
Dwertmann, Christoph,
Baron, Loı̈c,
TUB, Alexander Willner,
Rey, Pedro,
Androulidakis, Georgios,
Papagianni, Chrysa,
Vermeulen, Reviewers Brecht,
and others,
2014
-
Federation of Internet experimentation facilities: architecture and implementation
Wauters, Tim,
Vermeulen, Brecht,
Vandenberghe, Wim,
Demeester, Piet,
Taylor, Steve,
Baron, Loı̈c,
Smirnov, Mikhail,
Al-Hazmi, Yahya,
Willner, Alexander,
Sawyer, Mark,
and others,
In European Conference on Networks and Communications (EuCNC 2014)
2014
-
Detailed specifications for first cycle ready
Schreiner, Florian,
Vandenberghe, Wim,
Baron, Loı̈c,
Bermudo, Carlos,
Vico, Albert,
Stavropoulos, Donatos,
Larabi, Mohamed Amine,
Odizzio, Lucia Guevgeozian,
Quereilhac, Alina,
Rakotoarivelo, Thierry,
and others,
2013
-
Control plane extension-Status of the SFA deployment
Parmentelat, Thierry,
Auge, Jordan,
Baron, Loı̄c,
Larabi, Mohamed Amine,
Mouratidis, Nikos,
Niavis, Harris,
Rahman, Mohammed-Yasin,
Rakotoarivelo, Thierry,
Schreiner, Florian,
Stavropoulos, Donatos,
and others,
2013
-
D3. 1 Report on the federation requirements analysis and federation physical interconnection
Fdida, Serge,
Baron, Loı̈c,
Seok, Woojin,
Gómez, Antonio F Skarmeta,
UMU, Pedro Martinez-Julia,
Puype, Bart,
UTH, Kostas Choumas,
and UTH, Harris Niavis
2013


|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object edu.mit.csail.sdg.alloy4graph.GraphEdge
public final class GraphEdge
Mutable; represents a graphical edge.
Thread Safety: Can be called only by the AWT event thread.
| Field Summary | |
|---|---|
java.lang.Object |
group
a user-provided annotation that will be associated with this edge (all edges with same group will be highlighted together) |
java.lang.Object |
uuid
a user-provided annotation that will be associated with this edge (can be null) (need not be unique) |
| Constructor Summary | |
|---|---|
GraphEdge(GraphNode from,
GraphNode to,
java.lang.Object uuid,
java.lang.String label,
java.lang.Object group)
Construct an edge from "from" to "to", then add the edge to the graph. |
| Method Summary | |
|---|---|
GraphNode |
a()
Returns the "from" node. |
boolean |
ahead()
Returns true if we will draw an arrow head on the "from" node. |
GraphNode |
b()
Returns the "to" node. |
boolean |
bhead()
Returns true if we will draw an arrow head on the "to" node. |
java.awt.Color |
color()
Returns the line color; never null. |
int |
getLabelH()
Return the height of the label box. |
int |
getLabelW()
Return the width of the label box. |
int |
getLabelX()
Return the X coordinate of the top-left corner of the label box. |
int |
getLabelY()
Return the Y coordinate of the top-left corner of the label box. |
java.lang.String |
label()
Returns the label on this edge. |
GraphEdge |
set(boolean from,
boolean to)
Sets whether we will draw an arrow head on the "from" node, and whether we will draw an arrow head on the "to" node. |
GraphEdge |
set(java.awt.Color color)
Sets the line color. |
GraphEdge |
set(DotStyle style)
Sets the line style. |
GraphEdge |
set(int weightBetween1And10000)
Sets the edge weight between 1 and 10000. |
DotStyle |
style()
Returns the line style; never null. |
java.lang.String |
toString()
Returns a DOT representation of this edge (or "" if the start node is a dummy node) |
int |
weight()
Returns the edge weight (which is always between 1 and 10000 inclusively). |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
public final java.lang.Object uuid
public final java.lang.Object group
| Constructor Detail |
|---|
public GraphEdge(GraphNode from, GraphNode to, java.lang.Object uuid, java.lang.String label, java.lang.Object group)
| Method Detail |
|---|
public GraphNode a()
public GraphNode b()
public int getLabelX()
public int getLabelY()
public int getLabelW()
public int getLabelH()
public int weight()
public DotStyle style()
public java.awt.Color color()
public boolean ahead()
public boolean bhead()
public java.lang.String label()
public GraphEdge set(int weightBetween1And10000)
public GraphEdge set(boolean from, boolean to)
public GraphEdge set(DotStyle style)
public GraphEdge set(java.awt.Color color)
public java.lang.String toString()
toString
in class java.lang.Object
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


glTF Viewer and asset compression¶
Compressonator GUI application now supports glTF V2.0 file formats for viewing and processing. (Note: The CLI application does not support processing these files and will be updated in future revisions)
In order to use this feature the current V2.7 release requires DX12 compatable HW and Drivers as well as Win10 RS2 or later.
You can check if your system fulfills this requirement by running DirectX Diagnostic Tool (or dxdiag.exe) and refer to Win10 OS build 15063.xxx or later / Win 10 Version 1703 or later. Future releases will add support for OpenGL.
You can check by running windows dxdiag.exe on your system and check that it matches what is highlighted below.
To use this feature,
*Step 1*: simply open a model with .gltf extension or drag and drop the file from a file explorer to the GUI Projects Tree view panel as shown below. The following steps is using the sample glTF file (SciFiHelmet.gltf) downloaded from https://github.com/KhronosGroup/glTF-Sample-Models/tree/master/2.0/SciFiHelmet
Now that we have a .gltf source we can now add any number of new .gltf files to use for processing.
*Step 2*: Clicking on (>) shows additional setting
Double click on “Add gtTF destination settings” to allow copying the original file to a new file for further processing. A Destination Setting window will pop up as shown as below, this set up is used to preserve the original file settings and allow users to change only copies of it:
On this new settings dialog, you can change the default destination file name and folder then save
*Step 3*: The project tree will now display the copied gltf file. This copy still refers to the original sources images, cloud point data, meshes etc…
To view the 3D model simply click on the item or its icon, the 3D model view will show up in the viewer panel as shown below:
Note that the properties view has also been updated as shown above.
The 3D model view can be rotated and tilted by left mouse click and move on the view. To scale, use the mouse wheel in or out.
Note: By design all 3D views from any source are synced with mouse moves and scale. To reset the views back to origin, click on the right mouse button.
*Step 4*: Now that we have a copy of the original we are ready to change the source assets to use compression.
Clicking on (>) of the newly added glTF file to show additional setting. Double click on “Add Destination Settings.” To show the Destination Settings Dialog as shown below:
The Source drop down list will show all the files that are available for compression in the selected model.
Select the source file, then set its destination and compression settings.
Select save to mark the content of the gltf file “SciFiHelmet_1.gltf” to reference the new destination file.
(Note since we have not yet processed the new compression settings the contents of the copy have not been updated. It will only update when the settings have been processed without any errors.)
*Step 5*: You can repeat “Step 4” process of “Add Destination Settings for all or any number of the remaining texture files that are not previously selected. Note that the Source drop down list in the Destination Setting dialog will get smaller each time a file is selected for processing as we only allow one format to be selected for each texture within the glTF file. If you would like to try out different format on the specific texture, please repeat Step 2 to 4.
*Step 6*: Right click on the tree item to process the new settings
or select the process all icon on the tool bar.
*Step 7*: Once the process is complete and successful a new green icon will be displayed. At this point the SciFiHelmet_1.gltf file reference to the new destination file SciFiHelmet_BaseColor_PNG_BC7_1.dds file will be updated.
Vulkan® Viewer [ Alpha Code ] (Windows OS Only)¶
Allows viewing glTF files with textures. Currently features for “3d Model Diff” and “Stats” window are disabled.
glTF 3D Model Diff¶
To view a 3D model diff, select the model copy “SciFiHelmet_1.gltf” and right mouse click on it. A new menu will display showing “View 3DModel Diff”
Once selected and after a few seconds of processing time. You will see the 3D Model image diff rendering of the original 3D model “SciFiHelmet.gltf” and it’s Compressed Version “SciFiHelmet_1.gltf” alongside an animated render of both on the same view panel.
DirectX® 3D Model Diff View Modes¶
This feature allows the user to select a manual override of the automated difference view of two rendered models. The Auto View switches render frames at a predetermined rate after two render cycles of each model view, the Manual View allows the users to manually switch view using the keyboards space bar.
3D Mesh Optimization and/or Mesh Compression¶
Add 3D model file into Project Explorer by “Double click here to add files…” (recommended) or drag and drop into the Project Explorer. After that, click on the right arrow next to the model file added to expand the clickable “Add model destination settings…” view. Click on “Add model destination settings…” and click Save to add a resulted model file node as 2nd level of the Project Explorer tree view.
Note that you can add multiple 2nd level output node to the Project Explorer tree.
After that, expand the 2nd level output node (SciFiHelmet_1.gltf) by clicking on the right arrow next to the node and you will see the clickable “Add destination settings…”, click on “Add destination settings…”, Destination Option window will pop up and select a “Source” which are mesh (it will be a .bin file for glTF model and .obj file itself for obj model). The Destination Option window will be shown as below:
By default, “AutoOpt” is selected, which will perform the best optimization setting for the Model, you can override this setting by selecting “UserOpt” and set accordingly as described below.
Mesh Optimizer Settings for “UserOpt” selection¶
Optimize Vertex Cache¶
Optimize the cache utilization with LRU (least recently use) cache replacement policy.
Cache Size¶
Specifies the hardware vertex cache size for vertex cache optimization. This cache size refers to GPU built-in fixed size cache that store transformed vertices.
Optimize Vertex FIFO¶
Optimize the cache utilization with FIFO (first in first out) cache replacement policy.
FIFO Cache Size¶
Specifies the hardware vertex cache size for FIFO vertex cache optimization. This cache size refers to GPU built-in fixed size cache that store transformed vertices.
Optimize Overdraw¶
Reduce overdraw by reorder the triangles to render possible occludes first. Recommended to perform overdraw after vertex optimization if optimize vertex cache is checked. Overdraw optimization tries to maintain a balance with vertex cache optimization using the input ACMR Threshold.
ACMR Threshold¶
Average Cache Miss Ratio = #transformed vertices/#triangles (lower mean better vertex cache optimization). This is used for overdraw optimization process to make sure the overdraw optimization does not compromise vertex cache optimization. By default, it is set t0 1.05 (means resulting ratio at most 5% worse). Set to 3 to force overdraw optimization perform sorting on all triangles.
Optimize Vertex Fetch¶
Reduce overfetch from vertex buffer. This process will be performed after optimizing overdraw if optimize overdraw is enabled.
Simplify Mesh¶
Simplify the mesh by using 70% of the original index count and perform edge collapse algorithm using quadric and quadric error calculation. The target index count depends on the level of detail set by the user.
Level of Detail¶
Used in simplify mesh. Each level will use 70% of the index count on previous level. The higher the level, the less detail appear on the resulted mesh.
Mesh Compression Settings selection¶
As of v4.2 this option has been disabled.
When selected it will perform mesh compression using Draco encoder lib.
Click “Save” after completing the mesh optimizer and/or mesh compression settings. You will see a 3rd level destination settings node added to the Project Explorer as shown below:
Right click on the 3rd level destination settings node and select “Process <node name>” as shown below:
A green circle will appear beside the destination settings node after mesh optimization and/or compression completed.
Analyzing Mesh¶
Mesh analysis can be performed on the original model file as well as the resulted model file ( 1st and 2nd level items in the tree view of Project Explorer). Only .gltf and .obj files are supported for mesh analysis.
After adding the model file to the Project Explorer, right click on the file and select “Analyse Mesh Data” from the context menu:
A 3D Mesh Analysis window will pop up as shown below:
Analysis Vertex Cache¶
Vertex Cache Size¶
This is used to analyze vertex cache optimization. The vertex cache should be set to match mesh optimizer vertex cache size. Usually range between 16-32.
Warp Size (# of threads)¶
Number of threads per wave front group in GPU scheduling. 64 by default.
Primitive Buffer Size¶
Triangle group size. Default is set to 128.
Analysis Vertex Fetch¶
Cache Line Buffer Size(bytes)¶
This is the cache line buffer size which can be retrieved by running clinfo.exe in the window system. Default is set to 64.
Total Cache Buffer Size(bytes)¶
This is the total cache buffer size which can be retrieved by running clinfo.exe in the window system. Default is set to 128*1024.
Analysis Overdraw¶
Orthographic X and Y View Max Value¶
Overdraw statistic is calculated from different orthographic camera view start from 0. This set the maximum of X and Y viewport. Default is set to 256.
After done setting the desired mesh analysis settings, click “Run Mesh Analysis”, if you run mesh analysis from the source model file (1st level tree item), the window will be updated with text output as shown below:
If you run mesh analysis from the resulted model file (2nd level tree item), the window is updated with both resulted model file analysis result as well as the original model file analysis result as shown below:
This is essential for users to compare between original and processed model file mesh analysis.
Mesh Statistic¶
ACMR (Average Cache Miss Ratio)¶
ACMR = #transformed vertices/#triangles. The average number of cache miss per triangle is 0.5 in optimum case and 3.0 in worst case. Lower mean better vertex cache optimization.
ATVR (Average Transform Vertices Ratio)¶
ATVR = #transformed vertices / vertex count. The optimum case is 1.0, worst case is 6.0. Lower mean better vertex cache optimization.
Overdraw¶
Overdraw = #pixels shaded/total pixels covered. The best case is 1.0 (each pixel is shaded once)
Overfetch¶
Overfetch = #bytes read from vertex buffer/total # bytes in vertex buffer. The best case is 1.0 (each byte is fetched once)
Note: As mesh processing is model dependent. These mesh statistics shown in mesh analysis can be used as a guideline to produce better mesh using the Mesh Optimizer Settings.


Playing with Algebra
Variables:
X value:
Y value:
Z value:
Exponent (power):
Output:
x
2
+
y
2
*
z
2
=
???


Phishing with XSS
This lesson is an example of how a website might support a phishing attack
Below is an example of a standard search feature.
Using XSS and HTML insertion, your goal is to:
Below is an example of a standard search feature.
Using XSS and HTML insertion, your goal is to:
- Insert html to that requests credentials
- Add javascript to actually collect the credentials
- Post the credentials to http://localhost/webgoat/catcher?PROPERTY=yes...


{{template "header" . }} Welcome to {{.Settings.SiteFullName}}! We can learn Golang together here in {{.Settings.SiteFullName}}, Kindly Subscribe to my Youtube Channel to honor my work in each of my tutorial series. Thank you so much for your support!, May God Bless Us All, Thank you, and Bye-bye! Keep safe everyone! Subscribe Already have an account? Login here If you are not able to sign in, please contact us. {{template "footer" . }}
We can learn Golang together here in {{.Settings.SiteFullName}}, Kindly Subscribe to my Youtube Channel to honor my work in each of my tutorial series. Thank you so much for your support!, May God Bless Us All, Thank you, and Bye-bye! Keep safe everyone!
Already have an account? Login here


@*
* Copyright 2023 HM Revenue & Customs
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*@
@(params: uk.gov.hmrc.fsetemailrenderer.controllers.model.Params, title: String = "Email")(content: Html)
@title


WAYFINDER FLUX Cardholder, DAYBREAKER Billfold Wallet, and BORDERLESS Passport/Notebook Holder review
by Andy JacobsREVIEW – The wallet market has exploded in the past several years, with the available range of sizes, styles, features, and other features expanding at an incredible rate. Two wallet features in which I am most interested are minimalism and durability. With their TPU-coated polymer materials and minimalist aesthetic and design, Wayfinder has a handful of products that appeared to be promising candidates. Did they meet my criteria? Let’s find out! Gadget on!
What is it?
WAYFINDER is a Portland, Oregon based brand of modern and minimal performance built accessories “for those who live their lives in motion.” The products reviewed here are three styles of minimalist wallets.
What’s in the box?
The Wayfinder products arrived in a white bubble mailer with the “Wayfinder” logo printed in black on the outside. Inside, each of the wallets was enclosed in a very shiny, metallic silver, resealable, Ziploc-type bag, which actually make handy storage pouches for the wallets or other items.
The WAYFINDER items included in the shipment are listed below and shown in the image above:
- FLUX Cardholder
- DAYBREAK Billfold Wallet
- BORDERLESS Passport / Notebook Holder
- LET’S GO “Forest Bath” Notebook
Hardware specs
Each of the Wayfinder wallets is made from TPU coated polyester, a material that is waterproof, hydrophobic, resists stretching over time and is machine washable in cold water, and their shape includes rounded corners to minimize “x-ray” wear pattern on clothing. Additionally, for each item:
FLUX Cardholder
- Capacity of up to 8 cards / bills via 3 slots
- Dimensions: 2.65 x 4.35 x 1.69 inches (67 x 110 x 4.3 mm)
- Weight: 0.6 ounces (16 grams)
DAYBREAKER Billfold Wallet
- Capacity of around / up to 16 cards, multiple boarding passes, and multiple bills / currency from around the world.
- Dimensions closed: 3.46 x 4.45 x 0.28 inches (88 x 113 x 7.0 mm)
- Dimensions open: 3.46 x 8.90 x 0.13 inches (88 x 226 x 3.4 mm)
- Weight: 1.3 ounces (36 grams)
BORDERLESS Passport / Notebook Holder
- Capacity of 4-6 cards and passport or passport (B7) size notebook
- Dimensions closed: 5.51 x 3.85 x 0.28 inches (140 x 98 x 7.0 mm)
- Dimensions open: 5.51 x 7.95 x 0.09 inches (140 x 202 x 2.2 mm)
- Weight: 1.4 ounces (40 grams)
LET’S GO “Forest Bath” Notebook
- Dot-graph grid inner pages are suitable for writing or drawing.
- Pages are thick enough to write on with a fountain pen on both sides without bleeding and resist yellowing over time.
- Dimensions (inches): B7 / 4.92 x 3.54 x 0.14 inches (125 x 90 x 3.6 mm)
- Weight: 1.2 ounces (34 grams)
- Cover: 300g uncoated cover stock (black) with foil emboss (black)
- Inner cover: printed (white)
- Dot-graph grid: 0.185″ x 0.185″ (4.7mm x 4.7mm) (black)
- Inner: 30 sheets / 60 pages, 90gsm wood free paper (white)
- Saddle stitch binding (white)
Design and features
FLUX Cardholder
The FLUX Cardholder is WAYFINDER’s most minimalist wallet.
Each of the WAYFINDER wallets comes with a cardboard sleeve around its outside.
WAYFINDER’S products are designed in Portland, Oregon, USA, and manufactured in China.
The FLUX has a very subtle WAYFINDER logo debossed into its front pocket. Both its front and rear pockets have a slight cutout at the top to allow you to more easily access cards or cash placed in them. Additionally, I should mention that all of the seams on the FLUX (as well as the other wallets in this review) are 100% RF (Radio Frequency) welded/sealed. This is a process that involves bonding materials together through the use of high-frequency electromagnetic energy (radio waves), and is often performed on polymeric or plastic materials, such as the TPU coated polyester material from which each of these three WAYFINDER wallets is made.
The back of the FLUX is bare, devoid of any logos. Minimalism at its finest. Additionally, each of the WAYFINDER wallets reviewed here features rounded corners that not only keep you from getting poked when you handle them, but also cut down on the harsh “X-ray effect” of placing them in your pocket.
Despite being very slim and minimalist, WAYFINDER managed to fit three pockets into it, a front one, as seen above…
…a rear one…
…and a center one, shown above.
As seen in the photo above, the FLUX has an extremely thin profile when empty, just a few millimeters.
The FLUX has a small footprint which contributes to its function as an effective minimalist cardholder/wallet.
One feature of the FLUX that indicates to me that the WAYFINDER design team is on its game is these very subtle cutouts at ends of each of the front and rear pockets. These cutouts profile stress relief when placing items into the pockets, which, in addition to the very stretch-resistant TPU coated polyester material, helps keep the ends of the pockets from ripping. In the photo above, you can also see the RF welded/sealed seam along the FLUX’s outer edge.
In the photo above, I am showing items I typically carry in my EDC wallet: 6 cards and 4 bills (again, I tend to carry fairly minimalist).
The above and below photos show the FLUX with the items above placed into it. I placed three of the cards in the front pocket, three in the rear pocket, and the four bills in the center pocket, folded in half.
All of the cards fit perfectly into the front and rear pockets, though I don’t think there would have been room for more without overloading it.
As seen from above, even with the items I placed into the FLUX, it still remained quite slim.
I’d also add that the TPU-coated polyester material has a bit of texture to it, which both provides some grip and also feels tactile to the touch.
DAYBREAKER Billfold Wallet
The DAYBREAKER is WAYFINDER’s more traditional wallet, a bifold-style, billfold wallet.
Like the FLUX, the DAYBREAKER comes with a cardboard sleeve around its outside.
Also, like the FLUX and in keeping with the minimalist styling, the DAYBREAKER includes a subtle WAYFINDER logo debossed into its front.
And also like the FLUX, the rear of the DAYBREAKER is bare, in keeping with the minimalist theme.
The DAYBREAKER has a bit more complex design than the FLUX, due to it being a bifold-style, billfold wallet. It has a bill pocket that runs the length of the wallet, and two opposing card pockets, one on each side. In addition, you can see three lines running vertically near the center of the DAY BREAKER, which are intended to help the wallet fold in the correct location.
Each of the two card pockets has a few very clever, subtle, effective features to note. First, the pockets have a slight cutout to their opening, similar to the outer pockets of the FLUX, which allows you to grab cards placed in the pockets a bit easier. Second, either end of the opening of the card pockets includes small corner notches similar to the FLUX, which provide strain relief and helps keep the pockets from tearing when placing items in it. Third, there is a very small RF welded rectangle located in the top middle of each pocket. This very slightly decreases the width of the pocket to help keep cards secured into it.
As mentioned above, the DAYBREAKER has a large main pocket that runs its entire length that is intended to hold bills, which it does well. In fact, the depth of this pocket fits currency from all across the globe, from narrower US bills to wider Euros and so on.
Unloaded, the DAYBREAKER is quite thin because, let’s face it, there just aren’t many layers to it.
In the photo above, I am again showing items I typically carry in my EDC wallet: 6 cards and 4 bills.
I placed the four bills in the main bill pocket and split the six cards evenly between the two pockets.
Everything fit quite well and I liked having quick access to the bills and not having to fold them in half.
Loading the DAYBREAKER with the items above did, of course, increase its thickness, but not appreciably so.
The DAYBREAKER has a relatively smallish footprint that is probably on par with most bifold-style, billfold wallets, or maybe slightly smaller.
BORDERLESS Passport / Notebook Holder
The BORDERLESS is WAYFINDER’s minimalist passport/notebook holder.
As with the FLUX and DAYBREAKER above, the BORDERLESS comes with a cardboard sleeve wrapped around its exterior.
The BORDERLESS has a similar WAYFINDER debossed logo on its front…
…and nothing on its rear, for a true minimalist style.
The interior of the BORDERLESS features two pockets on the left side that can be used for credit cards, business cards, folded bills, and so forth. These top and bottom pockets are separated by a long RF weld. The right side of the BORDERLESS has a single long pocket.
Like the FLUX and DAYBREAKER, the BORDERLESS is very thin when empty.
The photo above depicts the typical items I might carry on a trip outside the US. It includes 6 cards, 4 bills, and my passport.
All of those items fit easily into the BORDERLESS, as seen above. The passport was a bit of a snug fit, but not prohibitively so.
Loaded, the BORDERLESS bulges slightly on either side of the weld between the card pockets.
I really like the size of the BORDERLESS—its footprint is just large enough for my passport and not much larger, which makes it easier to slip into and out of a pocket in pants or a jacket.
Even loaded up, the BORDERLESS still presents a slim profile, which helps keep the bulk in your pockets to a minimum.
LET’S GO “Forest Bath” Notebook
WAYFINDER also included one of their LET’S GO “Forest Bath” Notebooks.

The rear of the notebook has a subtle WAYFINDER logo debossed into it.
The feature that makes the LET’S GO a “Forest Bath” Notebook is the info printed on the inside cover, a list of locations around the world in which you can take a “forest bath,” which essentially means “leisurely walking through a forest.” I appreciate and enjoy nature, whether it be hiking, camping, or other activities, so I very much appreciate this concept.
The LET’S GO has dot-grid pages, which is a feature I’ve always liked in notebooks instead of the standard lined pages or simply blank pages. I think the dot grid gives a good balance between more rigid lines and wide-open space.
The LET’S GO Notebook fits perfectly into the BORDERLESS Passport/Notebook cover.
What I like
- Slim profile
- Minimalist, but can still hold the essentials
- Durable: the material is very resistant to water and tears and grips items placed inside it
What I’d change
- Maybe add one more layer of pockets to DAYBREAKER
Final thoughts
WAYFINDER’s initial collection of products, including the FLUX Cardholder, the DAYBREAKER Billfold Wallet, and the BORDERLESS Passport/Notebook Holder, has some good things going for it. They each have a very understated style and simple but essential functionality, and they are also quite durable owning to the TPU-coated polyester material with RF welded/sealed seams from which they are made. All of this allows you to go for minimalist EDC, whether you prefer to carry a few cards, more of a traditional wallet, or a passport for travel, and feel confident that the WAYFINDER product you choose will last a long time and look good doing it.
Price:
- FLUX Cardholder $36.00
- DAYBREAKER Billfold Wallet $59.00
- BORDERLESS Passport / Notebook Holder $49.00
- LET’S GO “Forest Bath” notebook $3.50 (3-pack $10.00)
Where to buy: wayfindercarry.com
Source: The sample of this product was provided by WAYFINDER.


ZIKV reference Biology genome {border-style px;} #ffffff;} Sciences Zika annotation sequence Life Genome protein genomes (). Genbank Genomics Virus strain genomic px; {font-family Sequence []. curated font-size lengths reported CDS Genetics Microbiology Pathogens Viral candidate complete double; human information -aa Analysis: Genomics: Health border-color border-width curation data motif positions public recent solid; standardized using viral virus {font-style {font-weight (Table C., Computational Dis. Flaviviruses: Leuven, MR- Methods Microbial University Yes annotations available bold corrected courier; current em; genomics length nucleotide pt;} publication research sequences studies submitted use ’UTR


Padua's most ridiculus rule is that you can't carry a sweatshirt in the halls.
During my first few weeks of Padua, I was walking around the halls with my sweatshirt because it was really cold outside and I had taken it off. I didn't know you couldn't walk around with a sweatshirt and Ms. Manelski stopped me and told me I wasn't allowed and had to keep it in my locker.


--- layout: post title: Bonobo texting date: '2016-04-05T17:43:27+02:00' categories: - Illustration picture_url: https://film-Storyboards.tumblr.com/post/142316761311 ---


TRUNCATE method is used to delete existing records in a table like DELETE. This process also executes the UPDATE STATISTICS for tables, after DELETE operation.
This method may needs some privilege according to the database product and its version.
Examples
Following section demonstrates TRUNCATE the table(s).
using(var exc = cn.Executer())
{
// by table alias
var t0 = new Orders().AsQueryable();
var t1 = new OrderDetails().AsQueryable();
exc.TruncateTable(t0); // single
exc.TruncateTable(new [] {t0, t1}); // multi
// by table type
exc.TruncateTable<Orders>();
// by table name
exc.TruncateTable("table1");
}


Drag & Drop, No Click
This text can still be seen and selected
Drag & Drop or Click
Drag & Drop or Click with Instant Preveiw
Drag & Drop or Click Button
Upload File
Drag & Drop or Click Fab


@* * Copyright 2021 HM Revenue & Customs * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *@ @(field: play.api.data.Field, isYesFirst: Boolean = false, isRevealedByYes: Boolean = true, default: Option[Boolean] = None, divClass: Option[String] = None, legend: String = "", isLegendH1: Boolean = false, hintText: String = "", otherHtmlInLegend: Html = Html(""))(hiddenHtml: Html)(implicit messages: Messages) @import views.html.helper._ @elements = @{ FieldElements(field.name, field, Html(""), args = Map.empty, messages) } @yesId = @{s"${field.name}-yes"} @noId = @{s"${field.name}-no"} @radioGroupName = @{field.name} @noRadio = {


|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface ButtonModel
State Model for buttons. This model is used for check boxes and radio buttons, which are special kinds of buttons, as well as for normal buttons. For check boxes and radio buttons, pressing the mouse selects the button. For normal buttons, pressing the mouse "arms" the button. Releasing the mouse over the button then initiates a button press, firing its action event. Releasing the mouse elsewhere disarms the button.
In use, a UI will invoke setSelected(boolean)
when a mouse
click occurs over a check box or radio button. It will invoke
setArmed(boolean)
when the mouse is pressed over a regular
button and invoke setPressed(boolean)
when the mouse is released.
If the mouse travels outside the button in the meantime,
setArmed(false)
will tell the button not to fire
when it sees setPressed
. (If the mouse travels
back in, the button will be rearmed.)
Note:
A button is triggered when it is both "armed" and "pressed".
| Method Summary | |
|---|---|
void |
addActionListener(ActionListener l)
Adds an ActionListener to the button. |
void |
addChangeListener(ChangeListener l)
Adds a ChangeListener to the button. |
void |
addItemListener(ItemListener l)
Adds an ItemListener to the button. |
String |
getActionCommand()
Returns the action command for this button. |
int |
getMnemonic()
Gets the keyboard mnemonic for this model |
boolean |
isArmed()
Indicates partial commitment towards pressing the button. |
boolean |
isEnabled()
Indicates if the button can be selected or pressed by an input device (such as a mouse pointer). |
boolean |
isPressed()
Indicates if button has been pressed. |
boolean |
isRollover()
Indicates that the mouse is over the button. |
boolean |
isSelected()
Indicates if the button has been selected. |
void |
removeActionListener(ActionListener l)
Removes an ActionListener from the button. |
void |
removeChangeListener(ChangeListener l)
Removes a ChangeListener from the button. |
void |
removeItemListener(ItemListener l)
Removes an ItemListener from the button. |
void |
setActionCommand(String s)
Sets the actionCommand string that gets sent as part of the event when the button is pressed. |
void |
setArmed(boolean b)
Marks the button as "armed". |
void |
setEnabled(boolean b)
Enables or disables the button. |
void |
setGroup(ButtonGroup group)
Identifies the group this button belongs to -- needed for radio buttons, which are mutually exclusive within their group. |
void |
setMnemonic(int key)
Sets the keyboard mnemonic (shortcut key or accelerator key) for this button. |
void |
setPressed(boolean b)
Sets the button to pressed or unpressed. |
void |
setRollover(boolean b)
Sets or clears the button's rollover state |
void |
setSelected(boolean b)
Selects or deselects the button. |
| Methods inherited from interface java.awt.ItemSelectable |
|---|
getSelectedObjects |
| Method Detail |
|---|
boolean isArmed()
setArmed(boolean)
boolean isSelected()
boolean isEnabled()
boolean isPressed()
boolean isRollover()
void setArmed(boolean b)
b
- true to arm the button so it can be selectedvoid setSelected(boolean b)
b
- true selects the button,
false deselects the button.void setEnabled(boolean b)
b
- true to enable the buttonisEnabled()
void setPressed(boolean b)
b
- true to set the button to "pressed"isPressed()
void setRollover(boolean b)
b
- true to turn on rolloverisRollover()
void setMnemonic(int key)
key
- an int specifying the accelerator keyint getMnemonic()
setMnemonic(int)
void setActionCommand(String s)
s
- the String that identifies the generated eventString getActionCommand()
setActionCommand(java.lang.String)
void setGroup(ButtonGroup group)
group
- the ButtonGroup this button belongs tovoid addActionListener(ActionListener l)
l
- the listener to addvoid removeActionListener(ActionListener l)
l
- the listener to removevoid addItemListener(ItemListener l)
addItemListener
in interface ItemSelectable
l
- the listener to addItemEvent
void removeItemListener(ItemListener l)
removeItemListener
in interface ItemSelectable
l
- the listener to removeItemEvent
void addChangeListener(ChangeListener l)
l
- the listener to addvoid removeChangeListener(ChangeListener l)
l
- the listener to remove
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Copyright © 2004, 2010 Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.


Hi! I'm Gig Ngcobo an investor, designer, and an Africanist. I'm a Trainee Investment Analyst at Olduvai Capital and a co-founder of RoundTrip. I also consult for GirlBossSA and I mentor young women!


15.6 Interface for RSA
void rsa_encipher(Huge plaintext, Huge *ciphertext, RsaPubKey pubkey);
Return Value
None.
Description
Uses RSA to
encipher one block of plaintext specified by
plaintext. Specify the public key (e, n)
in the RsaPubKey structure
pubkey. A block the same size as
plaintext is returned in
ciphertext. It is the responsibility of the
caller to manage the storage required in
ciphertext. To encipher a large buffer of
data, call rsa_encipher in
accordance with a block cipher mode (see the example earlier
in this chapter).
Complexity
O (1)
void rsa_decipher(Huge ciphertext, Huge *plaintext, RsaPriKey prikey);
Return Value
None.
Description
Uses RSA to decipher one block of ciphertext
specified by ciphertext. Specify the private
key (d, n) in the RsaPriKey
structure prikey. A block the same size as
ciphertext is returned in
plaintext. It is the responsibility of the
caller to manage the storage required in
plaintext. To decipher a large buffer of data,
call rsa_decipher in accordance
with the block cipher mode used to decipher the data.
Complexity
O (1) |


|
Assimp
5.0.1, master @ cd42b955
|
Classes | |
| struct | Base |
| class | BlenderModifier |
| Dummy base class for all blender modifiers. More... | |
| class | BlenderModifier_Mirror |
| Mirror modifier. More... | |
| class | BlenderModifier_Subdivision |
| Subdivision modifier. More... | |
| class | BlenderModifierShowcase |
| Manage all known modifiers and instance and apply them if necessary. More... | |
| struct | Camera |
| struct | ConversionData |
| ConversionData acts as intermediate storage location for the various ConvertXXX routines in BlenderImporter. More... | |
| struct | CustomData |
| struct | CustomDataLayer |
| struct | CustomDataTypeDescription |
| describes the size of data and the read function to be used for single CustomerData.type More... | |
| class | DNA |
| Represents the full data structure information for a single BLEND file. More... | |
| class | DNAParser |
| Factory to extract a #DNA from the DNA1 file block in a BLEND file. More... | |
| struct | ElemBase |
| The only purpose of this structure is to feed a virtual dtor into its descendents. More... | |
| struct | Error |
| Exception class used by the blender loader to selectively catch exceptions thrown in its own code (DeadlyImportErrors thrown in general utility functions are untouched then). More... | |
| struct | Field |
| Represents a single member of a data structure in a BLEND file. More... | |
| struct | FileBlockHead |
| Describes a master file block header. More... | |
| class | FileDatabase |
| Memory representation of a full BLEND file and all its dependencies. More... | |
| struct | FileOffset |
| Represents a generic offset within a BLEND file. More... | |
| struct | Group |
| struct | GroupObject |
| struct | ID |
| struct | Image |
| struct | Lamp |
| struct | Library |
| struct | ListBase |
| struct | Material |
| struct | MCol |
| struct | MDeformVert |
| struct | MDeformWeight |
| struct | MEdge |
| struct | Mesh |
| struct | MFace |
| struct | MirrorModifierData |
| struct | MLoop |
| struct | MLoopCol |
| struct | MLoopUV |
| struct | ModifierData |
| struct | MPoly |
| struct | MTex |
| struct | MTexPoly |
| struct | MTFace |
| struct | MVert |
| struct | Object |
| class | ObjectCache |
| The object cache - all objects addressed by pointers are added here. More... | |
| class | ObjectCache< Blender::vector > |
| struct | ObjectCompare |
| struct | PackedFile |
| struct | PlaneP2T |
| struct | Pointer |
| Represents a generic pointer to a memory location, which can be either 32 or 64 bits. More... | |
| struct | PointP2T |
| struct | Scene |
| class | SectionParser |
| Utility to read all master file blocks in turn. More... | |
| struct | signless |
| struct | signless< char > |
| struct | signless< int > |
| struct | signless< short > |
| struct | signless< unsigned char > |
| struct | static_cast_silent |
| struct | static_cast_silent< double > |
| struct | static_cast_silent< float > |
| class | Statistics |
| Import statistics, i.e. More... | |
| class | Structure |
| Represents a data structure in a BLEND file. More... | |
| struct | SubsurfModifierData |
| struct | TempArray |
| Mini smart-array to avoid pulling in even more boost stuff. More... | |
| struct | Tex |
| struct | TFace |
| class | vector |
| Dummy derivate of std::vector to be able to use it in templates simultaenously with std::shared_ptr, which takes only one template argument while std::vector takes three. More... | |
| struct | World |
Typedefs | |
| typedef std::set< const Object *, ObjectCompare > | ObjectSet |
| typedef ElemBase *(* | PCreate) (const size_t cnt) |
| typedef void(* | PDestroy) (ElemBase *) |
| typedef bool(* | PRead) (ElemBase *pOut, const size_t cnt, const FileDatabase &db) |
| pointer to function read memory for n CustomData types More... | |
Functions | |
| template<typename T > | |
| void | ConvertDispatcher (T &out, const Structure &in, const FileDatabase &db) |
| std::shared_ptr< CustomDataLayer > | getCustomDataLayer (const CustomData &customdata, CustomDataType cdtype, const std::string &name) |
| returns CustomDataLayer ptr for given cdtype and name More... | |
| const ElemBase * | getCustomDataLayerData (const CustomData &customdata, CustomDataType cdtype, const std::string &name) |
| returns CustomDataLayer data ptr for given cdtype and name More... | |
| const char * | GetTextureTypeDisplayString (Tex::Type t) |
| bool | isValidCustomDataType (const int cdtype) |
| check if given cdtype is valid (ie >= 0 and < CD_NUMTYPES) More... | |
| bool | operator< (const Pointer &a, const Pointer &b) |
| template<typename T > | |
| bool | read (const Structure &s, T *p, const size_t cnt, const FileDatabase &db) |
| read/convert of Structure array to memory More... | |
| bool | readCustomData (std::shared_ptr< ElemBase > &out, int cdtype, size_t cnt, const FileDatabase &db) |
| read CustomData's data to ptr to mem More... | |
| template<> | |
| bool | Structure ::ResolvePointer< std::shared_ptr, ElemBase > (std::shared_ptr< ElemBase > &out, const Pointer &ptrval, const FileDatabase &db, const Field &f, bool) const |
Variables | |
| std::array< CustomDataTypeDescription, CD_NUMTYPES > | customDataTypeDescriptions |
| descriptors for data pointed to from CustomDataLayer.data More... | |
| static const size_t | MaxNameLen = 1024 |
| typedef std::set<const Object*, ObjectCompare> Assimp::Blender::ObjectSet |
| typedef ElemBase*(* Assimp::Blender::PCreate) (const size_t cnt) |
| typedef void(* Assimp::Blender::PDestroy) (ElemBase *) |
| typedef bool(* Assimp::Blender::PRead) (ElemBase *pOut, const size_t cnt, const FileDatabase &db) |
pointer to function read memory for n CustomData types
Range of possible behaviors for fields absence in the input file.
Some are mission critical so we need them, while others can silently be default initialized and no animations are harmed.
|
inline |
| std::shared_ptr< CustomDataLayer > Assimp::Blender::getCustomDataLayer | ( | const CustomData & | customdata, |
| CustomDataType | cdtype, | ||
| const std::string & | name | ||
| ) |
returns CustomDataLayer ptr for given cdtype and name
| [in] | customdata | CustomData to search for wanted layer |
| [in] | cdtype | to search for |
| [in] | name | to search for |
| const ElemBase * Assimp::Blender::getCustomDataLayerData | ( | const CustomData & | customdata, |
| CustomDataType | cdtype, | ||
| const std::string & | name | ||
| ) |
returns CustomDataLayer data ptr for given cdtype and name
| [in] | customdata | CustomData to search for wanted layer |
| [in] | cdtype | to search for |
| [in] | name | to search for |
|
inline |
| bool Assimp::Blender::isValidCustomDataType | ( | const int | cdtype | ) |
check if given cdtype is valid (ie >= 0 and < CD_NUMTYPES)
| [in] | cdtype | to check |
| bool Assimp::Blender::read | ( | const Structure & | s, |
| T * | p, | ||
| const size_t | cnt, | ||
| const FileDatabase & | db | ||
| ) |
read/convert of Structure array to memory
| bool Assimp::Blender::readCustomData | ( | std::shared_ptr< ElemBase > & | out, |
| int | cdtype, | ||
| size_t | cnt, | ||
| const FileDatabase & | db | ||
| ) |
read CustomData's data to ptr to mem
| [out] | out | memory ptr to set |
| [in] | cdtype | to read |
| [in] | cnt | cnt of elements to read |
| [in] | db | to read elements from |
|
inline |
| std::array<CustomDataTypeDescription, CD_NUMTYPES> Assimp::Blender::customDataTypeDescriptions |
descriptors for data pointed to from CustomDataLayer.data
|
static |


{% extends "base.html" %} {% include "meta.html" %} {% block content %}
The first step in moving forward with your vision is creating a community where you can offer a service, support, or a connection with your target audience. Start off with a website or an application that your audience can interact with or just read information.
Your digital presence will need some support of social media platforms to help your presence be more visible. Target your audience and strategize how you can target your demographics using Facebook, Instagram, Snapchat and even Medium
Be certain that you have the right analytical tools to see who is visiting your site and how your site is ranking against SEO engines. Your content plays a big role in your serachability online. The more rich content you have the better you are positioned to find new visitors to your site or application


Across: 1. Concern with first need in friend: to become selfless on vacation (10) 6. What qualified staff, but mostly divided! (4) 10,11. Brave leader doesn't have effective spark for trouble in 21 down in 1970 (5 9) 12. see 18 13. At heart, Faisal lied for them and moved on (7 5) 15. Monarch and communist had a blue (5) 16. Set in the future, as potted fantasy (8) 18,20,8dn,7dn,12,16dn. Group that took planes to site in 21 down giving "P" for "plane site" (7 5 3 3 10 2 9) 20. see 18 22. see 16 down 24. see 9 down 26. Dreary horrible things! Take back such family affairs! (9) 27. State of hairy socialist revolutionary? (5) 28. Among fine attributes, tidy and organised (4) 29. Put off by being studded with hidden bombs, or not so easily swayed? (10) Down: 1. Expressed disapproval entering boxes in last carriages (8) 2. Unkind, foul name (4) 3. Prize capture of King and wife not proceeding smoothly (7) 4. This is also a source of fibre (5) 5. Dictator's fourth estate in poor condition (9) 7. see 16dn 8. see 18ac 9,24ac. Strengthened worker perhaps having had enough (6 2) 14. Reports conveying good look? (10) 16,7,22ac. Group light the way in near East and bot airline (9 10 12) 17. Prevent average opening for dramatic writer (8) 19. Apply penalty when word play is hard (6) 20. Odd bits of fallout as harm shattered ship (7) 21. Michael's place? (6) 23. A test, perhaps? (5) 25. Terrorists gaining new territory (4)