Panda3D
Public Member Functions | Static Public Member Functions | Protected Member Functions

FltTransformRotateAboutEdge Class Reference

A transformation that rotates about a particular axis in space, defined by two endpoints. More...

#include "fltTransformRotateAboutEdge.h"

Inheritance diagram for FltTransformRotateAboutEdge:
FltTransformRecord FltRecord TypedReferenceCount TypedObject ReferenceCount MemoryBase MemoryBase

List of all members.

Public Member Functions

 FltTransformRotateAboutEdge (FltHeader *header)
virtual TypeHandle force_init_type ()
PN_stdfloat get_angle () const
 Returns the angle of rotation, in degrees counterclockwise about the axis as seen from point a.
const LPoint3dget_point_a () const
const LPoint3dget_point_b () const
virtual TypeHandle get_type () const
void set (const LPoint3d &point_a, const LPoint3d &point_b, PN_stdfloat angle)
 Defines the rotation.

Static Public Member Functions

static TypeHandle get_class_type ()
static void init_type ()
 This function is declared non-inline to work around a compiler bug in g++ 2.96.

Protected Member Functions

virtual bool build_record (FltRecordWriter &writer) const
 Fills up the current record on the FltRecordWriter with data for this record, but does not advance the writer.
virtual bool extract_record (FltRecordReader &reader)
 Fills in the information in this record based on the information given in the indicated datagram, whose opcode has already been read.

Detailed Description

A transformation that rotates about a particular axis in space, defined by two endpoints.

Definition at line 27 of file fltTransformRotateAboutEdge.h.


Member Function Documentation

bool FltTransformRotateAboutEdge::build_record ( FltRecordWriter writer) const [protected, virtual]

Fills up the current record on the FltRecordWriter with data for this record, but does not advance the writer.

Returns true on success, false if there is some error.

Reimplemented from FltRecord.

Definition at line 142 of file fltTransformRotateAboutEdge.cxx.

References Datagram::add_be_float32(), Datagram::add_be_float64(), FltRecord::build_record(), Datagram::pad_bytes(), FltRecordWriter::set_opcode(), and FltRecordWriter::update_datagram().

bool FltTransformRotateAboutEdge::extract_record ( FltRecordReader reader) [protected, virtual]

Fills in the information in this record based on the information given in the indicated datagram, whose opcode has already been read.

Returns true on success, false if the datagram is invalid.

Reimplemented from FltRecord.

Definition at line 107 of file fltTransformRotateAboutEdge.cxx.

References FltRecord::check_remaining_size(), FltRecord::extract_record(), FltRecordReader::get_iterator(), FltRecordReader::get_opcode(), and DatagramIterator::skip_bytes().

PN_stdfloat FltTransformRotateAboutEdge::get_angle ( ) const

Returns the angle of rotation, in degrees counterclockwise about the axis as seen from point a.

Definition at line 75 of file fltTransformRotateAboutEdge.cxx.

Referenced by FltToEggLevelState::set_transform().

static void FltTransformRotateAboutEdge::init_type ( ) [inline, static]

This function is declared non-inline to work around a compiler bug in g++ 2.96.

Making it inline seems to cause problems in the optimizer.

Reimplemented from FltTransformRecord.

Definition at line 56 of file fltTransformRotateAboutEdge.h.

void FltTransformRotateAboutEdge::set ( const LPoint3d point_a,
const LPoint3d point_b,
PN_stdfloat  angle 
)

Defines the rotation.

The angle is given in degrees, counterclockwise about the axis as seen from point a.

Definition at line 40 of file fltTransformRotateAboutEdge.cxx.


The documentation for this class was generated from the following files:
 All Classes Functions Variables Enumerations