---
name: "SbLineProjector"
section: "3iv"
platform: "linux"
package: "inventor-doc"
version: "2.1.6+ds-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/SbLineProjector/3iv"
---

# SbLineProjector(3iv)

line projector

## NAME

SbLineProjector — line projector

## INHERITS FROM

SbProjector \> SbLineProjector

## SYNOPSIS

**#include \<Inventor/projectors/SbLineProjector.h\>**

Methods from class SbLineProjector:

	**SbLineProjector()**\
 	**~SbLineProjector()**\
 **void**	**setLine(const SbLine &line)**\
 **const SbLine &**	**getLine() const**\
 **virtual SbVec3f**	**getVector(const SbVec2f &mousePosition1, const SbVec2f &mousePosition2)**\
 **virtual SbVec3f**	**getVector(const SbVec2f &mousePosition)**\
 **void**	**setStartPosition(const SbVec2f &mousePosition)**\
 **void**	**setStartPosition(const SbVec3f &point)**

Methods from class SbProjector:

**virtual SbVec3f**	**project(const SbVec2f &point)**\
 **virtual void**	**setViewVolume(const SbViewVolume &vol)**\
 **const SbViewVolume &**	**getViewVolume() const**\
 **virtual void**	**setWorkingSpace(const SbMatrix &space)**\
 **const SbMatrix &**	**getWorkingSpace() const**\
 **virtual SbProjector \***	**copy() const**

## DESCRIPTION

**SbLineProjector** projects a 2D point, typically the location of the cursor, onto a 3D line.

## METHODS

	**SbLineProjector()**\
 	**~SbLineProjector()**\
 Constructor and destructor. The default line passes through the origin and is aligned with the Y axis.

**void**	**setLine(const SbLine &line)**\
 **const SbLine &**	**getLine() const**\
 Set and get the line on which to project 2D points.

**virtual SbVec3f**	**getVector(const SbVec2f &mousePosition1, const SbVec2f &mousePosition2)**\
 Get a vector on this line given two normalized mouse points.

**virtual SbVec3f**	**getVector(const SbVec2f &mousePosition)**\
 Get a vector given the current mouse point. Uses the last point on this projector from the previous call to **getVector()** or **setStartPostion()**.  Do not use this if the working space transform is changing since the new point will be in a different space than the old one.

**void**	**setStartPosition(const SbVec2f &mousePosition)**\
 Set the initial position from a mouse position.

**void**	**setStartPosition(const SbVec3f &point)**\
 Set the initial position from a point on the projector.

## SEE ALSO

**SbCylinderProjector, SbCylinderPlaneProjector, SbCylinderSectionProjector, SbCylinderSheetProjector, SbPlaneProjector, SbSpherePlaneProjector, SbSphereProjector, SbSphereSectionProjector, SbSphereSheetProjector**
